y0u_bat

fd -파일 디스크럽터 본문

OS/Linux

fd -파일 디스크럽터

유뱃 2015. 7. 24. 07:01


정의: 컴퓨터 프로그래밍에서 파일 디스크럽터란 파일에 접근하기 위해 추상화 시켜놓은 장치를 이야기함

윈도우의 핸들과 파일 디스크럽터는 같은 의미 이다.


리눅스는 모든장치를 파일로 관리하기 때문에 파일디스크럽터를 이용해 장치에 접근 할 수 있게된다.

일반파일뿐만 아니라 외부장치도 파일로 취급한다.


커널은 프로세스 단위로 열린 파일 목록을 담아 둘 수 있는 테이블을 관리하는데, 파일 디스크럽터가 이테이블에 등록되어 관리되고 있음


테이블에 새로운 디스크럽터를 등록하게 되면 파일디스크럽터는 0부터 순차적으로 1만큼 자동으로 등록됨


기본적으로 파일 디스크럽터는 0,1,2 번호는 이미 예약되어 있는 번호이다.


-1 -> 오류

0 -> stdin(표준입력) : 키보드

1  -> stdout(표준출력) : 모니터

2 -> stderr(표준에러) : 모니터  


만약 프로세스를 실행할때 open함수로 파일을 열었을때 그 파일의 파일디스크럽터는 0 1 2 다음인 3번을 부여받는다.


파일 디스크럽터는 주로 시스템 콜에 사용된다.


Comments