Demading paging에 이어서 Segmetation, Hybrid paging/segmentation에 대해서 알아본다.
paging과 달리, segmentation은 같은 크기로 분할하는 것이 아니라 logical block으로 분할한다. 분할된 조각들을 segment
라고한다.
VPM 기법과 유사하다.
v = (s,d)
SMT paging과 달리 segment의 길이가 다르기 때문에 segment length
가 있고,
logical하게 분할하기 때문에 protection을 위한 protection bits
열이 있다.
Direct mapping
protection bit검사와 displacement d와 segment length를 비교하는 과정을 제외하고는 paging 기법과 같다.
두 기법은 logical하게 분할하는지 여부에 따라 장단점이 생긴다.
논리적 + 크기 단위로 같이 프로그램을 분할하는 방법이 hybrid기법이다.
최종적으론 page
단위로 분할하기 떄문에 paging system 관리기법으로 관리하면 된다.
가상 주소 v = (s,p,d)
각 프로세스마다 SMT 필요 segment단위로 메모리에 들어가지 않기 때문에 residence bit
은 필요없다.
각 segment마다 PMT 필요
전체적으론 이런 구조다.
여기까지 주로 address mapping기법에 초점을 둬서 Virtual memory 기법에 대해서 알아봤다. Virtual memory 기법을 사용하려면 address mapping
+ run-time binding
을 꼭 사용해야만 했고, address mapping을 얼마나 빨리하는지가 중요한 Issue였다.
이를 위해서 address mapping 기법들에 대해 알아봤다.
TLB
, Direct mapping
, associative mapping
, hybrid mapping
, page table registers
, hierarchical paging
, inverted page table