Operating System

[쉽게 배우는 운영체제] Chapter 09. 가상 메모리 관리

곽수진 2023. 6. 20. 00:19
반응형

01 요구 페이징

운영체제는 필요한 모듈만 메모리에 올려 실행하고 나머지 모듈은 필요하다고 판단될 때 메모리로 불러오는데 이를 요구 페이징이라고 한다.

 

 

02 페이지 부재

프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 페이지 부재라고 한다.

 

 

03 페이지 교체 알고리즘

메모리가 꽉 차서 메모리에 있는 페이지를 스왑 영역으로 보내야할 때 보낼 페이지를 결정하는 알고리즘이다.

  • 무작위 페이지 교체 알고리즘 : 스왑 영역으로 보낼 페이지를 특별한 로직 없이 무작위로 선정한다.
  • FIFO 페이지 교체 알고리즘 : 시간상 메모리에 가장 먼저 들어온 페이지를 대상 페이지로 선정하여 스왑 영역으로 쫓아낸다. 성능은 좋지 않다.
  • 최적 페이지 교체 알고리즘 : 앞으로 사용하지 않을 페이지를 스왑 영역으로 보내는 이상적인 알고리즘이다. 구현은 불가능하다.
  • LRU(최근 최소 사용) 페이지 교체 알고리즘 : 메모리에 올라온 후 가장 오랫동안 사용되지 않은 페이지를 스왑 영역으로 옮긴다. 낭비되는 메모리 공간이 많다는 것이 단점이다.
  • LFU(최소 빈도 사용) 페이지 교체 알고리즘 : 페이지가 몇 번 사용되었는지를 기준으로 대상 페이지를 선정한다. 낭비되는 메모리 공간이 많다는 것이 단점이다.
  • NUR(최근 미사요) 페이지 교체 알고리즘 : LRU와 LFU와 성능이 비슷하면서도 불필요한 공간 낭비 문제를 해결한 알고리즘이다. 페이지마다 접근 비트와 변경 비트를 두고 (0,0), (0,1), (1,0), (1,1)의 순서대로 스왑 영역으로 옮긴다.
  • 2차 기회 페이지 교체 알고리즘 : 접근에 성공한 페이지를 큐의 맨 뒤로 이동시켜 접근 기회를 한 번 더 준다.
  • 시계 페이지 교체 알고리즘 : 대상 페이지를 선정하는 포인터와 접근 비트가 있다. 대상 포인터가 가리키는 페이지가 스왑으로 옮겨지고, 해당 포인터는 아래쪽으로 이동한다. 접근 비트가 1이면 0으로 만들고 다시 한 칸 밑으로 이동한다.

 

04 스레싱

프로세스가 많이 실행되고 하드디스크 입출력이 너무 많아져서 작업이 멈춘 것 같은 상태를 스레싱이라 한다.

 

 

05 프레임 할당 방식

  • 정적 할당 : 프로세스 실행 초기에 프레임을 나누어 준 후 그 크기를 고정하는 방식이다. 균등 할당과 비례 할당이 있다.
  • 동적 할당 : 프로세스를 실행하는 중에 시시각각 변하는 요청에 따라 프레임을 나누어 주기도 하고 회수하기도 하는 방식이다. 작업집합 모델을 사용하는 방식과 페이지 부재를 사용하는 방식이 있다.

 

 


 

 

연습 문제 01. 프로세스의 요청이 있을 때 데이터를 메모리로 가져오는 것과 가장 관련이 깊은 것은?

① 요구 페이징

② 지역성

③ 스레싱

④ 페이지 부재

 

 

연습 문제 02. 메모리가 꽉 차서 작업이 멈춘 것 같은 상태를 가리키는 것은?

① 요구 페이징

② 지역성

③ 스레싱

④ 페이지 부재

 

 

연습 문제 03. 프로세스가 페이지를 요청할 때 해당 페이지가 물리 메모리에 없는 상태를 가리키는 것은?

① 요구 페이징

② 지역성

③ 스레싱

④ 페이지 부재

 

 

연습 문제 04. 요구 페이징의 장점과 가장 거리가 먼 것은?

① 커다란 주소 공간 제공

② 메모리 절약

③ 메모리의 효율적 관리

④ 프로세스 응답 속도 향상

 

 

연습 문제 05. 포토샵을 실행할 때 각종 필터 모듈은 메모리에 올라오지 않는다. 이와 가장 관련이 깊은 것은?

① 요구 페이징

② 멀티프로그래밍

③ 스레싱

④ 페이지 부재

 

 

연습 문제 06. 페이지 교체 알고리즘에 적용되는 이론은?

① 요구 페이징

