DevGang

[OS-16] 디스크 공간 할당 방법 본문

정보처리/OS

[OS-16] 디스크 공간 할당 방법

별천랑 2021. 2. 7. 18:53

1. 연속 할당(Contiguous Allocation)

  • 파일을 디스크의 연속된 기억 공간에 할당하는 방법으로 생성되는 파일크기만큼의 공간이 요구
  • 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근 시간이 빠름
  • 디렉터리가 단순하고, 관리 및 구현이 용이
  • 파일 크기에 알맞은 연속 공간이 없을 경우 파일이 생성되지 않음
  • 파일의 생성과 삭제가 반복되면서 단편화가 발생
  • 단편화를 줄이기 위해서 주기적인 압축이 필요
  • 사용자는 만들고자 하는 파일의 크기에 해당하는 디스크 공간을 미리 지정해 주어야 함

2. 불연속 할당

  • 디스크 공간을 일정 단위로 나누어 할당하는 기법으로 섹터 단위 할당과 블록 단위 할당이 있음
  • 주기억장치 내의 이용 부분을 여러 작은 부분으로 나누어 실행
  • 가상 기억장치에서 주로 사용하는 기법
  • FAT(File Allocation Table)는 이 기법의 변형
  • 외부 단편화가 발생하지 않음
  • 각 파일을 디스크 블록의 연결된 리스트
  • 섹터 단위 할당하나의 파일이 디스크에 섹터 단위로 분산되어 할당되는 방법으로 연결 리스트로 구성됨

3. 블록 단위 할당

  • 하나의 파일이 연속된 여러 개의 섹터를 묶은 블록 단위로 할당되는 방법

- 블록체인 기법

  • 하나의 블록은 여러 개의 섹터로 구성
  • 순차적으로 탐색해야 하므로 속도가 느림
  • 삽입/삭제가 간단

- 색인(인덱스) 블록체인 기법

  • 파일마다 색인 블록을 두고 파일이 할당된 블록의 모든 포인터를 색인 블록에 모아두어 직접 접근을 가능하게 하는 방법
  • 탐색 시간이 빠름
  • 삽입 시 색인 블록을 재구성해야 함
  • 색인 블록이 차지하는 만큼의 기억장치 낭비가 발생

- 블록 지향 파일 사상 기법

  • 포인터 대신 파일 할당 테이블(FAT , File Allocation Table)에 있는 블록 번호를 사용하는 기법
  • 디렉터리는 파일 할당 테이블의 시작 위치를 가짐

※ 파일 할당 테이블(FAT , File Allocation Table)

  • 사용자가 해당 블록의 포인트를 실수로 지워지게 하는 것을 예방하고 블록 접근을 빠르게 하기 위하여 포인터를 모아 놓은 곳 

'정보처리 > OS' 카테고리의 다른 글

[OS-18] 보안  (0) 2021.02.07
[OS-17] 자원 보호  (0) 2021.02.07
[OS-15] 디렉터리 구조  (0) 2021.02.07
[OS-14] 파일과 파일 시스템  (0) 2021.02.07
[OS-13] 디스크 스케줄링  (0) 2021.02.07
Comments