[혼공학습단 9기] 혼공컴운 6주차 챕터15 : 파일 시스템 + 미션

낙원·2023년 2월 18일
0
post-thumbnail

파일과 디렉터리

파일

  • 보조기억장치에 저장된 관련 정보의 집합
  • 의미 있고 관련 있는 정보를 모은 논리적 단위
  • 파일은 파일을 실행하기 위한 정보 + 부가 정보(속성, 메타 데이터)로 이루어진다.

파일의 속성과 유형

파일 연산을 위한 시스템 호출

  • 생성, 삭제, 열기, 닫기 쓰기, 읽기 등

디렉터리 (폴더)

  • 1단계 디렉터리
    모든 파일이 하나의 디렉터리 아래에 있다.

  • 트리 구조 디렉터리
    여러 계층으로 파일 및 폴더를 관리하는 트리 구조 디렉터리
    최상위 디렉터리가 있고 그 아래에 여러 서브 디렉터리가 있다.
    최상위 디렉터리는 루트 디렉터리라고 부르고 슬래시(/)로 표현한다.

  • 경로 : 디렉터리를 이용해 파일 위치, 나아가 파일 이름을 특정 짓는 정보

절대 경로와 상대 경로

같은 디렉터리에는 동일한 이름 파일 불가
다른 디렉터리에는 동일한 이름의 파일 존재 가능

디렉터리 연산을 위한 시스템 호출

  • 생성, 삭제, 열기, 닫기, 읽기 등

디렉터리 엔트리

  • 많은 운영체제에서 디렉터리를 특별한 형태의 파일로 간주
    즉, 디렉터리는 포함된 정보가 조금 특별한 파일이다.
  • 파일 내부에는 파일과 관련된 정보를 담고 있다면,
    디렉터리는 내부에는 담겨 있는 대상과 관련된 정보가 담겨 있다.
    이 정보는 보통 테이블(표) 형태로 구성

  • 각 엔트리(행)에 담기는 정보

    • 디렉터리에 포함된 대상의 이름
    • 그 대상이 보조기억장치 내에 저장된 위치를 유추할 수 있는 정보
  • 디렉터리 엔트리에 파일 속성을 명시하는 경우도 있다.
    ..은 상위 디렉터리, .은 현재 디렉터리

파일 시스템

  • 파일과 디렉터리를 보조기억장치에 일목요연하게 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램

파티셔닝과 포매팅

  • 파티셔닝
    저장 장치의 논리적인 영역을 구획하는 작업
    나누어진 영역 하나하나를 파티션이라고 한다.
  • 포매팅
    파일 시스템을 설정
    어떤 방식으로 파일을 관리할지 결정, 새로운 데이터 쓸 준비하는 작업

파일 할당 방법

  • 운영체제는 파일 / 디렉터리를 블록 단위로 읽고 쓴다.
    하나의 파일이 보조기억장치에 저장될 때는 여러 블록에 걸쳐 저장

연속 할당

  • 보조기억장치 내 연속적인 블록에 파일 할당하는 방식

  • 파일에 접근하기 위해 파일의 첫 번째 블록 주소와 블록 단위의 길이만 알면 된다.

  • 디렉터리 엔트리 : 파일 이름 & 첫 번째 블록 주소 & 블록 단위 길이 명시

  • 구현이 단순하지만 외부 단편화를 야기한다는 문제가 있다.
    그렇기에 불연속 할당 방식이 많이 사용된다.

불연속 할당 - 연결 할당

  • 각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당하는 방식
  • 파일을 이루는 데이터 블록을 연결리스트로 관리
  • 불연속 할당이기에 파일이 여러 블록에 흩어져 저장되어도 무방하다.
  • 디렉터리 엔트리 : 파일 이름 & 첫 번째 블록 주소 & 블록 단위의 길이

  • 외부 단편화 문제를 해결하지만 단점이 존재한다.

    1. 반드시 첫 번째 블록부터 하나씩 차례대로 읽어야 한다.
      파일 내 임의의 위치에 접근하는 속도, 임의 접근 속도가 느리다.
    2. 하드웨어 고장, 오류 발생 시 해당 블록 이후 블록은 접근 불가능

불연속 할당 - 색인 할당

  • 파일의 모든 블록 주소를 색인 블록이라는 하나의 블록에 모아 관리하는 방식

  • 파일 내 임의의 위치에 접근하기 용이

  • 디렉터리 엔트리 : 파일 이름 & 색인 블록 주소

파일 시스템 살펴보기

FAT 파일 시스템

  • 연결 할당의 단점을 보완한 방식

  • 각 블록에 포함된 다음 블록 주소를 한데 모아 테이블(FAT)로 관리

  • FAT가 메모리에 캐시될 경우 임의 접근 속도 개선 가능

  • 디렉터리 엔트리 : 파일 이름 & 파일의 첫 번째 블록 주소

  • FAT 파일 시스템의 파티션 모습

유닉스 파일 시스템

  • 색인 할당 기반 파일 시스템

  • 색인 블록을 i-node 라고 부른다.
    파일의 속성 정보와 15개의 블록 주소 저장 가능

  • 15개의 블록 주소보다 큰 파일은 어떻게 저장할까??

  1. 블록 주소 중 12개에는 직접 블록 주소 저장
    직접 블록 : 파일 데이터가 저장된 블록

  2. 1번으로 충분하지 않다면 13번째 주소에 단일 간접 블록 주소 저장
    단일 간접 블록 : 파일 데이터를 저장한 블록 주소가 저장된 블록

  3. 2번으로 충분하지 않다면 14번째 주소에 이중 간접 블록 주소 저장
    이중 간접 블록 : 단일 간접 블록들의 주소를 저장하는 블록

  4. 3번으로 충분하지 않다면 15번째 주소에 삼중 간접 블록 주소 저장
    삼중 간접 블록 : 이중 간접 블록들의 주소를 저장하는 블록

  • 유닉스 파일 시스템의 디렉터리 엔트리

미션

p. 400의 확인 문제 1번 풀고 인증하기

1 : 최초적합
2 : 최악적합
3 : 최적적합

Ch.14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2414523423' 일 때 FIFO, 최적 페이지, LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기

각각 4번, 2번, 4번의 페이지 폴트가 발생한다.

0개의 댓글