C & C++

[C] file discriptor (파일 디스크립터)

  • -
728x90

파일 디스크립터란?

리눅스와 유닉스에서는 시스템을 전부 파일로 처리하여 관리한다. (하드웨어 등 모든 장치도 포함)

시스템에서 프로세스가 파일에 접근하기 위한 방법으로 파일 디스크립터(FIle Descriptor)라는 핸들이 필요하다.

 

해당 파일을 open할때( 해당파일에 접근할 때 ) 파일 디스크립터는 0부터 N까지 즉, 음수가 아닌 0부터 차례대로 숫자를 부여받으며,

0, 1, 2는 프로세스가 메모리에서 실행을 시작할때 기본적으로 할당되는 파일 디스크립터이다.

 

특정한 파일에 접근하기 위한 추상적인 키이다. 일반적으로 POSIX 운영체제에 쓰인다.

POSIX에서 파일 디스크립터는 정수이다.

표준 POSIX 파일 서술자

  • 0 : 표준 입력(stdin)
  • 1 : 표준 출력(stdout)
  • 2 : 표준 오류(stderr)

위키 백과 : https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%84%9C%EC%88%A0%EC%9E%90

 

그러므로 우리가 생성하는 파일 디스크립터들은 3번 부터 차례대로 할당받게된다.

쉽게 생각하면, 파일 디스크립터는 파일을 다루기 위해서 해당파일의 주소를 참조하여 접근하는 형태라고 생각하면 된다.

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.