일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 미국
- 코딩
- Snap!
- 여행
- Jupyter Notebook
- Scratch
- 운영체제 강의
- concurrency
- The beauty and Joy of computing
- Deep Learning
- insertion Sort
- list
- scheduling policy
- 푸드트럭
- 스크래치
- xv6
- 맛집
- 7월4일
- Operating System
- 독립기념일
- Lock
- 버클리
- 균형의 정치
- 영어논문
- Process
- 잘 짜인 코드
- control flow
- 직업으로서의 정치 서평
- CLRS
- 프로그래밍
- Today
- Total
여행다니는 펭귄
Memory Virtualization 정리 본문
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
저번에 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 |