티스토리 뷰
Motivation and Rationable
motivation (메모리관리의 발전)
프로세스의 조각(페이징과 세그멘테이션)의 특징은 메모리 관리의 획기적인 발전의 열쇠이다.
이 조각들은 물리메모리에서 반드시 연속적일 필요가 없다. 즉, 비연속적인 물리주소에 저장이 가능하다.
지금까지는 모든 프로세스가 메모리에 완전히 적재된 상태에서 실행된다고 가정.
>> 실행중인 프로그램의 모든 페이지나 세그먼트가 메모리에 있을 필요는 없다. 운영체제가 부분적으로 적재된 프로그램을 실행할 수 있게 해야한다.
rationale(이론적근간)
"Knuth’s estimate: 90% of the time in 10% of the code"
:프로그램의 실행시간의 90%가 전체코드 중 10%에서 소비된다. >> 그만큼 자주 쓰이는 코드는 한정되어 있다.
Virtual Memory Terminology
분산적재 + 부분적재
가상메모리는 물리메모리에 없는 데이터를 마치 메모리에 있는 것처럼 다룰 수 있도록 해주는 기술입니다.
1. 부분 적재(Partially Resident) : 프로세스의 일부페이지만 실제 물리 메모리에 존재함.
2. 논리 주소 공간 (Logical Address Space) : 주기억장치 + 보조기억장치를 결합한 하나의 연속된 논리주소공간 형성
| 💡 여러 프로세스를 동시에 메모리에 유지 가능 | 일부 페이지만 필요하므로 메모리 공간 절약 |
| 💡 프로세스 크기가 물리 메모리보다 커도 실행 가능 | 필요한 페이지만 불러오면 됨 |
| 💡 “거의 무한한 메모리”를 사용하는 착각 제공 | 실제보다 훨씬 큰 프로그램도 실행 가능 |
OS Policies for Virtual Memory

- Fetch Policy : 반입정책, 언제 어떤 페이지를 디스크에서 물리메모리에 가져올지 결정하는 방식
Demend paging: 필요할 때만 적재하자.default
즉, 프로세스가 실제로 해당페이지에 접근하려 할 때 비로소 메모리에 적재됨. 시작할 때 페이지폴트 ( 프로세스가 접근하려는 페이지가 메인 메모리에 없는 경우 발생하는 예외 상황)이 많이 발생.
Pre-paging : 예측을 기반으로 미리 페이지를 불러옴. 페이지폴트 줄일수 있음.
- Placement Policy : 배치정책, 어디에 페이지를 배치할지 결정하는 방식
1. 순수 세그멘테이션 시스템 : 세그멘테이션은 크기가 다양하므로 배치위치를 잘 선택해야 단편화를 줄일 수 있음.
first fit, next fit, best fit
2. 페이징 또는 페이징+세그멘테이션 : 모든 페이지는 크기가 동일하므로 어디에 넣든 성능에 거의 영향 없음.
3. 최근 들어 placement가 중요해진 영역 : numa시스템 (메모리를 가까운 데 배치하는 것이 성능에 영향)
- ★ Replacement Policy : 교체정책, 빈공간이 없을 때 어떤 페이지를 내보내고 새로운 페이지를 넣을지 결정하는 방식 ,성능에 큰 영향
정책이 필요한 상황 : 빈 프레임이 없을 때, 사용가능한 메모리가 운영체제가 정한 기준 이하로 떨어졌을 때
교체정책의 목표 : 가까운 미래에 다시 참조되지 않을 페이지를 제거하는 것
>> 그래서 대부분의 알고리즘은 현재 메모리에 있는 페이지 중 가장 오래전에 사용 된 것을 제거하려함 (LRU)
제한 : frame locking (일부 프레임은 잠금상태에 있는데, 잠긴 프레임에 있는 페이지는 교체대상이 아님.)
Hotness : 페이지가 얼마나 자주 또는 최근에 접근되었는지 나타내는 정도
hot page : 메모리에 계속 유지하는 것이 바람직, cold page : 오래되었거나 접근이 드문 페이지

note on counting page faults
- Resident Set Policy
- Cleaning Policy 클리닝정책 : 수정된 페이지를 디스크에 언제 어떻게 기록할지
수정되지 않은 상태라면 디스크에 쓸 필요가 없음
1. precleaning : 미리 디스크에 쓰는 방식 장점 : 교체시 빠름 / 단점 : 저장 후 다시 수정될 수 있음
2. demand cleaning : 교체가 결정될 때 디스크에 씀 장점: 구현간단, 불필요한 쓰기 줄임 / 단점 : 지연발생가능
3. page buffering : 디스크에 쓰지 않고 버퍼에 잠시 저장 장점 : 디스크 i/o를 줄일 수 있음.
thrashing : 프로세스가 너무 많은 페이지 폴트를 일으켜 실행보다 페이징에 더 많은 시간을 쓰는 비정상적인 상태
Hardware and Control Structures for VM
Virtual Memory Issues
'학교복습용 > 오퍼레이팅시스템 OS' 카테고리의 다른 글
| 오퍼레이팅시스템 14주차 / 17. IO Management and Disk Scheduling (0) | 2025.06.10 |
|---|---|
| 오퍼레이팅시스템 13주차 / 15.Memory Management (0) | 2025.06.10 |
| 오퍼레이팅시스템 12주차 / 14. Priority Inversion and Deadlocks (0) | 2025.06.10 |
| 오퍼레이팅시스템 11주차 / 13. Condition Variables and Synchronization (3) | 2025.06.10 |
| 오퍼레이팅시스템 10주차/ 12.Mutual Exclusion and Synchronization (0) | 2025.06.05 |
