반응형
디스크의 공간은 제한되어 있다. 삭제된 파일들이 차지하던 공간은 새로운 파일들을 위해 재사용되어야 한다. 이러한 자유공간을 관리하는 다양한 방법들이 있다.
Bit map or bit vector
- 자유 공간 리스트는 흔히 비트 맵(bit map) 또는 비트 벡터(bit vector)로 구현 된다. 여기서 각 블록은 1비트로 표현된다. 블록이 자유로우면 그 비트는 1이 되고 만약 블록이 할당되어 있다면 그 비트는 0이 된다.
- 부가적인 공간을 필요로 함
- 연속적인 n개의 free block을 찾는데 효과적
Linked List
- 모든 free block들을 링크로 연결 (free list)
- 연속적인 가용공간을 찾는 것은 쉽지 않다
- 공간의 낭비가 없다
Grouping
- linked list 방법의 변형
- n개의 free - block을 하나의 그룹으로 묶고, 이 그룹을 Linked-List로 연결 시키는 구조
- 연속된 free-space를 쉽게 찾을 수 있는 장점 가
- 첫번째 free block이 n개의 pointer를 가짐
- n-1 pointer는 free data block을 가리킴
- 마지막 pointer가 가리키는 block은 또 다시 n pointer를 가짐
Counting
- 프로그램들이 종종 여러 개의 연속적인 block을 할당하고 반납한다는 성질에 착안
- 연속된 free - block들 중에서 첫번째 free-block의 주소와 해당 block 이후로의 free-block의 갯수를 count라는 변수에 저장하여 관리하는 방식이다.
이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.
필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=1046323
반응형
'CS > 운영체제' 카테고리의 다른 글
운영체제(20) - 디스크와 디스크 스케줄 (0) | 2023.10.30 |
---|---|
운영체제(19) - 디렉토리 구현과 VFS, NFS (1) | 2023.10.27 |
운영체제(17) - 파일 할당 ( Allocation of File Data in Disk) (0) | 2023.10.27 |
운영체제(16) - 파일과 파일 시스템 (File and File System) (1) | 2023.10.26 |
운영체제 (15) - 다양한 Caching 환경 (0) | 2023.10.25 |