프로세스를 구성하는 페이지 중에 당장 사용될 페이지만을 올리는 방식
특정 페이지에 대해 CPU의 요청이 들어온 후에야 해당 페이지를 메모리에 적재
요구 페이징 기법의 이점
+ 메모리 사용량 감소
+ 입출력 오버헤드 줄어듬
+ 시스템이 더 많은 프로세스를 수용 가능
+ 프로그램이 물리적 메모리의 용량 제약을 벗어나는 것이 가능
유효-무효 비트 (valid-invalid bit)
가상 메모리 기법에서 프로세스가 실행되는 동안
페이지들이 물리적 메모리와 스왑영역에 존재하는데
어떤 페이지가 물리적 메모리에 존재하는지 구별이 필요
=> 요구 페이징 기법에서는 유효-무효 비트를 페이지 테이블의 각 항목별로 저장
- 유효(v)
메모리에 해당 페이지가 적재되어 있는 경우 - 무효 (i)
해당 페이지가 스왑영역에 있는 경우,
현재 메모리에 없는 경우,
페이지가 속한 영역을 프로세스가 사용하지 않는 경우
1) 요구 페이징의 페이지 부재 처리
페이지 부재(page-falut)
CPU가 참조하려는 페이지가 현재 메모리에 올라와 있지 않아 유효-무효비트가 무효로 세팅되어 있는 경우
페이지 부재를 처리하는 과정
CPU가 무효 페이지에 접근
-> MMU(주소 변환을 담당하는 하드웨어)가 페이지 부재 트랩 발생
-> 운영체제의 페이지 부재 처리 루틴 호출
-> 페이지에 대한 접근이 부 적법 (사용되지 않는 영역에 속한 페이지에 접근 / 해당 페이지에 대한 접근 권한 위반)
-> 프로세스 종료
-> 페이지에 대한 접근이 적법
-> 물리적 메모리에 있는 빈 프레임을 할당받아 페이지를 읽어 해당 공간에 적재
-> 빈 프레임이 없는 경우
-> 물리적 메모리에 올라와 있는 페이지 중 하나를 디스크에 내려 놓음 (스왑 아웃)
즉, 부재 상태의 페이지를 메모리에 적재하기에 앞서 운영체제가 해당 페이지에 대한 접근이 적법한지 체크하는 과정
페이지 부재를 발생 시킨 프로세스 -> 봉쇄상태(디스크에서 파일을 다 읽어올때 까지 CPU를 반환)
(이유) 해당 페이지를 디스크에서 물리적 메모리에 적재하기까지 시간이 오랜시간 소요 - CPU 가 필요없음, 오버헤드 발생
디스크에 요청한 입출력 작업이 완료-> 인터럽트 발생 -> 해당 페이지 테이블에서 유효 비트로 설정 -> 준비 큐에서 대기
2) 요구 페이징의 성능
요구 페이징의 성능에 가장 큰 영향을 미치는 것은 페이지 부재의 발생 수
(이유) 디스크에서 메모리에 적재하는 과정(스왑아웃 -> 스왑인 -> 문맥교환) 에서 오버헤드 발생
유효 접근시간이 짧을 수록 ( 페이지 부재의 발생수가 적을 수록)
-> 요구 페이징 기법의 성능은 향상
성능 평가 방법
- 유효 접근시간(effective access time)
= (1- P) × 메모리 접근시간
+ P × ( 페이지 부재 발생 처리 오버헤드
+ 메모리에 빈 프레임이 없는 경우 스왑 아웃 오버헤드
+ 요청된 페이지의 스왑 인 오버헤드
+ 프로세스의 재시작 오버헤드)- (1 - P) : 페이지 부재가 일어나지 않는 비율
- 페이지 부재 발생비율(page fault rate) 0 ≤ P ≤ 1
P = 0 : 페이지 부재가 한 번도 일어나지 않은 경우
P = 1 : 모든 참조 요청에서 페이지 부재가 발생한 경우
'책 > 운영체제와 정보기술의 원리' 카테고리의 다른 글
8장 페이지 프레임의 할당 (0) | 2023.12.25 |
---|---|
8장 2 페이지 교체 (0) | 2023.12.24 |
8장 가상메모리 (1) | 2023.12.23 |
7장 6. 페이지드 세그먼테이션 (1) | 2023.12.21 |
7장 4. 페이징 기법 (0) | 2023.12.21 |