파일 디스크립터

 

파일을 관리하기 위해 운영체제가 필요로 하는 파일의 정보를 가지고 있는 것이다. FCB라고 함.

FCB - File Control Block 이라고 하며 FCB에는 다음과 같은 정보들이 저장되어 있다.

 

파일 이름

보조기억장치에서의 파일 위치

파일 구조 : 순차파일, 색인 순차 파일, 색인 파일

액세스 제어정보

파일 유형

생성 날짜와 시간, 제거 날짜와 시간

최종 수정 날짜 및 시간

액세스한 횟수

 

결론은 파일디스크립터란 운영체제가 만든 파일 또는 소켓의 지칭을 편히 하기 위해서 부여된 숫자이다.

※파일디스크립터를 파일핸들이라고도 하는데, 핸들이라는 표현은 윈도우에서 사용되는 용어임.

기본적으로 파일 디스크립터는 정수형으로 차례로 넘버링 되고 0,1,2는 이미 할당되어 있어서 3부터 파일 디스크립터를 부여한다.

 

 

 

ex)

파일 입출력이나, 소켓에서 파일 디스크립터가 차례로 넘버링됨.

 

#include<stdio.h>
#include<sys/socket.h>
#include<fcntl.h>    //O_CREAT가 선언되있는 라이브러리

int main()
{
        int fd1,fd2,fd3;


        fd1 = socket(PF_INET,SOCK_STREAM,0);
        fd2 = open("test.txt",O_CREAT);
        fd3 = socket(PF_INET,SOCK_DGRAM,0);

 

        printf("file descriptor : %d\n",fd1);
        printf("file descriptor : %d\n",fd2);
        printf("file descriprot : %d\n",fd3);

 

        close(fd1); close(fd2); close(fd3);

 

        return 0;
}

 

'O.S' 카테고리의 다른 글

Synchronization Hardware  (0) 2012.04.27
Semaphore  (0) 2012.04.27
공유메모리 함수 - shmget , shmat , shmdt  (2) 2012.04.23
Process Scheduling - Multilevel Queue scheduling,Multilevel feedback Queue Scheduling  (0) 2012.04.22
Process Scheduling  (0) 2012.04.19

+ Recent posts