Demand Paging
- 실제로 필요할 때 page를 메모리에 올림
- i/o양 감소
- memory 사용량 감소
- 빠른 응답
- 많은 사용자 수용
- invalid: 사용되지 않는 주소영역/물리적 메모리에 없음(page fault)
page fault
- invalid page접근->mmu(주소변환하드웨어)가 trap발생시킴->커널모드(cpu가 운영체제로)->page fault handler 실행
- disk에서 메모리로 읽어옴(i/o때 cpu뺏김->disk read끝->valid)
- cpu 잡고 다시 실행
free frame 없으면
- page replacement: 어떤 frame 빼앗을지, 곧바로 사용되지 않을 page
- optimal algorithm: 미래참조, 실제 사용x
- FIFO algorithm: 먼저 들어온 것 먼저 내쫓음, 메모리 늘렸는데 성능 나빠짐
- Least Recently Used algorithm: 가장 오래전에 참조된 것 지움
- Least Frequently Used algorithm: 참조 횟수가 가장 적은 것 지움 (힙자료구조)
- clock algorithm: not Recently Used, reference bit(하드웨어가함) 1 최근 참조/modifidd bit 1 최근 변경
캐슁
- 캐쉬에 요청된 데이터 저장해 두었다가 후속 요청시 캐쉬로 직접서비스
- 시간제약: O(1), O(log n)
page frame의 allocation
- 필요성: 명령어 수행 위해 최소 할당 frame 수가 있음
- equal allocation: 똑같은 개수
- proportional allocation: 프로세스 크기
- priority allocation: 우선순위
thrashing
- 프로세스 원활한 수행에 필요한 page frame 수 할당받지 못한 경우
- page fault rate 높아짐-> cpu utiliztion 낮아짐->os mpd 높여야한다고 판단->프로세스 시스템에 추가->프로세스당 frame 수 감소
working set model
- locality of reference: 프로세스는 특정 시간 동안 일정 장소만 집중적으로 참조
- working set: 프로세스 수행시 한꺼번에 메모리에 올라와 있어야 하는 page 집합, thrashing방지
- working set algorithm: working set window 통해, 전부 보장될 때만
Page Fault Frequency Scheme
- Page Fault rate 상한값과 하한값 둔다.
- 빈 frame 없으면 일부프로세스 swap out
http://www.kocw.net/home/search/kemView.do?kemId=1046323&ar=pop
'운영체제' 카테고리의 다른 글
[운영체제] Disk Management and Scheduling (0) | 2022.05.13 |
---|---|
[운영체제] File Systems (0) | 2022.05.12 |
[운영체제] Memory Management (0) | 2022.05.06 |
[운영체제] Deadlocks (0) | 2022.05.03 |
[운영체제] Process Synchronization (0) | 2022.05.01 |