///////
Search
6️⃣

심화문제 5 ~ 7

심화문제 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. 페이지 부재 빈도 방식

프로세스가 필요한 페이지의 양을 동적으로 결정하는 방법
페이지 부재 횟수를 기록 → 페이지 부재 비율을 계산
페이지 부재 비율이 상한선을 초과
→ 할당된 프레임이 적다
→ 프레임을 추가해 늘린다
페이지 부재 비율이 하한선 밑으로 내려감
→ 메모리가 낭비된다
→ 할당된 프레임을 회수
프로세스 처음 시작시 페이지 할당량을 예측하기 어렵다
→ 페이지 부재 빈도 방식으로 프로세스를 실행하며 추가적으로 페이지를 할당하거나 회수
→ 적정 페이지 할당량을 조절