-
[OS] Disk free space 관리운영체제 2020. 11. 30. 16:31728x90
Free space 관리
Bit vector, bit map
디스크의 free space 를 관리하는 기법으로 디스크 블럭 사이즈만한 bit 배열을 두고, 가용하면 1, 누군가 사용중이면 0으로 표시하는 기법
free space 계산법
(0 인 word 수) * (word 의 bit 수) + offset 1비트
bit map 크기 계산
block size = 4KB = 212 bytes
disk size = 1TB = 240 bytes
n = 240 / 212 = 228 bits = 32 MB
32MB 에서 더 줄이고 싶다면 block 단위에서 N 개의 block 을 묶은 cluster 단위로 available list 를 관리하면 됨
예를 들어 4개를 한 묶으로 관리하면 8MB 로 줄어듦 → 대신 internal fragmentation 이 발생
Linked list 방식
위와 같이 free space 가 다음 free space 를 가리키는 방법으로 사용함. 이 또한 포인터 정보로 블럭이 낭비된다는 단점이 있지만 디스크 용량이 워낙 크기에 요즘 많이 사용하는 방법임
단점 : 연속된 공간을 찾는게 어렵다.
'운영체제' 카테고리의 다른 글
[OS] 디스크 볼륨과 파티션 / 가상 파일 시스템 (0) 2020.12.12 [OS] 디스크 볼륨과 파티션 / 가상 파일 시스템 (0) 2020.12.12 [OS] 파일 시스템의 구현 (0) 2020.11.30 [OS] 디렉터리 관리 구조 (0) 2020.11.30 [OS] Unix, Linux 파일(inode) 구성요소 (0) 2020.11.30