Linux, Unix에서 데이터를 읽거나 쓸 수 있는 모든 객체를 파일이라고 한다. 스토리지에 저장되는 일반 파일(반대로 특별 파일이 있음)뿐만 아니라 모든 디바이스를 파일로 취급한다.
파일을 "바이트 단위의 순차적인 스트림"으로 처리한다.
파일 디스크립터 (file descriptor)
파일 디스크립터는 파일을 입출력으로 다룰 수 있게 하고, 커널 내부 자료 구조들과의 연결 통로 역할을 하는 것이다.
open(), creat(), dup()의 리턴 값
read(), write(), fsync(), fdatasync()의 첫 번째 인자
fd[0] == stdin (STDIN_FILENO) / fd[1] == stdout (STDOUT_FILENO) / fd[2] == stderr (STDERR_FILENO)
/ fd[3] 부터는 프로세스가 파일을 오픈할 때마다 할당되는 것이다.
파일 디스크립터 테이블 (file descriptor table)
오픈한 파일의 목록은 파일 디스크립터 테이블로 관리된다.
⭐ 파일 디스크립터 테이블은 프로세스 당 하나씩 할당된다.
'HOME' 카테고리의 다른 글
[Linux] 커널 컴파일(build linux kernel) (1) (1) | 2025.05.08 |
---|---|
LinuxSP - Standard I/O Library: 함수 (0) | 2025.04.25 |
LinuxSP - Files and Directories: 함수 (0) | 2025.04.25 |
LinuxSP - Files and Directories: 개념 (0) | 2025.04.25 |
LinuxSP - FILE I/O: 함수 (0) | 2025.04.24 |