파일 디스크립터

IT 위키
File Descriptor; FD; 파일 서술자
운영체제가 파일을 관리하기 위해 필요한 정보를 담아 두는 제어 블록

FCB(File Control Block)라고도 한다.

  • 파일마다 독립적으로 존재한다
  • 시스템에 따라 구조가 다를 수 있다
  • 평소에는 보조기억장치에 저장되어 있다가, 해당 파일이 열릴(Open) 때 주기억장치로 옮겨진다
  • 사용자가 직접 참조할 수 없다. 운영체제가 관리하는 자료구조이며, 사용자는 시스템 호출을 통해 간접적으로만 다룬다

담는 정보

[편집 | 원본 편집]
  • 파일 이름, 파일 유형(정규 파일·디렉터리·장치 등)
  • 파일 구조(순차·색인·직접)
  • 파일 크기와 레코드 수
  • 보조기억장치에서의 위치(디스크 블록 주소)
  • 액세스 제어 정보(권한)
  • 생성·수정·접근 시각
  • 파일이 열린 횟수

파일 작성자(소유자 이름)는 포함되지 않는다. 소유자는 UID 같은 식별자로 관리되며, 시험에서는 "포함되지 않는 것"으로 출제된다.

유닉스의 파일 디스크립터 번호

[편집 | 원본 편집]

유닉스·리눅스에서는 프로세스가 연 파일을 가리키는 작은 정수도 파일 디스크립터라 부른다.

번호 이름 장치
0 표준 입력(stdin) 키보드
1 표준 출력(stdout) 모니터
2 표준 오류(stderr) 모니터

새로 파일을 열면 3번부터 차례로 배정된다. 셸의 리다이렉션(`2>&1`)이 이 번호를 쓰는 것이다.

같이 보기

[편집 | 원본 편집]