-
디렉터리와 디스크 구조운영체제/파일 시스템 2018. 2. 5. 08:20
저장 장치는 전체를 하나의 파일 시스템으로 사용할 수 있는데 보다 더 정교한 제어를 위해서 세분될 수도 있다.
디스크를 예로 들면 디스크는 쿼터 단위로 분할되고 각 쿼터가 하나의 파일 시스템을 포함할 수 있다.
파일 시스템을 포함하고 있는 임의의 개체는 볼륨이라고 불린다.
각 볼륨은 시스템에 존재하는 파일에 대한 정보를 가지고 있어야 한다.
이 정보는 디바이스 디렉터리 또는 컨텐츠 볼륨 테이블의 항목에 저장된다.
디바이스 디렉터리는 그 볼륨에 있는 모든 파일에 대한 이름, 위치, 크기, 유형 등의 정보를 기록한다.
저장 장치의 구조
컴퓨터 시스템은 다양한 유형의 여러 파일 시스템을 가진다.
컴퓨터 파일 시스템은 확장이 가능하고
하나의 파일 시스템 안에서도 파일을 그룹으로 분리하여 관리하고 그룹에 대한 조치를 취할 수 있다.
디렉터리 개관
디렉터리는 파일 이름을 그 위치로 바꾸어 주는 심볼 테이블로 볼 수 있다.
디렉터리 관련 연산
파일 찾기 : 디렉터리를 탐색하여 특정 파일을 찾는다.
파일 생성 : 새로운 파일들을 생성하여 디렉터리에 추가한다.
디렉터리 나열 : 디렉터리에 존재하는 파일들을 나열하고 파일에 대한 디렉터리 항목의 내용을 보여준다.
파일의 재 명명 : 파일의 이름을 변경할 수 있어야 한다.
파일 시스템의 순회 : 파일 시스템의 여러 디렉터리를 순회해 다니며 파일들을 볼 수 있게 해주는 기능
1단계 디렉터리
모든 파일이 다 같이 한 개의 디렉터리 밑에 있는 구조이며
가장 간단한 디렉터리 구조이다.
같은 디렉터리 안에 모든 파일이 존재하기 때문에 각 파일들은 유일한 이름을 가져야 한다.
2단계 디렉터리
각 사용자들에게 서로 다른 디렉터리를 구성 해주는 방법
각 사용자는 자신만의 UFD 디렉터리를 가진다. UFD에는 오직 한 사람의 파일만을 저장한다.
시스템에 사용자가 접속하게 되면 시스템은 마스터 파일 디렉터리를 먼저 탐색한다.
MFD는 사용자 이름이나 계정 번호로 색인되어 있고 각 엔트리는 그 사용자의 UFD를 가리키고 있다.
2단계 디렉터리에서 특정 파일을 지칭하기 위해서는 사용자 이름과 파일명을 사용해서 경로명을 써야한다.
2딘계 디렉터리 시스템에서 다른 사용자 간에는 같은 파일 이름을 허용한다.
트리 구조 디렉터리
트리는 가장 일반적인 디렉터리 구조이다.
트리 구조에서는 효율적인 파일 검색이 가능하고
모든 파일들은 고유한 경로명을 가진다.
각 프로세스는 현재 디렉터리를 가지고 있다.
경로명에는 절대 경로명과 상대 경로명 두 가지가 있다.
절대 경로명이란 루트에서 지정된 파일까지의 경로를 명시한다.
상대 경로명이란 현재 디렉터리를 기준으로 목적하는 파일까지의 경로를 지정한다.
비순환 그래프 디렉터리
비순환 그래프는 디렉토리들이 서브디렉토리들과 파일들을 공유할 수 있도록 허용하는 구조이다.
비순환 그래프 디렉터리 에서는 다른 파일 이름이 같은 파일을 가리키는 가명이 사용 가능하다.
공유 디렉토리를 구현하는 방법 중 하나는 링크를 이용하는 것이다.
링크는 다른 파일이나 서브 디렉터리를 가리키는 포인터이다.
링크 정보에 포함된 실제 파일 이름을 사용하여 링크를 해석한다.
공유 파일 삭제 시 존재하지 않는 파일을 가리키는 포인터가 발생할 가능성이 있다.
일반 그래프 디렉터리
비 순환 그래프 트리 구조에서 중요한 문제점은 순환이 발생하지 않도록 보장하는 것이다.
이 문제의 해결책으로는 서브디렉토리가 아닌 파일만 링크 하는 방법, 가비지 컬렉션 방법,
새로운 링크를 만들 때 순환이 생기지 않도록 하는 방법이 있다.
댓글