CS 상식 - 운영체제

[CS 상식 - 운영체제] 파일 시스템

beginner-in-coding 2025. 2. 26. 17:55

* 파일 시스템: 보조기억장치에 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램 *


01. 파티셔닝과 포매팅

  • 보조기억장치에 곧바로 파일을 생성하거나 저장할 수 없음
    • 파티셔닝 (partitioning): 파티션을 나누는 작업
      • 의미: 저장 장치의 논리적인 영역을 구획하는 작업
      • 파티션 (partition): 파티셔닝 작업을 통해 나눠진 영역 하나하나
    • 포맷팅: 포맷 작업
      • 의미: 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정, 새로운 데이터를 쓸 준비를 하는 작업
      • 포맷팅의 종류: 저수준 포매팅 (물리적인 포매팅), 논리적 포매팅 (파일 시스템을 생성하는 포캐팅)

02. 파일 할당 방법

  • 블록 (block): 운영체제가 파일과 디렉토리를 읽는 단위
  • 파일을 보조기억장치에 할당하는 두 가지 방법
    • 연속 할당 (contiguous allocation): 보조기억장치 내 연속적인 블록에 파일을 할당하는 방식
      • 장점: 구현하기 단순
      • 단점: 외부 단편화 문제 발생
    • 불연속 할당
      • 연결 할당
        • 블록이 다음 블록을 가리키는 (주소)
        • 장점: 외부 단편화 문제 발생
        • 단점
          1. 반드시 첫 번째 블록부터 하나씩 차례대로 읽어야 함
          2. 하드웨어 고장이나 오류 발생 시 해당 블록 이후 블록은 접근할 수 없음
      • 색인 할당 (indexed allocation)
        • 색인 블록(indexed block): 파일의 모든 블록 주소를 관리하는 단위
        • 디렉터리 엔트리에 파일 이름과 색인 블록 주소를 명시