운영체제 - 11

Updated:

강의

http://www.kocw.net/home/search/kemView.do?kemId=1226304

운영체제 - 입출력 시스템2

1. UNIX 파일 시스템

1.1 슈퍼 블록

  • 파일 시스템의 총체적 레이아웃 정보 보관

  • 블록의 크기, inode의 수, data block의 수, free block list의 head

1.2 i-node 블록

  • 메타데이터 보관(실제 데이터 블록의 위치 정보 포함)

1.3 data 블록

  • 실제 데이터 보관

2. Ext2 파일 시스템의 i-node

  • 12 direct ptr : 각 파일의 실제 데이터 저장 공간을 가르키는 포인터

  • 3 indirect ptr : 대용량 파일의 위치를 가르키는 저장 공간을 가르키는 포인터

  • 블록의 그룹화 : 메타데이터와 실제 데이터를 인접하게 배치하여 디스크 탐색 시간 감소
  • 수퍼블록의 중복저장 : 수퍼블록을 중복저장하여 디스크 오류에 대비

  • 수버블록 : 블록의 크기, inode의 수, data block의 수, free block 수, 그룹 당 블록 수, 시간 정보
  • 그룹 디스크립터(descriptor): 데이터블록 비트맵의 시작위치, 아이노드 비트맵의 시작위치, 첫 번째 아이노드의 시작주소, 가용 아이노드의 수

3. Ext4 파일 시스템

  • Ext4 = Ext2 + 저널링

3.1 갑작스런 전원 공급 중단

  • 파일 시스템 일관성 훼손(inconsistency) 발생

3.2 저널링 (journaling)

  • 5 ~ 30초 단위로 버퍼캐시에서 수정된 내용을 저널 영역에 기록
  • 최신 데이터를 보장(보여준다)이 아님
  • 단지 일관성있게 최신이든 이전이든 안전한 데이터를 보장한다는 뜻

3.3 Checkpointing

  • 수정된 내용을 파일 시스템의 원래 위치에 반영 (예: 5분 주기)

3.4 메타 데이터 저널링 모드

  • 메타 데이터만 저널링
  • 저널링 주기가 도래하면 데이터를 파일 시스템에 저장한 후 메타데이터를 저널영역에 기록
  • 체크포인팅 주지가 도래하면 메타데이터를 파일 시스템에 반영
  • 크래쉬 발생 시 파일 시스템 자체가 깨어지는 것 방지(일부 데이터 훼손 가능)

3.5 데이터 저널링 모드

  • 메타데이터와 일반데이터를 모두 저널링
  • 크래쉬 발생 시 데이터 자체의 복구 보장

4. LRFU 알고리즘

  • 캐시 블록 중 가치 평가 값이 가장 작은 블록을 삭제

  • LFU적인 성질 : 과거의 모든 참조기록이 현재 시점의 블록 가치 계산에 합산됨
  • LRU적인 성질 : 최근 참조일수록 블록의 가치 평가에 대한 기여도가 큼

  • 효율성 문제 : 공간 overhead문제, time complexity 문제가 발생
  • 그러나 가치를 트리로 구성하면 효율성 문제 해결 가능