② 지역성

③ 스레싱

④ 페이지 부재

 

 

연습 문제 07. 캐시에 적용되는 이론은?

① 요구 페이징

② 지역성

③ 스레싱

④ 페이지 부재

 

 

연습 문제 08. 다음 페이지 교체 알고리즘 중 나머지 3개와 성격이 다른 알고리즘은?

① LRU(최근 최소 사용)

② 최적

③ NUR(최근 미사용)

④ LFU(최소 빈도 사용)

 

 

연습 문제 09. 처음 메모리로 올라온 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은?

① LRU(최근 최소 사용)

FIFO(선입선출)

③ NUR(최근 미사용)

④ LFU(최소 빈도 사용)

 

 

연습 문제 10. 시간을 기준으로 가장 오랫동안 사용하지 않은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은?

① LRU(최근 최소 사용)

② FIFO(선입선출)

③ 최적

④ LFU(최소 빈도 사용)

 

 

연습 문제 11. 접근한 빈도수가 가장 적은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은?

① LRU(최근 최소 사용)

② FIFO(선입선출)

③ 최적

④ LFU(최소 빈도 사용)

 

 

연습 문제 12. 추가되는 2bit만으로 구현 가능한 페이지 교체 알고리즘은?

① LRU(최근 최소 사용)

② FIFO(선입선출)

③ NUR(최근 미사용)

④ LFU(최소 빈도 사용)

 

 

연습 문제 13. FIFO(선입선출) 병행 알고리즘으로, 접근한 페이지가 큐의 맨 뒤로 이동하는 페이지 교체 알고리즘은?

① NRU(최근 미사용)

② Second Chance

③ NUR(최근 미사용)

④ Clock

 

 

연습 문제 14. FIFO(선입선출) 변형 알고리즘으로, 대상 포인터가 원형으로 회전하는 페이지 교체 알고리즘은?

① NRU(최근 미사용)

② Second Chance

③ NUR(최근 미사용)

④ Clock

 

 

연습 문제 15. NUR(최근 미사용) 알고리즘에서 가장 먼저 스왑 영역으로 옮겨지는 패턴은?

① (0, 0)

② (0, 1)

③ (1, 0)

④ (1, 1)

 

 

연습 문제 16. NUR(최근 미사용) 알고리즘에서 reset이 발생하는 패턴은?

① (0, 0)

② (0, 1)

③ (1, 0)

④ (1, 1)

 

 

연습 문제 17. 다음 참조 시프트 패턴 중 스왑으로 옮겨야 할 것은?

① 00111011

② 10000000

③ 01000001

④ 11100000

 

연습 문제 18. 최적 근접 페이지 교체 알고리즘이 아닌 것은?

① LRU(최근 최소 사용)

② FIFO(선입선출)

③ NUR(최근 미사용)

④ LFU(최소 빈도 사용)

 

 

연습 문제 19. 작업집함 모델과 가장 관련이 높은 것은?

① 정적 프레임 할당

② 동적 프레임 할당

③ 균등 할당

④ 비례 할당

 

 

연습 문제 20. 페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식과 가장 관련이 높은 것은?

① 페이지 부재 빈도

② 작업 집합 모델

③ 균등 할당

④ 비례 할당

 

 

연습 문제 21. 최근 일정 시간 동안 참조된 페이지들을 집합으로 만들고, 이 집합에 있는 페이지들을 물리 메몰에 유지하여 프로세스 실행을 돕는 방식은?

① 페이지 부재 빈도

② 작업 집합 모델

③ 균등 할당

④ 비례 할당

 

 

연습 문제 22. (요구 페이징)은 프로세스 요청이 있을 때 데이터를 메모리로 가져오는 것이다.

 

 

연습 문제 23. (미리 가져오기)는 사용할 것으로 예상되는 페이지를 가져오는 것으로 캐시에 적용한다.

 

 

연습 문제 24. (스레싱)은 메모리가 꽉 차서 작업이 멈춘 것 같은 상태를 말한다.

 

 

연습 문제 25. (스레싱 발생 지점)은 물리 메모리의 크기에 비하여 멀티프로그래밍 정도가 너무 높아 작업이 거의 이루어지지 않는 상태를 말한다.

 

 

연습 문제 26. 물리 메모리의 크기를 늘리면 작업이 원만하게 이루어진다. 이는 (스레싱)이 발생하는 시점이 뒤로 이동하였기 때문이다.

 

 

연습 문제 27. (페이지 부재)는 프로세스가 페이지를 요청했을 때 해당 페이지가 물리 메모리에 없는 상태이다.

 

 

