본문 바로가기
HOME

LinuxSP - FILE I/O: 개념

by mingnei__ 2025. 4. 24.

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)

오픈한 파일의 목록은 파일 디스크립터 테이블로 관리된다.

⭐ 파일 디스크립터 테이블은 프로세스 당 하나씩 할당된다.