페이지 교체 예제

Skrevs fredagen den 2 augusti, 2019

가장 간단한 페이지 교체 알고리즘은 FIFO 알고리즘입니다. FIFO(선불) 페이지 교체 알고리즘은 운영 체제 의 일부에 대한 부기 관리가 거의 필요하지 않은 낮은 오버헤드 알고리즘입니다. 이 아이디어는 이름에서 분명합니다 – 운영 체제는 대기열에 있는 메모리의 모든 페이지를 추적하며, 가장 최근에 도착한 후 가장 최근에 도착하며 앞에 가장 오래된 페이지가 도착합니다. 페이지를 교체해야 하는 경우 큐 앞의 페이지(가장 오래된 페이지)가 선택됩니다. FIFO는 저렴하고 직관적이지만 실용적인 적용에서 성능이 떨어지다. 따라서 수정되지 않은 형태로 는 거의 사용되지 않습니다. 이 알고리즘은 Bélády의 이상을 경험합니다. 간단하게 말하면 페이지 오류에서 메모리에 가장 긴 프레임이 대체됩니다. 가상 메모리의 두 가지 주요 측면, 프레임 할당 및 페이지 교체. 최적의 프레임 할당 및 페이지 교체 알고리즘을 가지는 것이 매우 중요합니다.

프레임 할당은 프로세스에 할당할 프레임 수에 관한 것이고, 페이지 교체는 요청된 페이지의 공간을 확보하기 위해 교체해야 하는 페이지 번호를 결정하는 것입니다. 프로세스의 작업 집합은 일부 시간 간격 동안 해당 프로세스에서 사용할 것으로 예상되는 페이지 집합입니다. 페이지 교체 알고리즘은 대체할 메모리 페이지를 결정합니다. 교체 프로세스를 스왑 아웃 또는 디스크에 쓰기라고도 합니다. 요청된 페이지가 주 메모리(페이지 오류)에서 찾을 수 없는 경우 페이지 교체가 수행됩니다. 최적의 페이지 교체는 완벽하지만 운영 체제에서 향후 요청을 알 수 없으므로 실제로는 불가능합니다. 최적 페이지 대체의 사용은 다른 대체 알고리즘을 분석할 수 있도록 벤치마크를 설정하는 것입니다. 이 알고리즘은 시스템에서 실행되는 모든 소프트웨어가 사전에 알려져 있고 st에 대한 의무가 있는 경우를 제외하고는 페이지가 사용되기 까지의 길이를 안정적으로 계산할 수 없기 때문에 범용 운영 체제에서 구현할 수 없습니다. 메모리 참조 패턴을 분석하거나 런타임 분석을 허용하는 응용 프로그램 클래스만 제공합니다.

이러한 제한에도 불구하고 운영 체제는 프로그램에서 참조하는 모든 페이지를 추적하고 해당 데이터를 사용하여 후속 실행시 교체할 페이지를 결정하는 등 거의 최적의 성능을 제공할 수 있는 알고리즘이 존재합니다. 이 알고리즘은 프로그램의 첫 번째 실행에서는 거의 최적의 성능을 제공할 수 없지만 프로그램의 메모리 참조 패턴이 실행될 때마다 상대적으로 일관된 경우에만 제공할 수 있습니다. 다른 시스템은 RAM에 없는 페이지를 곧 추측하고 해당 페이지가 요청되기 전에 해당 페이지를 RAM에 미리 로드하여 대기 시간을 줄이려고 시도합니다. (이것은 종종 사전 청소와 함께, 어떤 페이지는 곧 필요 하지 않습니다 추측, 그리고 저장에 그들을 미리 작성). 프로세스에 페이지 오류가 발생하면 로컬 페이지 대체 알고리즘이 동일한 프로세스(또는 메모리 파티션을 공유하는 프로세스 그룹)에 속한 일부 페이지를 대체하도록 선택합니다. 전역 대체 알고리즘은 메모리의 모든 페이지를 자유롭게 선택할 수 있습니다. ”작업 집합 모델”은 엄격한 의미에서 페이지 교체 알고리즘이 아닙니다(실제로는 일종의 중기 스케줄러임)[설명이 필요함] 일부 시스템에서는 RAM에 페이지를 로드하기 전에 페이지가 실제로 요청될 때까지 대기하는 요구 페이징을 사용합니다.

Teater Kapija
Örmölla 321
SE-274 56 Abbekås

+46 (0)411 533 772
+46 (0)70 740 17 61

info@kapija.com
www.kapija.com