운영체제에 대해 공부한 내용에 대해 정리해보았습니다.
KOREATECH 김덕수 교수님의 자료와 한밭대학교 임경태 교수님의 강의를 참고하였습니다.
이전 포스팅에서 Paging system과 Segmetation system을 다루어봤습니다.
이번 포스팅에서는 이 두 가지의 장점을 조화시킨 Hybrid paging/segmentation system을 알아보겠습니다.
Hybrid paging/segmentation system에서 프로그램 분할 방식은 아래 그림처럼
우선 논리단위의 segment로 분할한 후 각 segment를 고정된 크기의 page들로 분할한 후 메모리에 적재하는 방식을 사용합니다.
Hybrid paging/segmentation system에서의 키워드를 살펴보겠습니다.
Virtual address : v = (s, p, d)
s : segment number
p : page number
d : offset in a page
SMT, PMT (모두 사용합니다)
Hybrid paging/segmentation system에서 메모리에 page단위로 적재하기 때문에 FPM(Fixed Partition Multiprogramming)과 유사한 방식으로 메모리 관리가 이루어집니다.
따라서 내부단편화 (internal fragmentation)은 발생할 수 있습니다.
위 그림은 Hybrid paging/segmentation system에서의 SMT입니다. 메모리에 segment가 올라가는 것이 아니기 때문에 residence bit가 필요하지 않은 대신 PMT의 주소가 필요합니다.
위 그림은 Hybrid paging/segmentation system에서의 segment K에 대한 PMT입니다. page단위로 메모리에 적재되기 때문에 여기에서는 residence bit가 필요합니다.
여기까지 정리하자면, 우선 SMT에 접근을 해서 SMT에 있는 PMT address를 통해 PMT에 접근합니다.
Hybrid paging/segmentation system의 단점으로는 SMT에 접근 후 PMT에 접근, 그리고 메모리에 접근하는 과정으로 메모리 접근이 3배로 일어납니다. 하지만 이 Hybrid paging/segmentation system방식은 단점보다는 장점이 더 크기때문에 현재 사용하고 있는 방식입니다.(TLB같은 특별한 하드웨어를 이용해서 일부 해결 가능합니다)
'[컴퓨터공학] > [운영체제]' 카테고리의 다른 글
[운영체제]Min Algorithm, FIFO Algorithm - 가상 메모리 관리2 (0) | 2021.06.03 |
---|---|
[운영체제]가상 메모리 관리(Virtual Memory Management) - 1 (0) | 2021.06.03 |
[운영체제] Segmentation system - Address mapping (0) | 2021.06.02 |
[운영체제] Paging system - 연관 사상(Associative mapping), Hybrid direct/associative mapping (0) | 2021.06.01 |
[운영체제] Paging system - 직접 사상(Direct Mapping) (0) | 2021.06.01 |