연습 문제 28. 프로세스가 페이지를 요청할 때 메모리의 플래그 비트 중 유효 비트가 1이면 (페이지 부재)가 발생한다.

 

 

연습 문제 29. (세그먼테이션 오류)는 사용자 프로세스가 주어진 메모리 공간을 벗어나는 에러를 말한다.

 

 

연습 문제 30. 포토샵과 같은 프로그램을 실행할 때 각종 필터 모듈은 사용자 요청이 있을 때만 메모리에 올라온다. 이러한 기술을 (요구 페이징)이라고 한다.

 

 

연습 문제 31. (LRU) 페이지 교체 알고리즘은 처음 메모리로 올라온 페이지를 스왑 영역으로 보내는 알고리즘이다.

 

 

연습 문제 32. (최적) 페이지 교체 알고리즘은 이상적이지만 실제로 구현하기는 어렵다.

 

 

연습 문제 33. (LFU) 페이지 교체 알고리즘은 접근한 빈도수가 가장 적은 페이지를 스왑 영역으로 보낸다.

 

 

연습 문제 34. (LRU) 페이지 교체 알고리즘은 참조 시프트 방식으로 구현 가능하다.

 

 

연습 문제 35. (NUR) 페이지 교체 알고리즘은 추가되는 접근 비트와 변경 비트로 구현한다.

 

 

연습 문제 36. (2차 기회) 페이지 교체 알고리즘은 FIFO(선입선출) 변형 알고리즘으로, 접근한 페이지가 큐의 맨 뒤로 이동하는 알고리즘이다.

 

 

연습 문제 37. (시계) 알고리즘은 FIFO(선입선출) 변형 알고리즘으로, 대상 포인터가 원형으로 회전하는 알고리즘이다.

 

 

연습 문제 38. NUR(최근 미사용) 알고리즘에서 앞의 패턴이 없을 경우 두 번째로 스왑으로 옮겨지는 패턴은 ((1,0))이다.

 

 

연습 문제 39. NUR(최근 미사용) 알고리즘에서 앞의 패턴이 없을 경우 세 번째로 스왑으로 옮겨지는 패턴은 ((0,1))이다.

 

 

연습 문제 40. 최근 근접 페이지 교체 알고리즘으로 LRU(최근 최소 사용), LFU(최소 빈도 사용), (NUR)이 있다.

 

 

연습 문제 41. FIFO(선입선출) 변형 알고리즘에는 2차 기회 페이지 교체 알고리즘과 (시계) 알고리즘이 있다.

 

 

연습 문제 42. 정적 프레임 할당에는 균등 할당과 (비례) 할당이 있다.

 

 

연습 문제 43. (페이지 부재 빈도) 방식은 동적 프레임 할당 방법 중 하나로 페이지 부재 횟수를 기록하여 페이지 부재 비율을 계산하는 방식이다.

 

 

연습 문제 44. (작업 집합 모델)은 최근 일정 시간 동안 참조된 페이지들을 집합으로 만들고, 이 집합에 있는 페이지들을 물리 메모리에 유지하여 프로세스 실행을 돕는다.

 

 

연습 문제 45. 가상 메모리 시스템에 대하여 설명하시오.

가상 메모리의 크기는 물리 메모리와 스왑 영역을 합친 것으로 스왑 영역은 하드디스크에 존재하나 메모리 관리자가 관리하는 것으로, 가상 메모리의 구성 요소 중 하나다. 가상 메모리 시스템에서 사용자의 프로세스는 물리 메모리와 스왑 영역 중 한 곳에 있으며 이때 페이지가 스왑 영역에 있는 경우는 크게 요구 페이징으로 처음부터 물리 메모리에 올라가지 못한 경우와 메모리가 꽉 차서 스왑 영역으로 옮겨 온 경우 두 가지가 존재한다.

 

 

연습 문제 46. 요구 페이징에 대하여 설명하시오.

사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것을 의미한다.

 

 

연습 문제 47. 스레싱에 대하여 설명하시오.

하드디스크의 입출력이 너무 많아져서 잦은 페이지 부재로 작업이 멈춘 것 같은 상태를 스레싱이라고 한다.

 

 

연습 문제 48. 최적 근접 알고리즘에 대하여 설명하시오.

최적 근접 알고리즘에는 시간적으로 멀리 떨어진 페이지를 스왑 영역으로 보내는 LRU, 사용 빈도가 적은 페이지를 스왑 영역으로 보내는 LFU, 최근에 사용한 적이 없는 페이지를 스왑 영역으로 보내는 NUR, FIFO 알고리즘으로 변형하여 성능을 높인 FIFO 변형 알고리즘이 존재한다.

반응형