스터디 - 파일시스템

정상화·2023년 5월 17일
0

스터디

목록 보기
10/10

파일

  • 데이터를 담는 컨테이너
  • UNIX에서 OS는 파일을 그저 바이트덩어리로 취급한다.
  • 각 바이트들은 디스크파일에 개별적으로 주소를 가진다.
  • 외부 디바이스조차 파일로 간주된다.

파일 시스템

  • 컴퓨터파일과 데이터를 조직하고 저장하기 위한 방법
  • 파일에 조회와 접근을 용이하게 해준다.

파일시스템의 구조


파일디스크립터

  • 커널에서 모든 열려있는 파일은 파일디스크립터(지시자)에 의해 가리켜진다.
  • 파일 디스크립터는 음이아닌 정수이다.
  • 새로운 파일을 열 때, 쓰이지 않는 가장 작은 정수가 파일디스크립터로 지정된다.

파일의 공유

  • 모든 프로세스는 커널의 프로세스 테이블에 엔트리를 가진다. 각 프로세스 테이블 엔트리는 열려있는 파일디스크립터에 대한 테이블을 가진다.

  • 모든 파일테이블의 엔트리는 다음의 정보를 가진다.

    	- 열려있는 파일의 상태플래그(read, write, ...)
    	- 현재 열려있는 파일의 오프셋
    	- 파일에 대한 v노드 테이블에 대한 포인터
  1. a.out이라는 프로세스가 파일을 연 상황


  2. b.out이라는 프로세스가 a.out와 동일한 파일을 연 상황



    파일을 유일 하게 가리키는 vnode가 있고 파일디스크립터는 프로세스에서 vnode를 바라보는 창문과 같다. 자바의 객체와 참조변수의 관계와 비슷하다고 생각하면 될 듯
profile
백엔드 희망

0개의 댓글