← 질문 목록
#320깊이 0

파일 디스크립터 3은 무엇을 가리키는가?

운영체제심화

숫자 하나가 파일을 직접 가리키지 않는다. 표를 몇 겹 지나야 닿는다. 일반 파일이면 아래처럼 세 겹이고, 소켓이나 파이프면 마지막 겹이 다르다.

  • 프로세스별 표

    3번 칸에 화살표가 있다

    • 열린 파일 표

      어디까지 읽었는지와 열 때 준 옵션

      • 아이노드

        실제 파일. 크기와 블록 위치

가운데 표가 있는 이유는 같은 파일을 두 번 열면 읽는 위치가 따로여야 하기 때문이다. 각자 자기 자리를 기억한다.

dup으로 복제하면 다르다. 새 번호가 생기지만 가운데 표의 같은 칸을 가리킨다. 그래서 한쪽에서 읽으면 다른 쪽 위치도 함께 움직인다.

2>&1이 되는 것도 이 구조 덕이다. 2번 칸이 1번 칸과 같은 곳을 보게 만드는 일이다.

0, 1, 2도 먼저 열린 파일 디스크립터일 뿐이다. 그냥 먼저 열려 있을 뿐이고 닫으면 다음 열기가 그 번호를 받는다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

파일 디스크립터 3은 무엇을 가리키는가?