마지막 챕터인 파일 시스템입니다.
- 하드디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합
- 여러 속성(메타데이터)가 있음
- 운영체제는 파일 생성, 삭제, 열기, 닫기, 읽기, 쓰기를 위해 시스템 호출을 제공
- 파일들을 일목요연하게 관리
- 특별한 형태의 파일
- 디렉터리 엔트리에는 디렉터리에 포함된 대상의 이름과 보조기억장치 내의 저장된 위치를 유추할 수 있는 정보가 담김
파일과 디렉터리를 보조기억장치에 일목요연하게 저장하고 접근할 수 있게 하는 운영체제 내부 프로그램
- 저장 장치의 논리적인 영역을 구획하는 작업
- 나누어진 영역을 파티션이라고 함
- 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정하고, 새로운 데이터를 쓸 준비를 하는 작업
- 저장 장치를 삭제하는 것만이 아님
- 새 보조기억장치에 파티셔닝과 포매팅을 해야 파일을 생성하고 저장할 수 있음
운영체제는 파일을 블록 단위로 읽고 씁니다. 즉 한 파일이 보조기억장치에 저장될 때 하나 이상의 블록에 걸쳐 저장됩니다.
하나 이상의 섹터(하드디스크의 가장 작은 단위)를 블록이라는 단위로 묶습니다.
- 보조기억장치 내 연속적인 블록에 파일을 할당하는 방식
- 구현이 단순하지만 외부 단편화를 야기할 수 있음
- 각 블록 일부에 다음 블록의 주소를 저장
- 첫 블록부터 차례대로 읽기 때문에 파일 내 임의 접근 속도가 매우 느림
- 파일을 이루는 블록에 하나라도 문제가 발생하면 그 이후 블록에 접근할 수 없음
- 파일의 모든 주소를 색인 블록이라는 하나의 블록에 모아 관리
- 색인 할당을 사용하는 파일 시스템은 디렉터리 엔트리에 파일 이름과 색인 블록 주소를 명시
- 연결 할당의 단점(블록 안에 다름 블록의 주소 저장)을 보완한 파일 시스템
- 각 블록에 포함된 다음 블록의 주소들을 한데 모아 테이블 형태로 관리하는데 이 테이블을 파일 할당 테이블(FAT)이라고 함
- FAT는 하드 디스크 파티션의 앞부분에 만들어지지만, 메모리에 캐시될 수 있어 속도가 빨라질 수 있음
- 색인 할당 기반으로 색인 블록을 i(index)-node라고 함
- i-node는 파일마다 있으며, 파일 속성 정보와 15개의 블록 주소가 저장될 수 있음
- 15개 블록 주소 중 처음 12개만 파일 데이터가 저장된 블록(직접 블록)주소가 명시되고, 부족하면 13~15번째에는 블록 주소가 저장된 간접 블록의 주소를 저장
파일 시스템을 변경하는 도중에 치명적 오류로 인해 컴퓨터가 강제로 종료되어 버리면 파일 시스템이 훼손될 수 있습니다.
이전까지는 부팅 직후 파일 시스템을 검사하고 복구하는 프로그램을 실행시키는데 시간이 매우 오래 걸렸습니다. 그래서 저널링 기법이 등장했습니다.
- 1. 작업 직전 파티션의 로그 영역에 수행하는 작업(변경 사항)에 대한 로그를 남김
- 2. 로그를 남긴 후 작업 수행
- 3. 작업이 끝나면 로그 삭제
파일 시스템 전체를 검사할 필요 없이 로그영역에 남긴 로그만 검사해도 됩니다.