CS/운영체제
[운영체제-김덕수 교수님] 가상메모리(5/5) - 하이브리드 시스템
Damagucci-juice
2022. 8. 12. 15:40
- 페이징 시스템과 세그먼트 시스템의 장점만을 결합한 시스템
- Paging 과 Segmentation 의 장점 결합
- 프로그램 분할
- 1. 논리 단위의 Segment 로 분할
- 2. 각 segment 를 고정된 크기의 page 들로 분할
- Page 단위로 메모리에 적재
- 1차로 logical 한 단위로 자르고,
- 동일한 크기의 page로 2차로 자른다.
- Address mapping
- Virtual address: v = (s, p, d)
- s : segment number
- p : page number
- d : offset in a page
- SMT 와 PMT 모두 사용
- 각 프로세스 마다 하나의 SMT
- 각 segment 마다 하나의 PMT
- Address mapping
- Direct, associated 등
- 메모리 관리
- FPM 과 유사
- Page 가 실제 메모리에 올라감
- FPM 과 유사
- Virtual address: v = (s, p, d)
- residence bit 는 SMT 에서 빠지고 PMT 에 들어간다 .
복잡해 보이지만 지금까지 잘 왔다면 그렇게 복잡하지 않다.
- p 나 s 만 있어 왔는데, p, s 모두 있을 뿐이다.(조금 복잡하긴 하다.)
- ((p,s), d) 라고 생각하면 지금까지 해온 것과 같다.
- entrySize 는 SMT나 , PMT 에서 한 칸의 사이즈와 같다.
요약
- [장]논리적 분할(segment)와 고정 크기 분할(page)을 결합
- Page sharing / protection 이 쉬움
- 메모리 할당 / 관리 overhead가 작음
- No external fragmentation
- [단]전체 테이블의 수 증가
- 메모리 소모가 큼
- Address mapping 과정이 복잡
- [단]Direct mapping 의 경우, 메모리 접근이 3배
- 성능이 저하될 수 있음