: 리눅스/유닉스 계열의 시스템에서는 정규 파일 뿐 아니라 디렉토리, 소켓 및 하드웨어 장치 등 모든 객체들은 파일(File)로써 관리 된다.
즉, 파일 디스크립터는 프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스를 의미하며, 특정 파일에 접근하기 위해 파일 디스크립터가 필요하다. (즉, 파일을 다루기 위해서 해당 파일의 주소를 참조하여 접근하는 형태)
: 파일 디스크립터는 'Non negative integer'값으로, 0과 양의 정수 값을 갖는다. (0, 1, 2, 3 ...)
: 프로세스 실행 중 파일을 open하면, 해당 프로세스의 파일 디스크립터 숫자 중 사용하지 않은 가장 작은 값을 할당해준다. (순차적으로)
기본적으로 할당받는 파일 디스크립터
0번 : 표준 입력(Standard Input)
1번 : 표준 출력(Standard Output)
2번 : 표준 에러(Standard Error)
위와 같이 기본적으로 할당 받는 값들이 있기 때문에, 우리가 생성하는 파일 디스크립터들은 3번부터 차례대로 할당 된다.