▶ Page Fault
: 해당 page에 대한 frame이 main memory에 없다. Disk로 가야 한다!
- Page table의 valid bit == 0
요구 페이징(demand paging)
: 프로세스를 메모리에 적재할 때, 처음부터 모든 page를 적재하지 않고 필요한 page만을 메모리에 적재하는 기법
페이지 교체 알고리즘
: 쫓아낼 page를 결정하는 방법
- FIFO(First-In First-Out) page replacement algorithm
- Optimal page replacement algorithm: 자주 사용될 page를 남기고, 자주 사용되지 않을 page를 swap-out한다. (이상적)
- LRU(Least Recently Used) page replacement algorithm: 가장 최근에 사용되지 않은 page를 swap-out한다.
스레싱과 프레임 할당
Page fault란, 원하는 page에 대한 frame이 main memory에 없을 때 발생한다. 하지만 그 이유가 나쁜 페이지 교체 알고리즘에만 있는 것은 아니다.
프로세스가 사용할 수 있는 frame 수가 적어도 page fault는 자주 발생한다.
- 스레싱(threashing): 프로ꂌ스가 실제 실행되는 시간보다 paging에 더 많은 시간을 소요하여 성능이 저해되는 문제
스레싱이 발생하는 근본적인 원인은, 각 프로세스가 필요로 하는 최소한의 frame 수가 보장되지 않았기 때문이다. 따라서 운영체제는 각 프로세스들이 무리 없이 실행하기 위한 최소한의 프레임 수를 파악하고, 프로세스들에 적절한 수만큼 프레임을 할당해줄 수 있어야 한다.
▶ 프레임 할당 방식:
- 균등 할당(equal allocation): 모든 프로세스에게 균등하게 프레임을 제공하는 방식
- 비례 할당(proportional allocation): 프로세스 크기가 크면 프레임을 많이 할당하고, 프로세스 크기가 작으면 프레임을 적게 할당하는 방식
▶ 프로세스를 실행하는 과정에서 배분할 프레임을 결정하는 방식:
- 작업 집합 모델(working set model): '프로세스가 일정 기간 동안 참조한 page 집합'을 기억하여, 빈번한 page 교체를 방지한다.
- 작업 집합(working set): 실행 중인 프로세스가 일정 시간 동안 참조한 페이지의 집합 - 페이지 폴트 빈도(PFF: Page-Fault Frequency)
'Computer Architecture > 컴퓨터구조[01]' 카테고리의 다른 글
[혼자 공부하는 운영체제] 09-2. 운영체제의 큰 그림 (0) | 2023.11.29 |
---|---|
[컴퓨터구조] 1127 (1) | 2023.11.28 |
[혼자 공부하는 운영체제] 14-2. 페이징을 통한 가상 메모리 관리 (1) | 2023.11.28 |
[혼자 공부하는 운영체제] 14-1. 연속 메모리 할당 (0) | 2023.11.27 |
[컴퓨터구조] 1120 (0) | 2023.11.21 |