본문 바로가기
TIL (Today I Learned)/컴퓨터 시스템(CS)

[CS] 가상 메모리 Paging System #2

by 둥굴프 2022. 12. 1.
이 포스팅은 한국기술교육대학 김덕수 교수님의 강의를 참고하여 작성했습니다.

 

Virtual Storage Methods

- Paging system

- Segmentation system

- Hybrid paging/segmentation system

 

#1 Paging System

프로그램을 같은 크기의 블록으로 분할 ( Pages )

블록을 페이지라고 부른다.

Terminologies

Page

- 프로그램의 분할된 block

 

Page frame

- 메모리의 분할 영역

- Page와 같은 크기로 분할

 

[OS] Lec 9. Virtual Memory (2/5) 中

특징

논리적 분할이 아님 (크기에 따른 분할)

- Page 공유 (sharing) 및 보호 (protection) 과정이 복잡함

segmentation 대비

Simple and Efficient

- Segmentation 대비

No external fragmentation ( 공간이 충분한데 사용하지 못하는 현상 )

- internal fragmentataion 발생 가능 ( 내부 단편화는 발생 가능하다 )

 

윈도우11 운영체제에서 swap device를 설정할 수 있다.

Windows page size = 4KB (시스템에 따라 다를 수 있다 , 또한 Linux는 이를 수정할 수 있다.)

 

 

 

#2 Address Mapping

이전 포스팅의 Block Mapping과 유사하다.

 

Virtual address : v = (p,d)

- p : page number

- d : displacement (offset)

Address mapping

- PMT(Page Map Table) 사용

Address mapping mechanism

- Direct mapping (직접 사상)

- Associative mapping (연관 사상)

TLB (Translation Look-aside Buffer)

- Hybrid direct/associative mapping

 

1. Page Map Table (PMT)

[OS] Lec 9. Virtual Memory (2/5) 中

페이지는 전부 swap device에 저장되어있다.

secondary storage address : swap device 주소

 

 

2. Direct mapping

[OS] Lec 9. Virtual Memory (2/5) 中

1. 해당 프로세스의 PMT가 저장되어 있는 주소 b에 접근

2. 해당 PMT에서 page p에 대한 entry 찾음

3. 찾아진 entry의 존재 비트 검사

(1) Residence bit = 0 dls ruddn (page fault)

swap device에서 해당 page를 메모리로 적재

PMT를 갱신한 후 3-(2) 단계 수행

(2) Residence bit = 1인 경우,

해당 entry에서 page frame 번호 p'를 확인

4. p'와 가상 주소의 변위 d를 사용하여 실제 주소 r 형성

r = p' * pageSize + d

5. 실제 주소 r로 주기억장치에 접근

 

3. 문제점과 해결방안

문제점 :

메모리 접근 횟수가 2배 ( 성능 저하 )

PMT를 위한 메모리 공간 필요

 

해결방안 :

Associative mapping (TLB)

 

#3 Associative Mapping

TLB(Translation Look-aside Buffer)에 PMT 적재

Associative high-speed memory

PMT를 병렬 탐색

Low overhead, high speed

 

[OS] Lec 9. Virtual Memory (2/5) 中

하지만 비싼 하드웨어이다. 그렇기에 작다.

 

#4 Hybrid Direct/Associative Mapping

 

작은 크기의 TLB 사용

PMT : 메모리(커널 공간)에 저장

TLB : PMT중 일부 entry들을 적재 " 어떤 entry? "

최근에 사용된 page들에 대한 entry 저장

Locality (지역성)  활용

- 프로그램의 수행과정에서 한번 접근한 영역을 다시 접근 또는 인접 영역을 다시 접근할 가능성이 높음

[OS] Lec 9. Virtual Memory (2/5) 中

 

 

 

긴 글 읽어주셔서 감사드립니다.

22.12.01

댓글