운영체제 - 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 문제가 발생
- 그러나 가치를 트리로 구성하면 효율성 문제 해결 가능