[기출] virtual memory

agnusdei·2024년 10월 17일
0

Hardware & Software

목록 보기
40/136

가상기억장치(Virtual Memory) 관리 전략

가상기억장치(Virtual Memory)는 물리적 메모리의 크기를 확장하기 위해 디스크의 일부를 메모리처럼 사용하는 메모리 관리 기법입니다. 이 시스템이 효율적으로 작동하려면 메모리 내의 데이터를 언제, 어떻게 불러오고 교체할지에 대한 구체적인 전략이 필요합니다. 이러한 전략에는 반입(Fetch) 전략, 배치(Placement) 전략, 교체(Replacement) 전략이 있습니다. 각 전략에 대해 자세히 설명하겠습니다.

  1. 반입(Fetch) 전략

반입 전략은 프로세스가 실행될 때 어느 시점에 가상 메모리에서 물리 메모리로 페이지를 가져올지 결정하는 방식입니다. 반입 전략은 다음 두 가지로 나눌 수 있습니다.

•	요구 반입(Demand Fetch): 이 전략에서는 프로그램이 페이지를 참조할 때마다 그 페이지가 물리 메모리에 없으면 그때 가상 메모리에서 해당 페이지를 불러옵니다. 즉, **페이지 폴트(Page Fault)**가 발생했을 때만 데이터를 반입합니다. 이 방식은 불필요한 페이지의 반입을 줄일 수 있으나, 처음 참조 시마다 페이지 폴트가 발생해 성능 저하가 발생할 수 있습니다.
•	예측 반입(Prefetch): 요구 반입과 달리, 프로그램이 페이지를 참조하기 전에 미리 필요한 페이지를 예상하여 가져오는 방식입니다. 이를 통해 페이지 폴트 발생 가능성을 줄일 수 있지만, 불필요한 데이터를 많이 불러올 경우 메모리 낭비가 발생할 수 있습니다.
  1. 배치(Placement) 전략

배치 전략은 페이지가 물리 메모리에 적재될 때 어느 위치에 저장할지를 결정하는 방식입니다. 가상 메모리에서 불러온 페이지를 물리 메모리의 어느 영역에 배치할지 결정하는 것은 성능에 중요한 영향을 미칩니다. 주로 사용되는 배치 전략은 다음과 같습니다.

•	임의 배치(Random Placement): 페이지를 물리 메모리 내에서 아무 위치나 선택하여 배치하는 방법입니다. 구현이 간단하나 성능 최적화에는 적합하지 않습니다.
•	최적 배치(Optimal Placement): 시스템이 특정 페이지가 자주 사용될 메모리 영역을 예측하여 최적으로 배치하는 방식입니다. 그러나 완벽한 예측은 어렵기 때문에 이상적인 성능을 보장하는 것은 아닙니다.
•	연속 배치(Contiguous Placement): 연속된 페이지들이 물리 메모리 내에서 인접한 위치에 배치되는 방식입니다. 이 방법은 프로세스의 연속적인 참조 패턴에 적합하나, 단편화(Fragmentation) 문제가 발생할 수 있습니다.
  1. 교체(Replacement) 전략

교체 전략은 물리 메모리가 꽉 찬 상태에서 새로운 페이지를 적재할 때, 기존에 적재된 페이지 중 어느 것을 제거할지를 결정하는 방식입니다. 교체 전략은 메모리 성능에 큰 영향을 미치며, 대표적인 교체 전략은 다음과 같습니다.

•	FIFO (First In First Out): 가장 먼저 들어온 페이지를 가장 먼저 교체하는 방식입니다. 구현이 단순하지만, 오래된 페이지가 여전히 자주 사용될 수 있는 경우에는 비효율적일 수 있습니다.
•	LRU (Least Recently Used): 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식입니다. 이 방법은 자주 사용되지 않는 페이지를 제거하기 때문에 성능이 향상될 수 있지만, 구현이 복잡할 수 있습니다.
•	LFU (Least Frequently Used): 참조 횟수가 가장 적은 페이지를 교체하는 방식입니다. 이 방법은 자주 사용되지 않는 페이지를 제거하는 데 적합하지만, 최근에는 사용되지 않으나 과거에 많이 사용된 페이지가 제거되지 않을 수 있습니다.
•	Optimal Page Replacement: 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하는 방식으로, 이론적으로는 가장 효율적입니다. 하지만 미래의 메모리 접근 패턴을 알 수 없기 때문에 실제로 구현하기 어렵습니다.

요약

•	반입 전략: 페이지를 물리 메모리에 언제 가져올지를 결정하며, 대표적으로 요구 반입과 예측 반입이 있습니다.
•	배치 전략: 페이지가 물리 메모리 내에서 어디에 위치할지를 결정하는 전략으로 임의 배치, 최적 배치, 연속 배치 방식이 있습니다.
•	교체 전략: 새로운 페이지를 적재할 때, 물리 메모리에서 어느 페이지를 제거할지 결정하는 전략으로 FIFO, LRU, LFU, Optimal 교체 방식이 있습니다.

가상기억장치 관리의 핵심은 시스템의 성능을 극대화하기 위해 적절한 전략을 선택하고 조합하는 데 있습니다.

0개의 댓글