프론트엔드 개발자를 꿈꾸는 대학생입니다!
백업은 disaster(재난), stupidity(실수)에 의한 Recover(복구)하기위해 사용되는 방법이다.
Backup Type에는 Physical Dump, Logical Dump가 있다.
- Physical Dump: 하드디스크 등을 끝까지 통채로 tape에 copy하는 방식이다.
- Logical Dump: tree등을 순회하며 파일들을 copy하는 방식이다.
- Complete Dump: 파일들을 통채로 copy한다.
- Incremental Dump: 마지막 dump이후 변경된 파일만 copy한다.
색칠된 부분이 dump(작업중이던 메모리 상태를 저장)할 부분. 색칠 부분의 상위 directory도 dump해야한다. (1, 5, 6, 7, ...)
- Recovery from Backup
: 마지막으로 dump된 지점에서 복구하는 방법이다.
- Problems of logical dump ~ 문제점
: File links는 두번 dump된다.(backup 프로그램은 둘 다 오리지널이므로 구분할 수 없다.)
UNIX files에서는 할당되지 않은 블록의 데이터(data block이 없으면 OS는 모두 0으로 채워서 반환함)도 모두 copy하여 백업 용량이 커진다.
- multiple block을 업데이트 할 때 또는 system crash(전기 x)가 일어날 때 일관성에 문제가 발생할 수 있다.
- File system consistency를 유지하는 Utility에는 UNIX: fsck, Windows: scandisk가 있다.
- 많은 현대 파일 시스템은 빠른 일관성 회복을 위해 journaling scheme을 사용한다.
Increasing file system performance
* Caching : buffer cache or block cache
- Replacement Policy: LRU, Second Chance, FIFO or others
- Meta-data는 일관성유지를 위해 쓰여진 즉시 읽혀야한다.
- MS-DOS: Write-through (변경되면 즉시 캐시와 disk에 기록), UNIX: Write-back (변경되면 캐시에만 기록, 나중에(30초 간격으로) 한번에 disk에 기록)
* Read-ahead
: sequential하게 읽어서 앞부분을 읽으면 다음 부분을 OS가 미리 캐시에 넣어둔다.
* Reducing disk arm movement
* Disk defragmentation
buffer cache data structure
- Hash table을 사용하여 캐시를 추적한다. head들이 linked list로 연결되어있다.
> 만약 10번 블록을 찾는다하면 Hash table을 사용하여 캐시를 추적하여 캐시에 존재하면 바로 참조하고, 존재하지 않으면 disk에서 찾아서 캐시에 넣고 return한다.
- i-node블록과 같은 경우는 드물게 짧은 간격에 두번 참조될 수 있다..??
- 교체정책으로 LRU를 사용하며 영화 데이터같은 경우 순서상 한번만 참조될 것 같으면 MRU말고 LRU에 넣는다. 또 Meta data는 빨리 sync해서 찾아야하고 자주 참조될 데이터는 오래 가지고 있는다.
Disk Arm(Head)의 움직임을 최소화하자는것이 목표.
Disk Partition에는 Cylinder Group이 존재하고, 한 그룹내에는 Super block(파일 시스템 전체정보), Group descriptor(Group에 대한 정보~어디서 어디까지 i-node인지 등) 등이 존재한다.
- 한 파일이 한 그룹에서 일정 개수이상 차지하면 인접 Group에 할당하도록(독차지하지 못하도록) 설계되어있다.
a: i-node들이 disk의 처음부분부터 적혀져있다. 이 방식은 디스크 헤드의 움직임이 많아지고, 안정성도 떨어진다.
b: i-node들이 disk의 인접 실린더 그룹에 묶여 적혀있다. 이 방식은 헤드의 움직임이 작아 성능이 높고, 안정성도 높다.
ISO 9660 directory entry
-> CD ROM File System이며, CD ROM은 연속적이므로 start block과 file size만 적혀있으면 된다.
UNIX에서 만든 CD ROM의 확장판. fields를 확장하였다. (여러 타입 추가, 속성 및 location등의 값 추가)
MS에서 만든 확장판. 파일 이름을 길게하고 dir 이름을 더 길게 할 수 있는 등으로 확장되었다.
허가없이 다른 사용자의 파일 접근을 못하도록 파일 접근 권한을 관리해야한다.
access에 대한 정보를 담은 File과 User에 대한 행렬. 파일 시스템이 이 matrix를 보고 권한허용여부를 결정한다.
파일단위로 축소하여 파일마다 권한을 다 적어놓는다. UNIX가 이를 약간 변형하여 사용하였다.
사용자를 기준으로 파일 권한에 대하여 적어놓는다. 파일 시스템에선 사용되기 어려우며 로그인, 네트워크 등의 유저권한이 중요한 부분에서 사용중인 방식이다.
long file name방식(다른 블록에 file name을 적는 방식)은 특허가 있어 다른 시스템에서는 사용하지 못한다.
UNIX는 i-node로 block을 관리한다
OS - 04. File systems (2)
File System Backups
백업은 disaster(재난), stupidity(실수)에 의한 Recover(복구)하기위해 사용되는 방법이다.
Backup Type에는 Physical Dump, Logical Dump가 있다.
- Physical Dump: 하드디스크 등을 끝까지 통채로 tape에 copy하는 방식이다.
- Logical Dump: tree등을 순회하며 파일들을 copy하는 방식이다.
- Complete Dump: 파일들을 통채로 copy한다.
- Incremental Dump: 마지막 dump이후 변경된 파일만 copy한다.
Other considerations
- Recovery from Backup
: 마지막으로 dump된 지점에서 복구하는 방법이다.
- Problems of logical dump ~ 문제점
: File links는 두번 dump된다.(backup 프로그램은 둘 다 오리지널이므로 구분할 수 없다.)
UNIX files에서는 할당되지 않은 블록의 데이터(data block이 없으면 OS는 모두 0으로 채워서 반환함)도 모두 copy하여 백업 용량이 커진다.
File system consistency
- multiple block을 업데이트 할 때 또는 system crash(전기 x)가 일어날 때 일관성에 문제가 발생할 수 있다.
- File system consistency를 유지하는 Utility에는 UNIX: fsck, Windows: scandisk가 있다.
- 많은 현대 파일 시스템은 빠른 일관성 회복을 위해 journaling scheme을 사용한다.
Increasing file system performance
* Caching : buffer cache or block cache
- Replacement Policy: LRU, Second Chance, FIFO or others
- Meta-data는 일관성유지를 위해 쓰여진 즉시 읽혀야한다.
- MS-DOS: Write-through (변경되면 즉시 캐시와 disk에 기록), UNIX: Write-back (변경되면 캐시에만 기록, 나중에(30초 간격으로) 한번에 disk에 기록)
* Read-ahead
: sequential하게 읽어서 앞부분을 읽으면 다음 부분을 OS가 미리 캐시에 넣어둔다.
* Reducing disk arm movement
* Disk defragmentation
Caching
- Hash table을 사용하여 캐시를 추적한다. head들이 linked list로 연결되어있다.
> 만약 10번 블록을 찾는다하면 Hash table을 사용하여 캐시를 추적하여 캐시에 존재하면 바로 참조하고, 존재하지 않으면 disk에서 찾아서 캐시에 넣고 return한다.
- i-node블록과 같은 경우는 드물게 짧은 간격에 두번 참조될 수 있다..??
- 교체정책으로 LRU를 사용하며 영화 데이터같은 경우 순서상 한번만 참조될 것 같으면 MRU말고 LRU에 넣는다. 또 Meta data는 빨리 sync해서 찾아야하고 자주 참조될 데이터는 오래 가지고 있는다.
Reducing Disk Arm Motion
Disk Arm(Head)의 움직임을 최소화하자는것이 목표.
Disk Partition에는 Cylinder Group이 존재하고, 한 그룹내에는 Super block(파일 시스템 전체정보), Group descriptor(Group에 대한 정보~어디서 어디까지 i-node인지 등) 등이 존재한다.
- 한 파일이 한 그룹에서 일정 개수이상 차지하면 인접 Group에 할당하도록(독차지하지 못하도록) 설계되어있다.
a: i-node들이 disk의 처음부분부터 적혀져있다. 이 방식은 디스크 헤드의 움직임이 많아지고, 안정성도 떨어진다.
b: i-node들이 disk의 인접 실린더 그룹에 묶여 적혀있다. 이 방식은 헤드의 움직임이 작아 성능이 높고, 안정성도 높다.
File system의 변천
The ISO 9660 File system
-> CD ROM File System이며, CD ROM은 연속적이므로 start block과 file size만 적혀있으면 된다.
Rock Ridge Extensions
UNIX에서 만든 CD ROM의 확장판. fields를 확장하였다. (여러 타입 추가, 속성 및 location등의 값 추가)
Joliet Extension
MS에서 만든 확장판. 파일 이름을 길게하고 dir 이름을 더 길게 할 수 있는 등으로 확장되었다.
File Access Control
허가없이 다른 사용자의 파일 접근을 못하도록 파일 접근 권한을 관리해야한다.
Access Control Matrix
access에 대한 정보를 담은 File과 User에 대한 행렬. 파일 시스템이 이 matrix를 보고 권한허용여부를 결정한다.
Access Control List
파일단위로 축소하여 파일마다 권한을 다 적어놓는다. UNIX가 이를 약간 변형하여 사용하였다.
Capability List
사용자를 기준으로 파일 권한에 대하여 적어놓는다. 파일 시스템에선 사용되기 어려우며 로그인, 네트워크 등의 유저권한이 중요한 부분에서 사용중인 방식이다.
File System Layout
MS-DOS FAT File System
long file name방식(다른 블록에 file name을 적는 방식)은 특허가 있어 다른 시스템에서는 사용하지 못한다.
UNIX V7 File System
'cs지식 > 운영체제' 카테고리의 다른 글