OS가 파일이나 기타 입/출력 리소스에 액세스하는데 사용되는 인덱스 번호.
0 : 표준 입력
1 : 표준 출력
2 : 표준 에러
파일 오픈시 부여되는 FD는 3부터 시작.
시스템 콜 open은 FD값을 반환
단순히 함수가 아닌 여러가지 일이 생깁니다.
pathname : 파일의 경로를 지정하는 문자열
flags
mode 파일의 접근 권한을 받는다
성공하면 0을 반환하고 실패하면 -1을 반환합니다.
오픈하지 않은 파일에 대해서는 FD가 존재하지 않습니다. 오픈 하든 오픈하지 않든 파일을 구분하기 위해 id를 사용하고 FD는 오픈한 파일들을 구분하기 위해 사용합니다.
write() 함수는 파일 디스크립터를 이용하여 파일에 데이터를 쓰는 시스템 콜입니다
write() 함수는 파일에 데이터를 쓰는데 성공하면 쓰여진 데이터의 크기를 반환하고, 실패하면 -1을 반환합니다. 반환값의 자료형은 ssize_t입니다.
ssize_t는 부호 있는 정수형으로, 시스템에서 제공하는 데이터 타입입니다. ssize_t는 size_t와 비슷하지만, size_t가 부호 없는 정수형이고 ssize_t는 부호 있는 정수형이라는 점이 다릅니다. ssize_t는 시스템에 따라 크기가 다를 수 있습니다.
read() 함수는 파일에서 데이터를 읽는데 성공하면 읽은 데이터의 크기를 반환하고, 실패하면 -1을 반환합니다.
read() 함수도 write() 함수와 마찬가지로 ssize_t 자료형을 사용합니다. read() 함수는 파일에서 읽은 데이터를 buf 포인터가 가리키는 버퍼에 저장합니다. read() 함수는 파일의 끝에 도달하면 0을 반환합니다.