운영체제#7 가상메모리 #775
yoonminsang
started this conversation in
Today I Learned
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
8. 가상 메모리
1. 요구 페이징
요구 페이징의 페이지 부재처리
CPU가 무효 페이지에 접근하면 주소 변환을 담당하는 하드웨어인 MMU가 page fault trap 발생
CPU 제어권이 커널모드로 전환
page fault handler(페이지 부재 처리루틴)이 호출되어 page fault를 처리
2. 페이지 교체
1. 최적 페이지 교체
2. 선입선출 알고리즘
3. LRU 알고리즘
4. LFU 알고리즘
5. 클럭 알고리즘
3. 페이지 프레임의 할당
프로세스 여러 개가 동시에 수행되는 상황에서 각 프로세스에 얼만큼의 메모리 공간을 할당할 것인지 결정해야한다. 프로세스마다 페이지 프레임을 균등하게 할당할 수도 있지만 더 효율적인 메모리 할당 방법이 필요하다.
할당 알고리즘 세가지
4. 전역교체와 지역교체
5. 스레싱
스레싱 발생 예시
정리
CPU 이용률이 낮다 => OS는 MPD를 높인다.
MPD가 과도하게 높아지면 => 각 프로세스에게 할당되는 메모리 양이 지나치게 감소한다. => 페이지 부재가 빈번하게 발생한다. => 디스크 IO 작업이 수반하므로 문맥교환을 통해 다른 프로세스에게 CPU가 이양된다. => 다른 프로세스도 할당받은 메모리가 적어서 페이지 부재가 발생한다. => 또 다른 프로세스에게 CPU가 할당된다. => 결국 ready queue에 있는 모든 프로세스에게 CPU가 한 차례씩 할당되었는데도 모든 프로세스가 다 페이지 부재를 발생시켜 시스템은 페이지 부재를 처리하느라 매우 분주해지고 CPU의 이용률은 급격히 떨어진다. => OS는 MPD를 높이기 위해 또 다른 프로세스를 메모리에 추가한다. => 프로세스당 할당된 프레임의 수가 더욱 감소하고 페이지 부재는 더욱 빈번하게 발생한다. => 페이지 교체, 스왑 인, 스왑 아웃이 지속적으로 발생하고, CPU는 거의 일하지 않는다.
All reactions