2-2. 유닉스 파일 시스템콜 : open, creat, close, read, write, lseek , dup, fcntl
open(2) 괄호 안에 (2)라고 있는 건 시스템콜을 의미함 1은 command, 2는 system call, 3은 library를 의미함 #include int open(const char *pathname, int flags, [mode_t mode]); Returns: file descriptor if OK, -1 on error open 시스템콜을 사용하기 위해서는 /usr/include/fcntl.h 헤더파일을 반드시 include 해야함 첫번째 인자로는 relative 또는 absolute pathname이 들어감 char*는 문자열임 세번째 인자는 옵션임 두번째 인자 flag는 read only, wrtie only, read write 이런 내용이 들어감 보통 바이너리 값으로 되어 있음 ..
2-1. 유닉스 파일, 파일시스템
유닉스는 파일에 대해서 파일의 기능을 심플하게 함 파일 파일은 데이터를 포함하는 컨테이너라고 정의함 파일은 연속된 바이트의 시퀀스라고 정의함 파일에는 어떤 포멧도 정해져있지 않음 (메인프레임의 경우 파일의 종류가 많았음 isam, random, vsam file, 등 파일의 종류에 따라 엑세스하는 API가 모두 다르고, 이를 OS가 다 정의해서 굉장히 무거웠음) 모든 바이트는 디스크 파일에서 바이트 하나하나 주소를 지정함, 다이렉트 랜덤 파일이 된다는 말임 파일에 관한 인터페이스를 다 uniform 하게 통일시킴 심지어는 외부의 디바이스 파일, 디스크 파일, 키보드, 유에스비, 마그네틱 테이프 등 모두 파일로 간주 모든 디바이스의 인터페이스를 다 통일함 파일 시스템 컴퓨터 파일과 데이터를 organzin..