여행다니는 펭귄

Memory Virtualization 정리 본문

컴퓨터/운영체제

Memory Virtualization 정리

핑구힝구 2021. 12. 15. 12:03

Virtual Memory and Adress Translation (tistory.com)

 

 

Virtual Memory and Adress Translation

1. Computer Data Storages 2. Memory Virtualization 3. Adress Translation 1. Computer Data Storages 우리가 예전에 살펴보았던 Memory는 Object Code, Program, Os data, Stack등을 포함한 Virtual한 Memory..

penguintravler.tistory.com

1) 메모리의 종류와 Multi level cell Technique에 대한 간략한 소개

 

2) Memory Hierarchy가 동작가능한 이유 (Temporal Locality, Spatial Locality) (Data reference, Instruction Reference)

 

3) Memory Virtualization (Virtual Address Space + Addres Translation)

 

4) Benefits of Memory Virtualization (Efficiency, Protection, Ease of Programming)

 

5) Design Goal of Address Translation (Transparency(unware of Address Translation), Protection, Flexibility)

 

6) Dynamic Relocation (메모리 낭비 어마어마함)

 

7) Segmentation (Externel Fragmentation, Hard to Free space Manage, Compaction 비쌈)

 

Free Space Management (tistory.com)

 

Free Space Management

우리는 그래서 남는 공간을 어떻게 관리해 주어야 할까요? Free space management는 variable sized unit이 포함되어 있어 매우 까다롭습니다. (segmentation 사용할 경우, heap allocation 사용할 경우 발생) 그..

penguintravler.tistory.com

 

8) Free Space Manage 기술 (Splitting, Coalescing) (header, magic number) (mmap, sbrk) (Best Fit, Next Fit, Worst Fit, First Fit)

 

 

Paging (tistory.com)

 

Paging

저번에 Segmentation에 대해서 알아보았죠? 그런데 Segmentation에는 문제점이 많습니다. Externel fragmentation Free space management가 복잡하다는 점 Compaction이 비싸다는 점 또 Code구간 Stack구간 Heap구..

penguintravler.tistory.com

9) Paging

장점 : Flexible, Simple

사용하는 Bit : (Valid Bit, Protection Bit, Present Bit, Dirty Bit, Reference Bit)

Paging 단점 (Huge Page Table, Performance Degrade, Internel Fragmentation)

Huge Page Table -> Hybrid, multi level paging

Performance Degrade -> TLB Cache

 

 

Translation Lookaside Buffer (tistory.com)

 

Translation Lookaside Buffer

TLB에 대한 내용은 저번에 Paging에 대한 글에서 살펴보았었죠? TLB는 full associative method를 통해 관리됩니다. 보통 TLB는 32,64,128개 정도의 Entry가 있는데, Hardware가 TLB에서 이 엔트리를 parallel하게..

penguintravler.tistory.com

10) TLB

full associative method

Who manage ( Software, Hardware )

Flush vs ASID

 

 

Paging with Smaller Tables (tistory.com)

 

Paging with Smaller Tables

Page Table 은 굉장히 크기가 큽니다. 동작중인 프로세스를 전부 저장해야 하기때문에 그 부담이 더 크죠. 그렇다고 이렇게 Page Size를 늘이면 Page Table의 크기는 줄어들지만 Internel Fragmentation이 매우.

penguintravler.tistory.com

11) Hybrid Approach

Segement의 단점을 공유함.

 

12) Multi Level Paging

장점: level of Indirection(Page다 따로따로 저장가능), DRAM에 올리기 쉬워짐

단점: Miss 나면 참조해야할게 아주 많음, 복잡함

 

13)Inverted Page Table

장점: Page Table이 하나만 있으면 됩니다.

단점: Hash Collision이 일어납니다

해결법은 PFN을 PTE에 추가해주면 됩니다. 그러면 PTE로 PA를 바로 알수는 없는데, Sharing문제도 해결할 수 있습니다.

 

Swapping and Page Replacement Policy (tistory.com)

 

Swapping and Page Replacement Policy

Operating System은 Virtual Space를 매우 크게 할당해 줍니다. 그것이 편리하고, 사용하기 쉽기 때문이죠. 그러니 저희는 Virtual Memory가 가득 차있을지, 아닐지 신경을 쓸 필요가 없는 것입니다. 그렇다면

penguintravler.tistory.com

 

14) Swapping Swap in, Swap out

 

15) Effective Accesstime Page fault가 어마어마한 영향 줌

 

16) Page는 언제 비우나? (Swap Daemon)

 

17) FIFO(Belady's anomaly 벨리데이의 모순), RANDOM, LRU(Clockwork Algorithm), LFU

 

18) Dirty Page (modified bit) - pending write

 

19) Demand or Prefetching

 

20) Thrashing

'컴퓨터 > 운영체제' 카테고리의 다른 글

I/O 장비 정리  (0) 2021.12.15
FSCK and Journaling  (0) 2021.12.15
Fast File System  (0) 2021.12.14
Swapping and Page Replacement Policy  (0) 2021.12.14
Paging with Smaller Tables  (0) 2021.12.14