[운영체제(OS)] 9장. Virtual Memory Organization(2)

kothe·2022년 12월 5일
0

운영체제

목록 보기
10/17

Demading paging에 이어서 Segmetation, Hybrid paging/segmentation에 대해서 알아본다.

Segmentation

paging과 달리, segmentation은 같은 크기로 분할하는 것이 아니라 logical block으로 분할한다. 분할된 조각들을 segment라고한다.

  • 특징
    • main-memory를 pre-partition하는 것은 별로 좋지 않음
    • VPM 처럼 main memory를 분할한다.
    • logical하게 분할하기 때문에 sharing, protection에 유리하다.
    • Larger overhead in address mapping

VPM 기법과 유사하다.

Address mapping

  • v = (s,d)

    • s = segment number
    • d = offset
  • SMT paging과 달리 segment의 길이가 다르기 때문에 segment length가 있고,
    logical하게 분할하기 때문에 protection을 위한 protection bits열이 있다.

  • Direct mapping
    protection bit검사와 displacement d와 segment length를 비교하는 과정을 제외하고는 paging 기법과 같다.

Memory management

  • VPM과 유사함
  • 초기에는 1개의 partition만 존재
  • Placement strategies : first fit, best fit, worst fit, next fit

Hybrid Paging/Segmentation

  • Paging system
    • 장점 : simple and low overhead
    • 단점 : logical하게 분할하지 않기 떄문에 요구되는 complicated page sharing mechanism
  • Segmentation system
    • 장점 : logical분할 -> simple and easy sharing mechanism
    • 단점 : management overhead

두 기법은 logical하게 분할하는지 여부에 따라 장단점이 생긴다.
논리적 + 크기 단위로 같이 프로그램을 분할하는 방법이 hybrid기법이다.

  1. 먼저 프로그램을 logical segment로 분할
  2. 각 segment를 다시 page단위로 분할

최종적으론 page단위로 분할하기 떄문에 paging system 관리기법으로 관리하면 된다.

  • 가상 주소 v = (s,p,d)

  • 각 프로세스마다 SMT 필요 segment단위로 메모리에 들어가지 않기 때문에 residence bit은 필요없다.

  • 각 segment마다 PMT 필요

전체적으론 이런 구조다.


Summary

여기까지 주로 address mapping기법에 초점을 둬서 Virtual memory 기법에 대해서 알아봤다. Virtual memory 기법을 사용하려면 address mapping + run-time binding을 꼭 사용해야만 했고, address mapping을 얼마나 빨리하는지가 중요한 Issue였다.
이를 위해서 address mapping 기법들에 대해 알아봤다.

  • Demand paging
    • address mapping : TLB, Direct mapping, associative mapping, hybrid mapping, page table registers, hierarchical paging, inverted page table
    • Issues in demand paging : page sharing, page fault handling, performance(EAT), copy-on-write
  • Segmentation
  • Hybrid paging/segmentation
profile
천천히 꾸준히

0개의 댓글