파일 디스크립터

oneju·2023년 5월 24일
0

Study

목록 보기
8/9

파일 디스크립터 ( File Descriptor )

: 숫자 식별자 (프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스)

시스템에서 할당받은 파일을 대표하는 정수 값으로 운영체제 수준에서의 파일정보가 담겨있다.

유닉스 시스템에서는 모든 것이 파일! 프로세스에서 그 파일들을 접근하기 위해서 FD (파일 디스크립터) 라는 개념을 사용한다

프로세스 “파일 OPEN” → 커널 fd(사용하지 않은(가장 작은값))) 할당 → 열려있는 파일에 시스템콜을 통해 접근할 때 FD 값으로 파일 지칭

FD table : FD 플래그(파일의 접근 권한 같은)와 파일 테이블로의 포인터로 구성되어있다. 때문에 FD 를 이용해서 포인터를 통해 파일로 접근할 수 있다.

FD : FD table의 인덱스

0,1,2 에는 stdin, stdout, stderr가 저장되어있어서 3번부터 사용하는게 일반적이다. 아니면 에러가 날 가능성이 높기 때문에 사용하지 않는다.

→ [참조 블로그] 파일 디스크립터(File Descriptor)란?

dup / dup2

Duplication : 복제

dup 함수에 FD를 넣으면 FDtable에서 빈 공간을 찾아 플래그와 포인터를 넣어준다.

dup2 함수도 유사하지만 복사할 FD와 넣을 FD를 인자로 지정해 준다.

profile
hello, world

0개의 댓글