본문 바로가기
책/쉽게 배우는 운영체제

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 9장

by Just Do Barro 2020. 5. 16.

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 9장

쉽게 배우는 운영체제 출처:구글
[연습문제]
1. 메모리 가져오기 정책 중, 사용자가 요구할 떄, 해당 페이지를 메모리로 가져오는 방식은 무엇인가?
요구 페이징
2. 요구 페이징과 반대로 앞으로 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식은 무엇인가?
미리 가져오기 방식(캐시)
3. 페이지 테이블 엔트리의 구조 중, 페이지가 실제 메모리에 있는지 나타내는 비트는 무엇인가?
유효 비트(현재 비트)
4. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트는 무엇인가?
접근 비트(참조 비트)
5. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 데이터의 변경이 있었는지 알려주는 비트는 무엇인가?
변경 비트(더티 비트)
6. 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 무엇이라 하는가?
페이지 부재
7. 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되어 있는 성질을 무엇이라 하는가?
지역성
8. 처음으로 메모리에 올라온 페이지 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
FIFO 페이지 교체 알고리즘
9. 미래의 접근 패턴을 기준으로 대상 페이지를 선정하여 스왑 영역으로 보내는 방식으로, 실제로 구현이 불가능한 페이지 교체 알고리즘은 무엇인가?
최적 페이지 교체 알고리즘
10. 시간적으로 멀리 떨어진 페이지를 스왑영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
LRU 페이지 교체 알고리즘
11. 사용 빈도가 적은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
LFU 페이지 교체 알고리즘
12. 최근에 사용한 적이 없는 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?
NUR 페이지 교체 알고리즘
13. FIFO 변형 페이지 교체 알고리즘 중, 성공한 페이지를 큐의 맨 뒤로 옮김으로써 기회를 한 번 더 주는 페이지 교체 알고리즘은 무엇인가?
2차 기회 페이지 교체 알고리즘
14. FIFO 변형 페이지 교체 알고리즘 중, 대상 페이지를 가리키는 포인터를 사용하여 포인터가 큐의 맨 바닥으로 내려가면 다음에 다시 큐의 처음을 가리키게 하는 페이지 교체 알고리즘은 무엇인가?
시계 알고리즘
15. 하드디스크의 입출력이 많아져서 잦은 페이지 부재로 작업이 거의 멈춰버린 상태를 무엇이라 하는가?
스레싱
16. 동적 프레임 할당 방식 중, 최근 일정 시간 동안 참조된 페이지를 집합으로 유지하고 이 집합에 있는 페이지들을 물리 메모리에 유지하는 것은 무엇인가?
작업 집합 모델
17. 동적 프레임 할당 방식 중, 페이지 부재 비율의 상한선과 하한선을 설정하고 페이지 부재 비율이 상한선을 초과하면 할당 프레임을 늘려주는 것은 무엇인가?
페이지 부재 빈도

 

[심화문제]

1. 요구 페이징의 의미와 효과를 설명하시오.

요구 페이징은 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것이다. 이는 메모리를 효율적으로 관리할 수 있다. 메모리가 꽉 차면 관리하기 어려우므로 가급적 적은 양의 프로세스만 유지한다. 또한 응답속도를 향상시키는 효과를 가져온다. 용량이 큰 프로세스를 전부 메모리로 가져와 실행하면 응답이 늦어질 수 있으므로 필요한 모듈만 올려 실행한다.

 

2. 세그먼테이션 오류와 페이지 부재의 차이를 설명하시오.

세그먼테이션 오류는 사용자의 프로세스가 주어진 메모리 공간을 벗어나거나 접근 권한이 없는 곳에 접근할 때 발생한다. 사용자 프로세스에 의해 발생하며 해당 프로세스를 강제 종료하여 해결한다. 

페이지 부재는 해당 페이지가 물리 메모리에 없을 때 발생하는 오류로 사용자 프로세스와 무관하다. 페이지 부재가 발생하면 메모리 관리자는 스왑영역에서 해당 페이지를 물리 메모리로 옮긴 후 작업을 진행한다. 

 

3. 지역성의 의미를 설명하시오.

기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되는 성질을 말한다. 크게 공간의 지역성, 시간의 지역성, 순차적 지역성으로 나뉜다. 

 

4. LRU 페이지 교체 알고리즘의 동작을 설명하시오.

메모리에 올라온 후 가장 오랫동안 사용되지 않은 페이지를 스왑영역으로 옮긴다. 최근에 사용된 페이지는 놔두고 오래전에 사용된 페이지를 대상 페이지로 선정한다. 시간을 기준으로 구현할 수 있으며 카운터나 참조 비트를 이용하는 방법도 있다. 참조 비트 시프트 방식은 각 페이지에 일정 크기의 참조 비트를 만들어 사용하는 것이다. 참조 비트의 초깃값은 0이며 페이지에 접근할 때 마다 1로 바뀐다. 또한 참조 비트는 주기적으로 오른쪽으로 한 칸 씩 이동한다. 

 

5. NUR 페이지 교체 알고리즘 동작을 설명하시오.

NUR 페이지 교체 알고리즘은 '최근 미사용 페이지 교체 알고리즘'이라 불린다. 추가 비트 2개만 사용하여 미래를 추정한다. 대상 페이지를 선정할 때는 (0,0), (0,1), (1,0), (1,1)중에 (0,0)인 페이지를 선정한다. 접근, 변경한 적 없는 페이지를 스왑영역으로 옮긴다. 없다면(0,1), (1,0), (1,1) 순으로 스왑영역으로 옮긴다. 모든 페이지가 (1,1)이 되면 모든 페이지 비트를 (0,0)으로 초기화한다.

 

6. 프레임 할당 방식 중 정적 할당에 대해 설명하시오.

정적 할당(Static Allocation) 방식은 프로세스 초기에 프레임을 나누어준 후 그 크기를 고정하는 것으로 균등 할당 방식과 비례 방식이 있다. 균등 할당(Equal Allocation) 방식은 프로세스의 크기와 상관없이 사용 가능한 프레임을 모든 프로세스에 동일하게 할당한다. 비례 할당(Proportional Allocation) 방식은 프로세스의 크기에 비례하여 프레임을 할당하는 방식이다. 

 

7. 프레임 할당 방식 중 동적 할당에 대해 설명하시오.

동적 할당 방식은 시시각각 변하는 요청을 수용하는 방식이다. 작업 집합 모델과 페이지 부재 빈도 방식이 있다. 작업 집합 모델(Working Set Model)은 최근 일정 시간 동안 참조된 페이지들을 집합으로 만들고, 이 집합에 있는 페이지들을 물리 메모리에 유지하여 프로세스의 실행을 돕는다. 페이지 부재 빈도 방식은 페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식이다. 페이지 부재 비율의 상한선과 하한선을 설정한다. 페이지 부재 비율이 상한선을 초과하면 할당한 프레임이 적다는 것을 의미하므로 프레임을 추가하여 늘린다. 반대로 페이지 부재 비율이 하한선 밑으로 내려가면 메모리가 낭비된다는 의미이므로 할당한 프레임을 회수한다.

댓글