45_파일 시스템 마운팅(File System Mounting)과 파티션 마운팅(Partition Mounting)
[파일 마운팅(File Mount)]
파일이 사용되기 전에 열리는 것처럼 파일 시스템은 프로세스들에 의해 사용되기 전에 장착(mount) 되어야 한다.
마운트 과정은 다음과 같다.
- 운영체제에게 장치 이름과 파일 시스템을 부착 할 수 있는 파일 구조 내의 위치가 주어진다. 일반적으로 마운트 포인트는 장착되는 파일 시스템이 부착될 비어있는 디렉토리이다.
- 운영체제는 장치가 유효한 파일 시스템을 포함하는지 확인 한다. 그 과정은 장치 드라이버가 장치 디렉토리를 읽고 디렉토리가 유효한 포맷을 가지고 있는지 확인하도록 요청 함으로써 이루어 진다.
- 운영체제는 파일 시스템이 지정된 마운트 포인트에 장착되었음을 디렉토리 구조에 기록한다. 이 기법은 운영체제가 디렉토리 구조를 순회하고 파일 시스템을 적절히 교체할 수 있게 한다.
시스템은 파일을 포함하고 있는 디렉토리에 대해 장착을 허가하지 않거나 장착된 파일 시스템만 그 디렉토리에서 사용 가능하게 하고 기존 파일들은 탈착 될 때까지 사용 불가능하게 만들 수 있다. 탈착 후에는 장착되었던 파일 시스템은 사용이 끝나고 기존 파일들이 다시 사용 가능해진다.
[파티션과 마운팅(Partition and Mounting)]
디스크의 배치는 운영체제에 따라 크게 달라진다. 각 파티션은 파일 시스템을 포함하지 않은 '비가공(raw) 파티션이나 파일 시스템을 포함하는 '가공(cooked)' 파티션으로 나누어 진다.
비가공(raw) 디스크는 어떤 파일 시스템도 적당하지 않은 곳에 사용 된다. UNIX의 스왑 공간은 자신의 고유 포맷을 사용하고 파일 시스템을 사용하지 않으므로 비가공 파티션을 사용한다. 또한 비가공 디스크는 RAID 시스템에서 필요한 정보를 저장할 수 있다. 어느 블록이 미러드(mirrored) 되었는지 또는 어느 블록이 변경되어 미러드 될 필요가 있는지 가리키는 비트맵(bitmap)을 가지고 있다.
부트정보는 별도의 파티션에 저장될 수 있다. 부트 할 때 시스템은 파일 시스템 장치 드라이버가 적재되어 있지 않으며 파일 시스템 포맷을 해석할 수 없으므로 부트정보는 자신의 포맷을 가진다. 부트 정보는 통상 일련의 순차 블록으로 메모리 하나의 이미지로 적재 된다. 이미지의 실행은 첫 번째 바이트 같은 미리 정해진 위치에서부터 시작 된다.
PC들은 이중 부트(dual boot) 시스템을 할 수 있다. 이는 다수의 운영체제가 구축 될 수 있음을 의미한다. 여러 파일 시스템과 여러 운영체제를 인식하는 부트적재기가 부트 공간을 점유하고 일단 적재되면 그 디스크에서 이용 가능한 운영체제 중 하나를 부트 할 수 있다.
운영체제 커널과 다른 시스템 파일을 포함할 수 있는 루트 파티션(root partition)은 부트 시에 장착 된다. 다른 파티션은 운영체제에 따라 부트 시 자동 장착되거나 수동으로 나중에 장착 된다. 운영체제는 장치 드라이버에게 장치 디렉토리를 읽도록 요청하고 디렉토리가 유효한 포맷을 가졌는지 확인함으로써 이 과정을 실행 한다. 마지막으로 운영체제는 메모리 내부의 마운트 테이블(mount table) 구조에 파일 시스템이 장착되었다는 사실과 파일 시스템의 유형을 기록 한다.
[참고자료]
Operating System Concepts / 홍릉과학출판사
'SW Engineering > OS Concept' 카테고리의 다른 글
47_파일 시스템 구현 (File System Implementation) (0) | 2015.07.16 |
---|---|
46_파일 시스템 구조 (File System Structure) (0) | 2015.07.16 |
44_디렉토리 구조 (Directory Structure) (0) | 2015.07.16 |
43_파일 접근 방법 (Access Method) (0) | 2015.07.16 |
42_파일 개념 (File Concept) (0) | 2015.07.16 |