System/System Programming

    1. 파일 열기 - open(), creat()

    개요 유닉스 기반 시스템에서는 거의 모든 것을 파일로 표현하다. 그러므로 파일을 읽고, 쓰고, 삭제하고, 생성하고... 하는 모든 파일 다루기는 아주 중요하다. [Linux System Programming] 시리즈의 포스팅의 첫 번째는 파일 입출력에 대해서 써보려 한다. 파일은 읽거나 쓰기 전이 반드시 열어야 한다. 이 열린 파일들은 파일 테이블이라는 목록이 있는데, 이곳에 프로세스별로 열린 파일들을 기록한다. 파일 테이블은 커널에 의해 관리된다. 파일 테이블은 파일 디스크립터(File Descripter, fd)라는 정수 값으로 인덱싱된다. 파일 테이블의 각 항목은 열린 파일에 대한 정보를 담고 있으며, 여기에는 메모리에 복사된 inode를 가리키는 포인터, 파일 위치와 접근 모드 등과 같은 각종 메..