paging

WHAT

DEF

1. Fixed-size Partitioning

Physical memory를 **[(draft yet): Page Frame]**이라는 고정된 크기의 블록으로 나누고, Virtual memory를 같은 크기의 **[(draft yet): Page]**로 분할

2. Non-contiguous Allocation w/ Table-driven Translation

하나의 process가 사용하는 Virtual memory 공간이 Physical memory 상에 연속적으로 배치되지 않고, 빈 Frame 어디든 흩어져서 올라갈 수 있도록 허용 분리된 두 주소 공간을 연결하기 위해, 각 Process마다 고유하게 존재하는 page table이라는 Mapping 구조를 활용

3. Logical-Physical Separation

CPU가 생성하는 Logical Address(Page Number + Offset)와 실제 Hardware의 Physical Address(Frame Number + Offset)를 완전히 분리


WHY

1. how to bind from program to memory?

if contiguous, binding of instruction and data to memory?
  • [(draft yet): compile time binding]
  • [(draft yet): load time binding]
  • [(draft yet): execution time binding]
execution time binding w/ Logical-Physical separation & table-driven translation
needs MMU

MMU; Memory Management Unit

2. shared code