File System(파일 시스템)

파일 시스템은 파일과 디렉터리를 보조기억장치에 적절하게 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램이다. 다양한 종류가 존재하고, 하나의 운영체제에서 여러 파일 시스템을 사용할 수 있다.

보조기억장치와 파일 시스템

보조기억장치를 사용하기 위해서는 파티션을 나누는 작업(=파티셔닝)과 포맷 작업(포매팅)을 거쳐야 한다.

  • 파티셔닝(Partitioning)

    • 보조기억장치를 논리적으로 나눠 파티션으로 만드는 것

    • 파일시스템에서 보조기억장치에 접근하기 위해서는 먼저 파티셔닝을 해야한다.

  • 포매팅(formatting)

    • 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할지 결정하여 새로운 데이터를 쓸 준비하는 작업

    • 어떤 종류의 파일 시스템이 사용될지는 포매팅 과정에서 정하게 된다.

파티셔닝과 포매팅을 거치고 나면 운영체제에서 파일 시스템을 이용하여 보조기억장치에 접근할 수 있게 된다.

파일 할당 방법

하드디스크에선 가장 작은 단위인 섹터도 존재하지만, 파일 시스템이 섹터로 관리하기엔 너무 많고 작기 때문에 파일과 디렉터리를 블록(block) 단위로 읽고 쓰게 된다. 파일을 보조기억장치에 할당하는 방법은 아래의 분류로 나눌 수 있다.

파일 할당
├── 연속 할당
└── 불연속 할당
    ├── 연결 할당
    └── 색인 할당
  1. 연속 할당(contiguous allocation)

    • 파일을 하나의 연속된 공간에 저장하는 방법

    • 파일의 크기가 커지면 연속된 공간을 찾기 어려워 외부 단편화가 발생

  2. 연결 할당(linked allocation)

    • 파일을 여러 블록에 나누어 저장하는 방법

    • 각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당

    • 외부 단편화 문제는 해결하였지만, 반드시 첫 번째 블록부터 하나씩 차례대로 읽어햐 하므로 임의 접근 속도 저하

  3. 색인 할당(indexed allocation)

    • 파일을 여러 블록에 나누어 저장하는 방법

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

    • 색인 블록만 알면 파일 데이터에 접근 가능(때문에 파일 시스템에서 디렉터리 엔트리에 색인 블록 주소 명시)

참고자료

Last updated

Was this helpful?