Memory Management (Speicherverwaltung)
Memory Management (Speicherverwaltung)
한정된 RAM을 어떻게 효율적으로 쪼개 쓰고, 부족할 때 HDD를 어떻게 빌려 쓰는지
Memory Management (Speicherverwaltung)
- 과거에는 프로그램이 물리적 주소에 직접 접근(Direkte Adressierung)했으나, 이는 프로그램이 운영체제나 다른 프로그램의 메모리를 침범하여 시스템을 붕괴시킬 위험이 큼
- 운영체제는 각 프로세스에게 0부터 시작하는 고유하고 독립적인 가상 주소 공간(Virtueller Adressraum)을 부여하여 프로세스를 서로 완벽히 격리함
Paging
- Memory Management Unit (MMU)
- Translation Lookaside Buffer (TLB)
Page Replacement Strategies
- Page Fault(프로세스가 접근하려는 페이지가 현재 물리 메모리에 없는 상황)가 발생할 때, 운영체제는 디스크에서 해당 페이지를 메모리로 불러와야 함
- 메모리가 꽉 찼을 경우 어떤 페이지를 내쫓을지 결정해야 함
1. FIFO (First-In, First-Out)
2. Clock / Second-Chance
3. LRU (Least Recently Used) & Aging
4. Working Set
빈 공간 관리 및 할당 (Freispeicherverwaltung)
페이지 단위가 아닌, 연속된 물리적 메모리 블록을 어떻게 쪼개고 관리할 것인가
Buddy Algorithm
- 외부 단편화(External Fragmentation)을 줄일 수 있음
This post is licensed under CC BY 4.0 by the author.