2 min read

<운영체제> Free-Space Management in Disk Storage

본 게시물은 영남대학교 곽종욱 교수님의 강의를 기반으로 작성됨

Bit Vector 방식의 Free-Space Management

  1. 이는 비트맵 방식 또는 비트 벡터 방식이라고 불리우며, Free-block에는 0, 사용중인 block에는 1을 부여하여 free-space를 관리하는 방식이다.
  2. 디스크 내에서 직관적으로 관리되어서 free-space에 찾아가기가 쉽고, 특히 첫번째 free-block과 n개의 연속된 free-space를 탐색하는데 유리하다.
  3. UNIX 계열의 운영체제가 이 방식을 채택하여 사용중이다.

Bit Vector 이미지

Linked List 방식의 Free-Space Management

  1. free-block을 linked-list로 연결하여 관리하는 방식이다.
  2. 순서대로 접근하기 때문에 공간 낭비가 없다.즉, fragmentation 이 없다.
  3. 하지만, 특정한 공간에 접근하려면 list의 헤더부터 탐색하기에 비효율적이 단점이 존재한다.

Linked List 이미지

Grouping과 Counting 방식의 Free-Space Management

  • Grouping : n개의 free-block을 하나의 그룹으로 묶고, 이 그룹을 Linked-List로 연결시키는 구조. 이는 연속되는 free-space를 쉽게 찾을 수 있는 장점이 있다.
  • Counting : 연속된 free-block들 중에서 첫번째 free-block의 주소와 해당 block 이후로의 free-block의 갯수를 count라는 변수에 저장하여 관리하는 방식이다. 쉽게 말해서 “몇번째 블록 뒤로는 free-block이 몇개가 있다”라는 식으로 이해 할 수 있다.

Grouping 이미지