심화문제 5
Q. NUR 페이지 교체 알고리즘의 동작을 설명하시오
NUR 페이지 교체 알고리즘(None Used Recently)
•
최근 미사용 페이지 교체 알고리즘
•
두 개의 비트로 미래를 추정
선정 순서 | 참조 비트 | 변경 비트 | |
1 | 0 | 0 | 접근, 변경한 적 없음 |
2 | 0 | 1 | 변경만 발생 |
3 | 1 | 0 | 접근만 발생 |
4 | 1 | 1 | 접근과 변경 두 가지 다 발생 |
•
페이지마다 참조 비트와 변경 비트를 가짐 → 페이지마다 추가되는 메모리 공간이 2비트
◦
참조 비트 : 페이지에 접근하면 1
◦
변경 비트 : 페이지가 변경되면 1
•
모든 페이지의 초기 상태는 (0,0), 모든 값이 (1,1)이면 (0, 0)으로 초기화
•
접근 순서 5번
◦
페이지 B에 접근하면 페이지 B의 비트가 (1, 0)으로 변경
•
접근 순서 6번
◦
페이지 A에 접근하면 페이지 B는 대상 페이지에서 제외
◦
페이지 C, 페이지 D 중 위에 있는 페이지 D가 스왑 영역으로 쫓겨난다
심화문제 6
Q. 프레임 할당 방식 중 정적 할당에 대해 설명하시오
정적 할당 방식
•
프로세스 실행 초기에 프레임을 나누어준 후, 그 크기를 고정
1. 균등 할당
•
프로세스의 크기과 상관 없이 사용 가능한 프레임을 모든 프로세스에 동일하게 할당
•
문제점
◦
크기가 큰 프로세스의 경우 필요한 만큼 프레임을 할당받지 못한다
→ 페이지 부재 빈번
◦
크기가 작은 프로세스의 경우 메모리 낭비
2. 비례 할당
•
프로세스의 크기에 비례하여 프레임을 할당
•
고정 할당보다는 좀 더 현실적
•
문제점
◦
프로세스가 실행 중에 필요로 하는 프레임을 유동적으로 반영하지 못한다
→ 작은 프로세스라도 실행 중에 많은 메모리(프레임)을 요구하는 경우가 있다
→ 동영상 플레이어 (요구 메모리 : 프로그램 < 동영상)
◦
사용하지 않을 메모리를 미리 확보하기 때문에 공간을 낭비
→ 당장 필요없는 프레임을 미리 할당
→ 메모리 낭비
심화문제 7
Q. 프레임 할당 방식 중 동적 할당에 대해 설명하시오
동적 할당 방식
•
프로세스는 실행 중 어떤 때는 많은 프레임이 필요하기도 하고, 어떤 때는 적은 프레임이 필요
•
시시각각 변하는 요청을 수용하는 방식
1. 작업집합(Working Set) 모델 방식
•
가장 최근에 접근한 프레임이 이후에도 또 참조될 가능성이 높다는 가정에서 출발
•
일정 시간 동안 참조된 페이지를 집합으로 만든다
→ 이 집합에 있는 페이지들을 물리 메모리에 유지
•
작업집합 크기(Working Set Size)
◦
작업집합 모델에서 물리 메모리에 유지할 페이지 크기
◦
작업집합에 들어갈 최대 페이지 수
•
작업집합 윈도우(Working Set Window)
◦
작업집합에 포함되는 페이지 범위
◦
현재 시점에 최대 어느 범위까지의 페이지를 살펴볼 것인가를 결정
•
작업집합 윈도우의 크기에 따라 프로세스의 실행 성능이 달라짐
◦
윈도우가 너무 크면 필요없는 페이지가 메모리에 남는다
◦
윈도우가 너무 작으면 필요한 페이지가 스왑 영역으로 옮겨진다
•
델타 동안 참조된 10개의 페이지 중 작업집합에는 WS(t1)={1, 7, 5, 2, 3}이 삽입
(작업 집합의 크기 : 5)
•
이 페이지들은 다음번 윈도우에 도달할 때까지 물리 메모리에 보존
•
작업 집합의 크기는 5 이므로 t1 기준 5개 페이지에 접근 후 시점이 t2
•
WS(t2)={2, 3, 4, 1, 7, 5} 가 되어야 하지만, 작업집합 크기가 5 이므로 t2 시점에 가까운 순서대로 작업 집합에 삽입된다
→ WS(t2)={2, 3, 4, 1, 7}
•
같은 원리로 WS(t3)={5, 3, 2, 4} 이다.
2. 페이지 부재 빈도 방식
•
프로세스가 필요한 페이지의 양을 동적으로 결정하는 방법
•
페이지 부재 횟수를 기록 → 페이지 부재 비율을 계산
◦
페이지 부재 비율이 상한선을 초과
→ 할당된 프레임이 적다
→ 프레임을 추가해 늘린다
◦
페이지 부재 비율이 하한선 밑으로 내려감
→ 메모리가 낭비된다
→ 할당된 프레임을 회수
•
프로세스 처음 시작시 페이지 할당량을 예측하기 어렵다
→ 페이지 부재 빈도 방식으로 프로세스를 실행하며 추가적으로 페이지를 할당하거나 회수
→ 적정 페이지 할당량을 조절