티스토리 뷰
(50) Variable Partition Memory Allocation & Dynamic Storage Allocation (Main Memory)
geonwoopaeng@gmail.com 2020. 9. 28. 12:04### Variable Partition Memory Allocation ###
< Variable partition >
: 메모리의 가변 크기의 partitions에 process를 할당하는 것이다.
(process가 할당 될 때 process의 크기를 보고 partition을 할당하는 것)
=> 각 partition에는 정확히 하나의 process가 포함될 수 있다.
: internal fragmentation 문제는 해결 but external fragmentation문제는 발생 할 수 있다.
: 효율성을 위한 다양한 partition 크기(주어진 process 요구에 따라 크기 조정)
: Hole은 사용 가능한 메모리 block이다.
(다양한 크기의 hole이 메모리 전체에 흩어져 있다)
: process가 도착하면 process를 수용 할 만큼 큰 hole에서 메모리가 할당 된다.
: process 종료는 해당 partition을 해제하고 인접한 free partition을 결합한다.
< Fragmentation in variable partition >
### Dynamic Storage Allocation ###
: speed 및 storage allocation측면에서 Worst-fit 보다 First-fit, Best-fit이 더 적합하다.
- < First-fit allocation >
: 할당가능한 첫 번째 hole(available partition)에 할당한다.
: search 시간이 짧다
- < Best-fit allocation >
: 할당 가능한 것 중에 가장 딱 맞는 hole을 할당한다.(전체 목록을 search해야 한다.)
: 가장 작은 leftover hole(남는 부분) => memory 낭비가 적다.
: search 시간이 길다.
- < Worst-fit allocation >
: 가장 큰 hole을 할당한다.(전체 목록을 search해야 한다.)
: 가장 큰 leftover hole(남는 부분)이 생긴다.
'운영체제 > 이론' 카테고리의 다른 글
(52) Paging problem (0) | 2020.10.05 |
---|---|
(51) Paging (0) | 2020.10.05 |
(49) Contiguous Memory Allocation & Fixed Partition Memory Allocation (Main Memory) (0) | 2020.09.28 |
(48) Memory Management Unit(MMU) & Dynamic loading & Dynamic linking (Main Memory) (0) | 2020.09.28 |
(47) Address Binding & Space (Main Memory) (0) | 2020.09.28 |