파일 시스템
파일 시스템(File System)의 개념
- 파일(File)은 연관된 데이터들의 집합
- 파일은 각각의 고유한 이름을 갖고 있음
- 파일은 주로 보조 기억 장치에 저장하여 사용함
- 파일 시스템은 보조 기억 장치와 그 안에 저장된 파일을 관리하는 시스템
파일 시스템의 기능
- 사용자가 파일을 생성, 수정, 제거할 수 있도록 해줌
- 파일에 대한 여러 가지 접근 제어 방법을 제공함
- 사용자와 보조 기억 장치 사이에서 인터페이스를 제공함
- 정보의 백업(Backup) 및 복구(Recovery) 기능을 제공함
- 정보의 암호화(Encryption) 및 해독(Decryption) 기능을 제공함
- 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용할 수 있도록 해줌
파일 디스크립터(File Descriptor)의 개념
- 파일을 관리하기 위해 필요한 파일에 대한 정보를 갖고 있는 제어 블록
- 파일 제어 블록(FCB : File Control Block)이라고도 함
- 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있음
- 대개 보조 기억 장치에 저장되어 있다가 해당 파일이 열릴(Open) 때 주기억 장치로 옮겨짐
- 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없음
파일 디스크립터의 내용
- 파일의 구조, 유형
- 파일의 크기, 이름
- 파일의 생성 시간, 수정 시간
- 파일에 대한 접근 횟수
- 보조 기억 장치 정보, 접근 제어 정보
파일 구조
파일 구조의 종류
순차 파일 (Sequential File) |
- 레코드들이 논리적인 순서에 따라 물리적인 연속 공간에 순차적으로 저장되는 파일 구조 - 주기적으로 처리하는 경우에 시간적으로 속도가 빠르며, 처리 비용이 절감됨 - 순차적으로 실제 데이터만 저장되므로 기억 공간의 활용률이 높음 - 특정 레코드를 검색할 때, 순차적 검색을 하므로 검색 효율이 낮음 |
색인 순차 파일 (Indexed Sequential File) |
- 키 값에 따라 순차적으로 정렬된 데이터를 저장하는 데이터 구역(Data Area)과 이 구역에 대한 포인터를 가진 색인 구역(Index Area)으로 구성된 파일 구조 - 순차 처리와 직접 처리가 모두 가능함 - 레코드의 삽입, 삭제, 갱신이 용이함 - 인덱스를 이용하여 해당 데이터 레코드에 접근하기 때문에 처리 속도가 랜덤 편성 파일보다 느림 - 인덱스를 저장하기 위한 공간과 오버플로우 처리를 위한 별도의 공간이 필요함 |
직접 파일 (Direct File) |
- 키에 일정한 함수를 적용하여 상대 레코드 주소를 얻고, 그 주소를 레코드에 저장하는 파일 구조 - 해싱 등의 사상 함수를 사용하여 레코드 키(Record Key)에 의한 주소 계산을 통해 레코드를 접근할 수 있도록 구성됨 |
- 색인 순차 파일의 구성
기본 구역 (Prime Area) |
레코드가 기록되는 영역 |
색인 구역 (Index Area) |
- 기본 구역의 레코드의 위치를 찾는 색인이 기록된 영역 - 색인 구역의 구성 - 트랙 색인 구역(Track Index Area) - 실린더 색인 구역( Cylinder Index Area) - 마스터 색인 구역(Master Index Area) |
오버플로우 구역 (Overflow Area) |
기본 구역에 레코드를 삽입하지 못하는 오버플로우 처리를 위한 별도의 영역 |
디렉터리 구조
1단계 디렉터리 구조 | - 같은 디렉터리에 시스템에 보관된 모든 파일 정보를 포함하는 구조 - 모든 파일들이 유일한 이름을 가짐 |
2단계 디렉터리 구조 | - 각각의 사용자에 대한 MFD와 각 사용자별로 만들어지는 UFD로 구성됨 - MFD는 각 사용자의 이름이나 계정번호 및 UFD를 가리키는 포인터를 갖고 있으며, UFD는 오직 한 사용자가 갖고 있는 파일들에 대한 파일 정보만 갖고 있음 |
트리 디렉터리 구조 | - UNIX에서 사용하는 디렉터리 구조 - 각 디렉터리는 서브 디렉터리나 파일을 가질 수 있음 - 디렉터리의 생성과 파괴가 비교적 용이함 - 디렉터리의 탐색은 포인터를 사용하며, 절대 경로명과 상대 경로명을 사용함 |
비순환 그래프 디렉터리 구조 | - 부디렉터리의 공동 사용이 가능함 - 디스크 공간을 절약할 수 있음 - 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있음 - 공유하고 있는 파일 제거 시 떨어진 포인터(Dangling Pointer) 문제가 발생할 수 있음 |
일반적인 그래프 디렉터리 구조 | 사이클이 허용되고, 불필요한 파일 제거를 위해 참조 카운터가 필요한 디렉터리 구조 |
728x90
반응형