정보 관리
운영 체제는 정보를 담고 있는 파일을 생성하거나 제거하는 등, 파일과 디렉터리에 대한 관리 기능을 제공합니다. 여기서는 정보 관리를 위한 파일 시스템의 역할, 파일 구조의 종류와 공간 할당 기법, 파일 보호를 위한 접근 통제 방법과 물리적 손상에 대비한 백업 기능에 대해 살펴보겠습니다.
파일 시스템
파일(File)은 문서, 소리, 그림 등 관련 있는 데이터의 모임으로 보조기억장치에 저장됩니다. 일반적으로 파일마다 고유 이름이 부여되고, 각 파일마다 파일 형식, 크기, 저장 위치, 접근 권한, 작성 및 변경 시간 등 다양한 속성 정보가 주어집니다. 파일 시스템(File System)은 파일의 집합과 파일에 대한 정보를 제공하는 디렉터리(Directory)로 구성됩니다. 파일 시스템의 대표적인 기능은 아래와 같습니다.
- 사용자에게 편리한 사용자 인터페이스(User Interface)를 제공합니다.
- 사용자가 파일을 생성, 수정, 삭제할 수 있는 기능을 제공합니다.
- 적절한 제어 방법을 통해 다른 사람의 파일을 공유할 수 있는 기능을 제공합니다.
- 불의의 사고에 대비하기 위한 파일 백업 및 복구 기능을 제공합니다.
- 정보를 암호화하고 해독할 수 있는 능력을 제공합니다.
파일 구조
파일 구조는 파일을 구성하는 레코드가 보조기억장치에 저장되는 방식입니다. 파일에 접근하는 방법은 파일 구조와 밀접한 관련이 있으며, 대표적인 파일 구조의 종류는 아래와 같습니다.
순차 파일(Sequential File)
순차 파일은 일반적으로 자기 테이프와 같은 저장 매체에서 주로 사용되며, 레코드를 순차적으로 저장하고 검색합니다. 레코드가 연속적으로 저장되기 때문에 레코드 사이에 빈 공간이 없어 기억장치를 효율적으로 이용할 수 있습니다. 그러나 레코드의 삽입과 삭제가 어렵고 파일 검색에 많은 시간이 소요되는 단점이 있습니다.
색인 순차 파일(Indexed Sequential File)
색인 순차 파일은 키(Key) 값에 따라 정렬된 레코드를 순차적으로 접근하는 순차 파일 구조와 키 값에 따라 직접적으로 접근하는 직접 파일 구조가 모두 사용됩니다. 색인 순차 파일은 레코드에 대한 순차 접근을 지원하는 데이터 파일과 특정 레코드에 대한 직접 접근을 지원하는 색인 파일로 구성됩니다. 순차 접근과 직접 접근이 모두 가능하므로 비교적 레코드에 빠르게 접근할 수 있으며 레코드의 삽입과 수정이 용이하나, 색인을 이용하여 레코드에 접근하므로 처리 속도가 늦고, 색인을 저장하는 공간이 별도로 필요하다는 단점을 가지고 있습니다.
직접 파일(Direct File)
직접 파일은 특정 레코드에 직접 접근할 수 있는 파일 형태로, 레코드가 저장된 보조기억장치의 물리 주소를 키 값으로 계산하여 접근합니다. 개별 레코드에 직접 접근하므로 처리 속도가 빠르고, 다른 레코드에 영향을 주지 않으면서 특정 레코드를 삽입, 삭제, 검색, 수정할 수 있습니다. 그러나 키 값에 의한 순차 검색이 어렵다는 단점이 있습니다.
분할 파일(Partitioned File)
분할 파일은 다수의 순차적인 서브 파일(Sequential Sub File)로 구성되며, 프로그램 라이브러리나 매크로 라이브러리를 저장할 때 유용합니다. 순차적인 서브 파일의 시작 주소는 디렉터리 레코드에 저장됩니다.
파일의 공간 할당 기법
파일의 공간 할당 기법은 디스크와 같은 보조기억장치에 파일을 저장할 때 어떻게 저장하면 저장 공간의 효율적인 활용이 가능한지, 얼마나 신속하게 파일에 접근할 수 있게 할 것인지를 결정합니다. 공간 할당 기법은 연속 할당(Contiguous Allocation) 기법과 불연속 할당(Non-Contiguous Allocation) 기법으로 구분할 수 있습니다.
연속 할당
연속 할당은 파일을 디스크 내의 연속적인 빈 공간에 저장하는데, 파일을 저장할 수 있는 연속된 저장 공간이 확보되지 않으면 파일을 생성할 수 없습니다. 논리적으로 연속된 레코드들이 물리적으로도 인접하게 저장되어 접근 시간이 감소합니다. 또한 디렉터리에는 파일을 구성하는 첫 번째 블록의 시작 주소와 길이만 유지하면 되므로 구현이 쉽습니다. 그러나 파일의 생성과 삭제가 반복되면서 빈 공간이 조각나면 단편화 현상이 발생하므로 주기적인 집약(Compaction)이 필요합니다.
불연속 할당
대개 파일은 생성된 후 커지거나 작아지는 경향이 있으므로, 파일의 크기 변화에 유연하게 대응하려면 연속 할당보다 불연속 할당 기법이 유리합니다. 불연속 할당 기법은 연결을 이용한 섹터 단위 할당(Sector Allocation) 기법과 블록 단위 할당(Block Allocation) 기법으로 나눠집니다.
- 섹터 단위 할당 : 연결을 이용한 섹터 단위 할당 기법은 하나의 파일에 속한 다수의 섹터들이 연결 리스트(Linked List)로 구성되어 있으며, 각 섹터는 다른 섹터와의 연결을 위한 포인터를 갖고 있습니다. 그리고 디렉터리는 각 파일의 시작 주소와 마지막 주소에 대한 포인터를 보유합니다. 하나의 파일이 디스크 전체에 분산 저장되어 있기 때문에 논리적으로 연속된 섹터들의 검색에 많은 시간이 소요된다는 단점이 있습니다.
- 블록 단위 할당 : 보조기억장치를 더 효과적으로 관리하고 실행 시간의 오버헤드를 줄이기 위해 섹터 대신 다수의 섹터를 묶은 블록 단위로 할당합니다. 연속 할당과 불연속 할당의 절충형입니다.
파일의 보호
파일의 보호는 프로그램이나 데이터에 의해 권한이 없는 사용자의 무단 접근을 막기 위해 파일 소유자가 만들어놓은 보호 장치입니다. 파일 보호 방법에는 파일에 대한 부적절한 접근을 통제하는 방법과 물리적 손상으로부터 보호하는 파일 백업이 있습니다.
접근 통제 방법
파일의 효율적인 보안을 위해서는 다음과 같은 접근 통제 방법이 필요합니다.
- 접근 제어 행렬(Access Control Matrix) : 개별 파일이나 디렉터리에 대해 접근이 가능한 사용자와 허용되는 동작을 기록한 것입니다. 사용자가 특정 파일이나 디렉터리에 접근을 시도할 때 운영 체제는 접근 제어 행렬을 참조하여 사용자의 접근 가능 여부를 결정합니다.
- 파일 명명(File Naming) : 접근하려는 파일에 이름을 부여한 사용자가 아니거나, 공유가 허용된 파일이라도 해당 파일명을 알지 못하면 접근을 허용하지 않는 방법입니다.
- 암호(Password) : 사용자마다 서로 다른 암호를 제공하고, 암호를 알지 못하는 사용자에게는 접근을 허용하지 않는 방법입니다.
- 암호 기법(Cryptography) : 파일이 암호화(Encryption)되어 있어서 해독 방법을 알고 있는 사용자만이 사용할 수 있도록 하는 방법입니다.
파일 백업
컴퓨터 시스템의 데이터는 언제든지 손상되거나 파괴될 수 있습니다. 백업(Backup)은 불의의 사고로 인한 데이터의 손상과 파괴를 막기 위해 파일을 복사하여 다른 곳에 보존하는 방법입니다. 특정 파일에 문제가 발생하면 가장 마지막에 백업한 내용으로부터 해당 파일을 복구할 수 있지만 백업 이후에 문제가 발생하면 그 부분은 복구할 수 없습니다.
백업이 진행될 때는 다른 작업을 중단해야 하는데, 파일 시스템이 매우 클 때는 전체 백업에 많은 시간이 소요됩니다. 따라서 설계자는 데이터의 안전한 보호를 위해 시스템의 성능을 감소시키지 않으면서 적절한 비용과 시간으로 파일을 보호할 수 있는 백업 기능을 마련해야 합니다.
'IT' 카테고리의 다른 글
모바일 운영체제의 종류 (0) | 2021.04.19 |
---|---|
컴퓨터 운영체제 기억장치 관리 (5) | 2021.03.24 |
컴퓨터 운영체제 CPU 스케줄링 (0) | 2021.03.13 |