혼자 공부하는 운영체제 읽고 면접 준비 - 파일 시스템(23.2.15)

피아노과 개발자도전?·2023년 2월 15일
0

Today I learned

목록 보기
62/75
post-custom-banner

마지막 챕터인 파일 시스템입니다.





파일

  • 하드디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합
  • 여러 속성(메타데이터)가 있음
  • 운영체제는 파일 생성, 삭제, 열기, 닫기, 읽기, 쓰기를 위해 시스템 호출을 제공


디렉토리

  • 파일들을 일목요연하게 관리
  • 특별한 형태의 파일
  • 디렉터리 엔트리에는 디렉터리에 포함된 대상의 이름과 보조기억장치 내의 저장된 위치를 유추할 수 있는 정보가 담김




파일 시스템

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


파티셔닝

  • 저장 장치의 논리적인 영역을 구획하는 작업
  • 나누어진 영역을 파티션이라고 함

포매팅

  • 파일 시스템을 설정하여 어떤 방식으로 파일을 저장하고 관리할 것인지 결정하고, 새로운 데이터를 쓸 준비를 하는 작업
  • 저장 장치를 삭제하는 것만이 아님
  • 새 보조기억장치에 파티셔닝과 포매팅을 해야 파일을 생성하고 저장할 수 있음





파일 할당 방법

운영체제는 파일을 블록 단위로 읽고 씁니다. 즉 한 파일이 보조기억장치에 저장될 때 하나 이상의 블록에 걸쳐 저장됩니다.

하나 이상의 섹터(하드디스크의 가장 작은 단위)를 블록이라는 단위로 묶습니다.


1. 연속 할당

  • 보조기억장치 내 연속적인 블록에 파일을 할당하는 방식
  • 구현이 단순하지만 외부 단편화를 야기할 수 있음

2. 연결 할당

  • 각 블록 일부에 다음 블록의 주소를 저장
  • 첫 블록부터 차례대로 읽기 때문에 파일 내 임의 접근 속도가 매우 느림
  • 파일을 이루는 블록에 하나라도 문제가 발생하면 그 이후 블록에 접근할 수 없음

3. 색인 할당

  • 파일의 모든 주소를 색인 블록이라는 하나의 블록에 모아 관리
  • 색인 할당을 사용하는 파일 시스템은 디렉터리 엔트리에 파일 이름과 색인 블록 주소를 명시




파일 시스템의 종류

1. FAT 파일 시스템

  • 연결 할당의 단점(블록 안에 다름 블록의 주소 저장)을 보완한 파일 시스템
  • 각 블록에 포함된 다음 블록의 주소들을 한데 모아 테이블 형태로 관리하는데 이 테이블을 파일 할당 테이블(FAT)이라고 함
  • FAT는 하드 디스크 파티션의 앞부분에 만들어지지만, 메모리에 캐시될 수 있어 속도가 빨라질 수 있음



2. 유닉스 파일 시스템

  • 색인 할당 기반으로 색인 블록을 i(index)-node라고 함
  • i-node는 파일마다 있으며, 파일 속성 정보와 15개의 블록 주소가 저장될 수 있음
  • 15개 블록 주소 중 처음 12개만 파일 데이터가 저장된 블록(직접 블록)주소가 명시되고, 부족하면 13~15번째에는 블록 주소가 저장된 간접 블록의 주소를 저장



3. 저널링 파일 시스템

파일 시스템을 변경하는 도중에 치명적 오류로 인해 컴퓨터가 강제로 종료되어 버리면 파일 시스템이 훼손될 수 있습니다.

이전까지는 부팅 직후 파일 시스템을 검사하고 복구하는 프로그램을 실행시키는데 시간이 매우 오래 걸렸습니다. 그래서 저널링 기법이 등장했습니다.

  • 1. 작업 직전 파티션의 로그 영역에 수행하는 작업(변경 사항)에 대한 로그를 남김
  • 2. 로그를 남긴 후 작업 수행
  • 3. 작업이 끝나면 로그 삭제

파일 시스템 전체를 검사할 필요 없이 로그영역에 남긴 로그만 검사해도 됩니다.

profile
공부한 내용 정리
post-custom-banner

0개의 댓글