PintOS의 File descriptor table의 고찰
1. 목표
- 유저와 커널 사이의 File descriptor table을 알아보자
2. 주제선정 계기
- 유저의 여러 시스템콜 마다 File descriptor table이 어떻게 사용되는지에 대한 의구심
3. 기본 개념
- fd는 fd table의 인덱스 번호 이다.
- 기본적인 고정 값은 다음과 같다.
- 표준 입력(Standard Input) : File Descriptor 0
- 표준 출력(Standard Output) : File Descriptor 1
- 표준 에러 출력(Standard Error) : File Descriptor 2
- 이후 오픈 또는 소켓생성 시 fd 중 사용하지 않는 가장 작은 3번부터 할당
4. 흐름도
- 큰그림
- open(file_name)
- write(fd, buffer, size)
- read(fd, buffer, size)
- close(fd)
- 그림 1
- exec(file_name)
- 그림 2
5. 결론
- F D table은 유저가 파일의 I/O를 쉽고 정확하게 하기 위한 수단