File System(파일 시스템)
파일 시스템은 파일과 디렉터리를 보조기억장치에 적절하게 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램이다. 다양한 종류가 존재하고, 하나의 운영체제에서 여러 파일 시스템을 사용할 수 있다.
보조기억장치와 파일 시스템
보조기억장치를 사용하기 위해서는 파티션을 나누는 작업(=파티셔닝)과 포맷 작업(포매팅)을 거쳐야 한다.
파티셔닝(Partitioning)
보조기억장치를 논리적으로 나눠 파티션으로 만드는 것
파일시스템에서 보조기억장치에 접근하기 위해서는 먼저 파티셔닝을 해야한다.
포매팅(formatting)
파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할지 결정하여 새로운 데이터를 쓸 준비하는 작업
어떤 종류의 파일 시스템이 사용될지는 포매팅 과정에서 정하게 된다.
파티셔닝과 포매팅을 거치고 나면 운영체제에서 파일 시스템을 이용하여 보조기억장치에 접근할 수 있게 된다.
파일 할당 방법
하드디스크에선 가장 작은 단위인 섹터도 존재하지만, 파일 시스템이 섹터로 관리하기엔 너무 많고 작기 때문에 파일과 디렉터리를 블록(block) 단위로 읽고 쓰게 된다. 파일을 보조기억장치에 할당하는 방법은 아래의 분류로 나눌 수 있다.
연속 할당(contiguous allocation)
파일을 하나의 연속된 공간에 저장하는 방법
파일의 크기가 커지면 연속된 공간을 찾기 어려워 외부 단편화가 발생
연결 할당(linked allocation)
파일을 여러 블록에 나누어 저장하는 방법
각 블록 일부에 다음 블록의 주소를 저장하여 각 블록이 다음 블록을 가리키는 형태로 할당
외부 단편화 문제는 해결하였지만, 반드시 첫 번째 블록부터 하나씩 차례대로 읽어햐 하므로 임의 접근 속도 저하
색인 할당(indexed allocation)
파일을 여러 블록에 나누어 저장하는 방법
파일의 모든 블록 주소를 색인 블록이라는 하나의 블록에 모아 관리
색인 블록만 알면 파일 데이터에 접근 가능(때문에 파일 시스템에서 디렉터리 엔트리에 색인 블록 주소 명시)
참고자료
Last updated
Was this helpful?