포도가게의 개발일지
메모리 관리 참조 : [OS] Lec 8. Memory Management (3/3) - Variable Partition Multi-programming 본문
CS
메모리 관리 참조 : [OS] Lec 8. Memory Management (3/3) - Variable Partition Multi-programming
grape.store 2021. 9. 9. 23:25반응형
https://www.youtube.com/watch?v=o1TB9NWvG9w
Variable Partition Multiprogramming
- 초기에는 전체가 하나의 영역
- 프로세스를 처리하는 과정에서 메모리 공간이 동적으로 분할
- No internal fragmentation은 필요할때마다 전체에서 잘라서주기때문에 발생하지 않는다.
배치전략 (Placement strategies)
- First-fit(최초 적합) : 처음만나는 맞는 공간을 선택
- 충분한 크기를 가진 첫 번째 partition을 선택
- Simple and low overhead
- 공간 활용률이 떨어질 수 있음 (처음 만나는애가 자기보다 큰 메모리를 만날 경우) - Best-fit(최적 적합) : process가 들어갈 수 있는 partition 중 가장 작은 곳 선택
- 전체를 봐야해서 탐색시간이 오래 걸린다 overhead가 크다
- 크기가 큰 partition을 유지 할 수 있음
- 작은 크기의 partition이 많이 발생한다.. - Worst-fit(최악 적합) : process가 들어갈 수 있는 partition 중 가장 큰 곳 선택
- 탐색시간이 오래걸려 오버헤드가 큼
- 작은 크기의 partitino이 많이 생기는걸 방지
- 큰 공간의 partition확보가 어려움 - Next-fit(순차 최초 적합)
- 최초 적합 전랴과 유사
- state table에서 마지막으로 탐색한 위치부터 탐색
- 메모리 영역의 사용 빈도 균등화
- 탐색이 줄어들어 Low overhead
각 시스템과 알고리즘에 따라서 전략적으로 선택해서 사용해야 한다.
하지만 아직 이 방법으로도 external fragmentation issue가 해결이 안됌
Coalescing holes(공간 통합)
- 인접한 빈 영역을 하나의 partition으로 통합
- Process가 memory를 release하고 나가면 수행
- Low overhead가 적은일
Storage Compaction(메모리 압축)
- High overhead
- 이유는 모든 Process 재배치 -> Process를 중지해야됨
- 많은 시스템 자원을 소비
- 자주해주면 안되고 일정 기간이나 특정요청이 있을때 해주는게 좋음
'CS' 카테고리의 다른 글
Comments