파일 관리자의 요소
파일 관리자는 운영 체제에서 가장 중요한 구성 요소 중 하나이며, 파일이 사용하는 자원을 관리하고 생성, 삭제, 수정, 접근을 제어하는 소프트웨어이다. 이 소프트웨어는 다음과 같은 네 가지 요소로 구성된다.
① 파일에 저장된 데이터에 액세스하는 방법에 관련된 액세스 방식
② 파일을 저장, 참조, 공유할 수 있도록 하고 안전하게 보호되도록 하는 기술을 제공하는 파일 관리
③ 파일을 저장하기 위해 보조기억장치에서 할당해야 하는 공간과 관련된 보조기억장치 관리
④ 파일의 무결성을 유지하여 정보가 소실되지 않도록 하는 일과 관련된 파일의 무결성 유지
루트는 디스크의 루트 디렉터리가 시작되는 위치를 가리킨다. 루트 디렉터리는 여러 개의 사용자 디렉터리를 가지며, 각 사용자 디렉터리는 사용자의 파일마다 하나의 항목을 가지며, 각 항목은 파일이 저장된 실제 위치를 가리킨다. 파일 이름은 해당 사용자 디렉터리 내에서만 고유하면 되지만, 한 파일의 시스템 이름은 파일 시스템 내에서 고유해야 한다. 계층 구조 파일 시스템에서 파일의 시스템 이름은 일반적으로 루트 디렉터리로부터 파일에 이르는 경로 이름으로 구성된다. 예를 들어, 사용자 OS가 PROC 파일과 SCHIE 파일을 가지고 있는 2단계 파일 시스템에서 PROC 파일의 경로 이름은 OS/PROC으로 구성될 수 있으며, 이 경우 PROC 파일의 시스템 이름은 OS/PROC이 된다.
파일 관리자의 기능
파일 관리 시스템은 물리적인 저장 장치, 정보 자원, 그리고 파일들을 저장하고 분배하기 위한 정책들을 책임지기 때문에 일반적으로 복잡한 작업을 수행한다. 이 시스템이 담당하는 기능은 다음과 같이 요약할 수 있다.
① 사용자가 파일을 생성, 수정, 삭제할 수 있도록 하는 기능
② 타인과 파일을 공동으로 사용할 수 있도록 하는 기능
③ 파일 시스템은 판독 액세스, 기록 액세스, 수행 액세스, 또는 이들을 여러 형태로 조합한 액세스 제어 방법 등 다양한 종류의 액세스 제어 방법을 제공한다.
④ 사용자가 각 응용에 적합한 구조로 파일을 구성할 수 있도록 하는 기능
⑤ 정보의 손실이나 고의적인 정보 파괴를 방지하기 위한 백업 및 복구 기능
⑥ 파일을 참조할 수 있도록 기호화된 이름을 사용하는 기능
⑦ 정보 보호 및 비밀 유지 기능
⑧ 사용자 친화적인 인터페이스 제공 기능
따라서 파일 관리자는 적절한 보조 기억 장치를 활성화하여 파일을 할당하고 파일의 기록을 경신하는 동안에는 파일을 메모리에 적재한다. 또한 테이블을 갱신하거나 수정된 사항이 있으면 파일을 보조 기억 장치의 같은 장소에 다시 쓰고 그 파일을 해제한다.
파일 구조와 접근방식
파일 구조란 보조기억장치에 저장되는 레코드들의 배치 방식을 의미한다. 현재 많이 사용되는 파일 구조는 다음과 같다.
(1) 순차 파일
순차 파일(sequential file)은 레코드가 물리적 순서에 따라 저장된 파일이다. 다음 레코드는 현재 레코드 바로 뒤에 저장된 레코드를 의미하며, 이러한 구조는 물리적으로 순차적인 성질을 가진 자기 테이프에 가장 많이 이용된다.
(2) 인덱스 된 순차 파일
인덱스 된 순차 파일(indexed sequential file)은 레코드가 각 레코드의 키를 기준으로 한 논리적 순서대로 배열된 파일이다. 시스템은 일부 주요 레코드의 실제 주소가 저장된 인덱스를 관리하기 때문에 키 순서에 따라 순차적으로 엑세스될 수도 있고, 시스템에 의해 생성된 인덱스의 검색을 통해 직접 엑세스될 수도 있다. 인덱스 된 순차 파일은 대개 디스크에 저장된다.
(3) 직접 파일
직접 파일(direct file)은 레코드가 직접 액세스 기억장치(Direct Access Storage Device, DASD)의 물리적 주소를 통해 직접 액세스 되는 파일이다. 따라서 사용자는 특정 응용에 적합한 순서로 레코드를 DASD에 저장해야 한다. 파일을 이와 같은 방식으로 구현하려면 사용자는 그 파일을 저장한 DASD의 상세한 물리적 구조에 대한 지식이 필요하다.
디스크 공간 할당
(1) 연속 할당 기법
연속 할당(contiguous allocation) 기법은 파일을 보조기억장치에서 연속된 공간에 할당하는 기법을 말한다. 파일을 생성하기 전에 미리 할당할 공간의 크기를 정해야 하며, 만약 해당 크기보다 큰 연속된 공간이 없다면 파일을 생성할 수 없다. 연속 할당 기법의 장점은 논리적으로 연속된 레코드가 물리적으로 인접하게 저장되므로 액세스 시간이 감소하며, 파일 디렉터리를 구현하기 쉽다는 것이다. 그러나 파일 삭제 후 남은 공간들이 분산되어 연속된 공간이 부족해지는 외부 단편화 문제가 있으며, 파일 크기가 변할 경우에 대처하기 어렵다는 단점이 있다.
(2) 불연속 할당 기법
불연속 할당(noncontiguous allocation) 기법은 파일을 섹터나 블록 단위로 구성된 불연속적인 공간에 할당하는 기법이다. 시스템은 현재 파일이 저장된 블록에서 가장 가까운 빈 곳을 선택하여 그 파일에 할당하고, 포인터로 연결한다. 이 방법에는 블록체인, 인덱스 블록체인, 블록 지향 파일 사상 등이 있다. 불연속 할당 기법의 장점은 파일 크기가 변할 경우에 대처하기 쉬우며, 파일 삭제 후 빈 곳을 활용할 수 있어 외부 단편화 문제가 해결된다는 것이다. 하지만 파일 공간이 분산되어 논리적으로 연속된 레코드들을 검색하는 경우 성능 저하가 발생하며, 포인터 관리를 위한 연산 및 추가 공간이 필요하므로 실제 데이터를 저장할 공간이 감소하는 단점이 있다.
'Computer Science' 카테고리의 다른 글
분산 메모리 (0) | 2023.03.29 |
---|---|
분산 시스템 (0) | 2023.03.29 |
순차접근 저장장치 (0) | 2023.03.26 |
입출력 처리 유형 (0) | 2023.03.26 |
데이터베이스 관리 시스템(DBMS)의 개요 및 목적 (0) | 2023.03.26 |
댓글