'파일 시스템'에 해당되는 글 1건

01 파일과 파일시스템

 

1) 파일디스크립터

 

파일을 관리하기 위한 시스템이 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록을 의미하며, 파일 제어 블록이라고도 한다.

 

* 파일 디스크립터는 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있다.

 

* 보통 파일 디스크립터는 보조기억장치 내에 저장되어 있다가 해당 파일이 Open 될때 주기억장치로 옮겨진다.

 

 

 

02 파일 구조

 

1) 순차파일

 

순차파일은 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것을 의미한다.

 

순차 접근 방식이라고도 한다.

 

장점 : 파일의 구성이 용이하고, 순차적으로 읽을 수 있으므로 기억공간의 이용효율이 높다.

 

단점 : 파일에 새로운 레코드를 삽입하거나 삭제하는 경우 파일 전체를 복사한 후 수행해야 하므로 시간이 많이 걸린다.

 

파일의 특정 레코드를 검색하려면 순차적으로 모든 파일을 비교하면서 검색해야 하므로 검색 효율이 낮다.

 

 

2) 직접 파일

 

직접 파일은 파일을 구성하는 레코드를 임의의 물리적 저장공간에 기록하는 것으로 직접 접근 방식이라고도 한다.

 

* 레코드에 특정 기준으로 키가 할당되며, 해싱함수를 이용하여 이 키에 대한 보조기억장치의 물리적 상대 레코드 주소를 계산한 후 해당하는 주소에 레코드를 저장한다.

 

* 레코드는 해싱 함수에 의해 계산된 물리적 주소를 통해 접근할 수 있다.

 

3) 색인 순차 파일

 

* 색인을 이용한 순차적인 접근 방법을 제공하여 색인 순차 접근 방식이라고도 한다.

 

* 각 레코드를 키 값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된 색인을 관리한다.

 

* 레코드를 참조하려면 색인을 탐색한 후 색인이 가리키는 포인터를 사용하여 참조할 수 있다.

 

기본영역, 색인 영역, 오버플로 영역

 

장점 - 순차처리와 임의처리 모두 가능

 

단점 - 색인 영역이나 오버플로 영역을 설정해야 하므로 기억공간이 필요하다.

 

 

02 디렉터리의 구조

 

1) 트리 디렉터리 구조

 

트리 디렉터리는 하나의 루트 디렉터리와 여러 개의 종속 디렉터리로 구성된 구조이다.

 

2) 비순환 그래프 디렉터리 구조

 

비순환 그래프 디렉터리는 하위 파일이나 하위 디렉터리를 공동으로 사용할 수 있는 것으로, 사이클이 허용되지 않는 구조이다.

 

* 디스크 공간을 절약할 수 있다.

* 하나의 파일이나 디렉터리가 여러 개의 경로 이름을 가질 수 있다.

* 디렉터리 구조가 복잡하고, 공유된 하나의 파일을 탐색할 경우 다른 경로로 두 번 이상 찾아갈 수 있으므로 시스템 성능이 저하될 수 있다.

* 공유된 파일을 삭제할 경우 고아 포인터가 발생할 수 있다.

 

3) 일반적인 그래프 디렉터리 구조

 

일반적인 그래프 디렉터리는 트리 구조에 링크를 첨가시켜 순환(cycle)을 허용하는 그래프 구조이다.

 

* 디렉터리와 파일 공유에 완전한 융통성이 있다.

* 탐색 알고리즘이 간단하여, 파일과 디렉터리를 액세스하기가 쉽다.

 

 

 

03 디스크 공간 할당 방법

 

1) 연속할당

 

연속 할당은 파일을 디스크의 연속된 기억공간에 할당하는 방법으로, 생성되는 파일 크기만큼의 공간이 있어야 한다.

 

* 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근 시간이 빠르다.

* 디렉터리는 파일의 시작 주소와 길이에 대한 정보만 가지고 있으므로 디렉터리가 단순하고, 관리 및 구현이 용이하다.

* 파일 크기에 알맞은 연속 공간이 없을 경우 파일이 생성되지 않는다.

* 파일의 생성과 삭제가 반복되면서 단편화가 발생한다.

* 단편화를 줄이기 위해 재배치에 의한 주기적인 압축이 필요하다.

 

 

2) 불연속 할당

 

2-1) 섹터 단위 할당

 

* 섹터 단위 할당은 하나의 파일이 디스크의 섹터 단위로 분산되어 할당되는 방법으로 하나의 파일에 속하는 섹터들이 연결리스트로 구성되어 있다.

 

* 하나의 파일에 속하는 각각의 섹터는 연결을 위해 다음 내용이 있는 곳의 포인터를 가지고 있다.

 

* 디렉터리는 파일의 시작과 마지막 주소에 대한 정보만 가지고 있다.

 

* 섹터 단위로 저장되므로 디스크의 단편화가 발생되지 않고, 디스크 압축이 불필요하다.

 

* 파일 생성시 파일 크기를 알 필요가 없으며, 파일 크기만큼의 연속된 공간이 없어도 저장이 가능하다.

 

 

 

2-2) 블록 단위 할당

 

블록 단위 할당은 하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 방법이며 블록 체인 할당, 색인 블록 체인 할당, 블록 지향 파일 사상 기법이다.

 

- 블록 체인 기법

 

 

 

* 블록 체인 기법은 섹터 단위 할당 기법과 비슷하나 할당 단위를 블록 단위로 구성하는 방법이다.

* 하나의 블록은 여러 개의 섹터로 구성되어 있다.

* 디렉터리는 파일의 첫 번째 블록을 가리키는 포인터를 가지고 있다.

* 하나의 블록은 데이터와 다음 블록을 가리키는 포인터로 구성되어 있다.

 

- 색인 블록 체인 기법

 

* 색인 블록 체인 기법은 파일마다 색인 블록을 두고, 파일이 할당된 블록의 모든 포인터를 이 색인 블록에 모아 둠으로써 직접 접근을 가능하게 한 방법이다.

 

* 색인 블록 하나로 파일을 전부 나타낼 수 없는 경우 여러 개의 연속된 색인 블록을 서로 링크하여 사용할 수 있다.

 

 

 

 

 

 

'이론 > 운영체제' 카테고리의 다른 글

데이터 통신 개요  (0) 2015.09.28
파일과 파일 시스템  (0) 2015.09.27
기억장치 관리  (0) 2015.09.27
프로세스 개요  (0) 2015.09.26
운영체제 개요  (0) 2015.09.26
운영체제 3학년 최종 텀프로젝트.  (0) 2015.03.19
블로그 이미지

종환 Revolutionist-JongHwan

github.com/alciakng 항상 겸손하자.