연예인

가상 메모리 (Virtual Memory System) 핵심 요약 정리 (2)

비하인드톡톡 2022. 11. 5. 15:07

가상 메모리 이미지
가상 메모리

 

가상 메모리

가상 메모리 멀티프로그래밍을 수행하려면 많은 프로세스가 동시에 메모리에 있어야 합니다. 가상 메모리는 메모리에 나타나지 않더라도 전체 프로세스를 실행 가능하게 만드는 기술이다.

 

페이지 교체

요청 페이지에서 언급된 바와 같이 프로그램이 실행될 때 모든 항목이 물리 메모리에 다운로드되는 것은 아니기 때문에 프로세스 운영에 필요한 페이지를 요구하는 과정에서 페이지에 장애가 발생하면 원하는 페이지는 저장 보조 장치로부터 수입된다.

 

그러나 모든 물리 메모리가 사용되는 경우 페이지 교체가 이루어져야 합니다.(O, 운영 체제가 프로세스를 종료하도록 강제하는 방법이 있다.)

 

요청 페이징 시스템은 프로세스가 특정 페이지를 요구하면 페이지를 물리 메모리에 로드합니다. 가상 메모리에 필요한 페이지가 있을 때는 정상적으로 작동하지만 페이지가 없을 때는 문제가 발생합니다.

페이지 폴트가 없는 경우 하드 디스크 상의 페이지를 찾아 빈 프레임에 로드합니다.이 경우에도 '페이지를 올릴 빈 프레임이 없는 경우'라는 문제에 직면할 수 있습니다. 이때 업로드할 신규 페이지, 치환할 희생 프레임을 구하는 알고리즘 및 페이지 치환 알고리즘을 이용한다.

 

FIFO 페이지 교체

FIFO 페이지 교환 알고리즘은 시간을 위해 메모리상의 첫 페이지를 대상 페이지로 선택한다. 간단한 알고리즘입니다.

시간의 위치를 고려할 때 기억 속에 업로드된 오래된 페이지를 대상 페이지로 선택하는 것이 타당하다고 생각할 수 있지만, 오랫동안 기억에 업로드되어 있어도 자주 사용되는 페이지가 있을 수 있다.

 

이 알고리즘은 이에 대한 고려가 전혀 없기 때문에 나쁜 알고리즘입니다.

 

맨 앞에 보이는 페이지를 변경한다. 가상 메모리 입력 시간이나 업로드 순서를 대기열에 저장하고 페이지가 없을 때 메모리에 먼저 나타나는 페이지를 교체하는 방식이다.


일반적으로 프레임 수가 많을수록 페이지 오차는 적다고 생각할 수 있지만 물리적 공간이 증가하면 성능이 저하될 수 있다. 이 상황은 FIFO 이상, Bellady's Analy (FFO 이상)라고 불립니다.

 

LRU 페이지 교체

LRU의 페이지 교환 알고리즘은 「적어도 최근에 사용한」 알고리즘이다. 다시 말해 오랫동안 사용되지 않은 페이지는 대상 페이지로 선택된다. 이를 실행하는 데는 여러 가지 방법이 있을 수 있다. 

1) 페이지 액세스 시간 기반 구현

LRU 도식의 가장 간단한 형태입니다. 페이지에 액세스한 시간을 기록 및 구현하는 것입니다. 당신의 기록을 바탕으로 당신이 접속한 가장 오래된 페이지를 목적지 페이지로 선택한다. 이 방법의 단점은 기록하는데 시간이 많이 걸리고 메모리 비용이 발생한다는 것이다.

3) 기준 비트 변경 셰이머

기준 비트 변경 계획을 사용하여 LRU를 구현하는 방법. 특정 크기의 비트 라인을 준비하고 페이지에 액세스할 때 왼쪽에 1을 추가합니다. 또한 기준 비트를 오른쪽으로 주기적으로 이동시킨다.

 

이 방법을 사용하여 기준 비트라인에서 총 수가 가장 적은 페이지를 선택한다. 그것은 시간을 기록하는 것보다 기억을 절약하는 방법이다.

LRU 페이지 교환 알고리즘은 최적의 근접 알고리즘이지만 기억을 잃는 대체 알고리즘이다. 어떻게든 시간을 기록해야 하니까.

 

LFU 페이지 교체 알고리즘

 

LFU 페이지 교환 알고리즘은 잘 사용하지 않는 용어이다. 그것은 또한 가장 낮은 주파수 사용 알고리즘으로 알려져 있습니다. 대상 페이지가 되는 페이지는 해당 페이지가 얼마나 많이 사용되었는지를 기준으로 한다. 가장 사용하지 않는 페이지를 스왑 영역에 수출합니다.

이는 LRU와 마찬가지로 최적의 근접 알고리즘이지만 페이지 접속 횟수를 표시할 수 있는 더 많은 공간을 요구함으로써 메모리를 낭비한다.

 

NUR 페이지 교체

 

NUR 페이지 대체 알고리즘은 NUR 레시피를 의미한다. 이것은 LRU나 LFU와 동일한 성능을 나타내면서 공간 낭비를 제거하는 방법이다.

예를 들어 링크 수가 100회, 102회이고 두 페이지가 있다고 가정하자. 접근성이 낮은 페이지는 대상 페이지를 선택하는 데 큰 의미가 없을 수 있다. 이런 생각에서 나온 알고리즘입니다.

NUR은 미래를 예측하기 위해 두 비트만 추가로 사용한다. 가상 메모리 참조 비트 및 변환 비트. 각각은 페이지가 액세스되었는지 또는 변경되었는지 확인하는 비트입니다.

만약 두 비트가 사용될 경우, 각 페이지는 하나의 정보 (0.0), (0.1) 및 (1.1)를 나타내며, 이 정보들의 순서로 목적지 페이지를 선택한다.

 

2022.11.04 - [운영체제] - [운영체제] 가상메모리 정리 (1)

 

[운영체제] 가상메모리 정리 (1)

가상 메모리 이전에는 프로세스가 실행된 모든 코드는 메모리에 로드되어야 했고 메모리 용량보다 더 큰 프로그램을 실행할 수 없었다. 그러나 실제로는 대부분의 시간이 코드의 극히 일부에만

hotpeople.co.kr