티스토리 뷰

It

페이지 대치 알고리즘

worknettwo 2023. 2. 6. 16:40

페이지 ;부재와 ;프레임 ;개수
참조 ;문자열을 ;이용한 ;페이지 ;부재 ;횟수와 ;프레임 ;개수와의 ;관계.
참조문자열은 ;메모리를 ;참조하는 ;페이지를 ;의미함.

프레임 ;수가 ;증가하면 ;페이지 ;부재수가 ;감소함.
; ; ; ;- ;위의 ;참조 ;문자열에 ;대해 ;세 ;개 ;또는 ;그 ;이상의 ;프레임을 ;가진 ;경우, ;총 ;3번의 ;페이지 ;부재 ;발생.
; ; ; ;- ;한 ;프레임만 ;이용할 ;수 ;있는 ;경우 ;각 ;참조마다 ;페이지 ;대치가 ;필요하며 ;결과적으로 ;11번의 ;부재 ;발생.
[그림 ;8-17] ;페이지 ;부재와 ;프레임 ;개수 ;그래프.
; ; ; ;- ;프레임 ;수가 ;증가함에 ;따라 ;페이지 ;부재의 ;수가 ;최소한도의 ;수준으로 ;내려감.

※ ;페이지 ;대치 ;알고리즘을 ;확인하기 ;위해 ;아래 ;참조 ;문자열을 ;프레임이 ;3개인 ; ;메모리에 ;사용함.

선입선출(FIFO, ;First-In-First-Out) ;대치 ;알고리즘
각 ;페이지가 ;메모리 ;안으로 ;들어간 ;시간을 ;이용.
가장 ;오래된 ;페이지부터 ;우선 ;대치시킴.
페이지 ;부재 ;발생 ;시, ;즉 ;제거해야 ;할 ;페이지 ;선택 ;후 ;보조기억장치로 ;이동 ;교체시키고 ; 페이지 ;테이블의 ;타당/비타당 ;비트를 ;변경함.
새로운 ;페이지에 ;대한 ;페이지 ;테이블 ;항목 ;변경 ;후 ;FIFO ;큐의 ;마지막 ;위치에 ;삽입.

선입선출 ;큐(FIFO ;Queue)에 ;의해 ;메모리의 ;모든 ;페이지가 ;관리됨.
큐의 ;헤드부분에 ;있는 ;페이지를 ;먼저 ;대치함.
큐에 ;있는 ;페이지가 ;메모리로 ;들어갈 ;때 ;큐의 ;끝 ;페이지가 ;삽입.
큐의 ;크기는 ;사용 ;가능한 ;메모리 ;프레임의 ;수에 ;해당됨.
[그림 ;8-19] ;선입선출(FIFO) ;대치 ;알고리즘의 ;실행
; ; ; ;- ;세 ;개의 ;프레임을 ;사용할 ;수 ;있다 ;가정하고 ;앞의 ;참조 ;문자열을 ;실행, ;페이지 ;부재는 ;15번 ;발생함.

※ ;알고리즘의 ;이해가 ;쉽고 ;프로그램의 ;작성이 ;쉬움.

;

문제점.
벨레디의 ;변이(Belady’s ;Anomaly) ;발생.
; ; ; ;- ;할당되는 ;프레임의 ;수가 ;증가해도 ;페이지 ;부재율이 ;증가하는 ;현상.
; ; ; ;- ;이로 ;인해 ;최적 ;페이지 ;대치 ;알고리즘을 ;추구하는 ;경향 ;발생.
아래의 ;참조 ;문자열을 ;적용하여 ;문제점 ;확인.

최적(Optimal) ;페이지 ;대치 ;알고리즘
모든 ;알고리즘 ;중 ;페이지 ;부재율이 ;가장 ;낮음.
‘앞으로 ;가장 ;오랜 ;기간 ;동안 ;사용하지 ;않을 ;페이지를 ;대치하라’는 ;사상을 ;표현.
고정된 ;프레임 ;수에 ;대해 ;가능한 ;가장 ;낮은 ;페이지 ;부재율이 ;보장됨.
[그림 ;8-22] ;최적 ;페이지 ;대치 ;알고리즘.
; ; ; ;- ;앞의 ;참조 ;문자열을 ;적용한 ;경우, ;총 ;9번의 ;페이지 ;부재가 ;발생함.

최근 ;최소사용(LRU, ;Least ;Recently ;Used) ;알고리즘
과거의 ;데이터를 ;이용, ;미래를 ;예측하기 ;위한 ;통계적 ;개념.
메모리의 ;지역성을 ;이용한 ;알고리즘으로 ;각 ;페이지에 ;마지막으로 ;사용된 ;시간을 ;연관시킴.
페이지 ;대치 ;시, ;오랫동안 ;사용하지 ;않은 ;페이지를 ;선택.
; ; ; ;- ;시간적으로 ;거꾸로 ;찾는 ;최적 ;페이지 ;대치 ;알고리즘이라 ;할 ;수 ;있음.
[그림 ;8-23] ;최근 ;최소사용(LRU) ;알고리즘.
; ; ; ;- ;앞의 ;참조 ;문자열 ;적용 ;시, ;12번의 ;페이지 ;부재를 ;일으킴.
; ; ; ;- ;처음 ;5번의 ;부재 ;처리 ;과정은 ;최적 ;대치 ;알고리즘과 ;같으나, ;이후 ;페이지 ;4에 ;대한 ;참조가 ;일어날 ;때 ; ; ; ;메모리 ;속 ;페이지 ;중 ;가장 ;늦게 ;사용한 ;페이지 ;2를 ;선택하여 ;대치함.
; ; ; ;- ;만약 ;페이지 ;2에 ;부재 ;발생 ;시, ;{0, ;3, ;4} ;중 ;가장 ;늦게 ;사용한 ;페이지 ;3으로 ;대치함.

;

계수기를 ;이용한 ;순서 ;결정 ;방법.
각 ;페이지 ;테이블 ;항목과 ;사용시간 ;레지스터를 ;연관, ;프로세서에 ;논리 ;클록이나 ;계수기를 ;덧붙여 ;프레임의 ;순서 ;결정.
; ; ; ;- ;페이지에 ;대한 ;참조가 ;있을 ;때마다 ;클록은 ;증가함.
클록 ;레지스터의 ;내용은 ;페이지의 ;해당 ;페이지 ;테이블에 ;있는 ;사용시간 ;레지스터에 ; 복사되어 ;각 ;페이지의 ;최소 ;참조에 ;대한 ;시간을 ;가짐.
; ; ; ;- ;가장 ;작은 ;시간 ;값을 ;가진 ;페이지는 ;대치됨.
페이지 ;탐색과 ;페이지 ;테이블의 ;변화 ;과정을 ;유지해야 ;하는 ;부담을 ;고려해야 ;함.

스택을 ;이용한 ;순서 ;결정 ;방법.
순서 ;결정을 ;위해 ;페이지 ;번호를 ;스택(Stack)에 ;넣어 ;관리.
페이지가 ;참조될 ;때마다 ;페이지 ;번호를 ;스택의 ;꼭대기(Top)에 ;둠.
; ; ; ;- ;꼭대기에 ;있는 ;페이지 ;번호는 ;가장 ;최근 ;사용한 ;페이지가 ;되며, ;밑바닥(Bottom)에 ;있는 ;페이지 ; ; ; ;번호는 ;가장 ;늦게 ;사용한 ;페이지가 ;되어 ;페이지 ;부재 ;시 ;교체됨.
필드 ;비교, ;업데이트, ;계수기 ;등의 ;처리 ;과정은 ;생략되나, ;스택의 ;중간에서 ;항목을 ; 가져오므로 ;이중 ;링크의 ;조작이 ;필요하여 ;오버헤드를 ;증가시킬 ;수 ;있음.
; ; ; ;- ;헤드와 ;꼬리 ;포인터를 ;가진 ;이중 ;연결리스트를 ;사용하여 ;해결 ;가능.
; ; ; ;- ;탐색시간을 ;감소시킬 ;수 ;있음.

;

[그림 ;8-24] ;최근의 ;페이지를 ;참조한 ;스택.
; ; ; ;- ;a ;이전의 ;스택 ;정보는 ;꼭대기에 ;가장 ;최근에 ;사용한 ;페이지 ;2가 ;있으며, ;밑 ;바닥에는 ;가장 ;오래 ;전에 ; ; ; ;사용한 ;페이지 ;4를 ;유지하고 ;있음.
; ; ; ;- ;b ;이전의 ;스택에서는 ;꼭대기에 ;있는 ;페이지가 ;최근 ;사용한 ;페이지 ;7로 ;교체됨.

;

최근 ;최소사용 ;근접 ;알고리즘
시스템은 ;하드웨어의 ;지원 ;대신 ;참조 ;비트(Reference ;Bit)의 ;형태로 ;지원.
처음 ;모든 ;bit는 ;0으로 ;초기화한 ;후 ;사용자 ;프로세스가 ;수행될 ;때 ;참조된 ;각 ;페이지와 ; 관련된 ;bit를 ;1로 ;변환, ;어느 ;페이지가 ;사용되었는지 ;조사하여 ;확인 ;가능.
부분적인 ;순서 ;정보를 ;활용하여 ;최근 ;최소사용 ;알고리즘에 ;근사하게 ;대치 ;가능한 ;알고리즘 ;구현 ;가능.

부가된 ;참조비트 ;알고리즘.
각 ;페이지에 ;8bit(1byte) ;정보에 ;일정한 ;간격으로 ;참조 ;비트를 ;기록.
8bit ;Shift ;Register를 ;이용하여 ;순서 ;정보를 ;얻음.
; ; ; ;- ;각 ;페이지에 ;대한 ;참조비트(1)를 ;최상위 ;bit(8bit ;위, ;가장 ;왼쪽)로 ;삽입 ;이동하고 ;나머지 ;bit들은 ; ; ; ;한 ;비트씩 ;오른쪽으로 ;이동시켜 ;가장 ;낮은 ;자리 ;bit는 ;제거함.
;8bit ;Shift ;Register는 ;최근 ;8번의 ;기간 ;동안 ;페이지 ;사용의 ;기록 ;정보를 ;유지함.
; ; ; ;- ;Shift ;Register의 ;값이 ;‘00000000’인 ;경우 ;8번의 ;기간 ;동안 ;단 ;한 ;번도 ;사용되지 ;않음을 ;의미함.
; ; ; ;- ;‘11000100(19610)’은 ;‘01110111(11910)’보다 ;최근 ;사용되었음을 ;의미함.

[그림 ;8-25] ;부가된 ;참조비트 ;예.
; ; ; ;- ;‘00001011(11)’이 ;가장 ;사용빈도가 ;낮아 ;페이지 ;대치 ;대상임.

8bit를 ;부호 ;없는 ;정수로 ;해석할 ;경우 ;가장 ;낮은 ;bit를 ;가진 ;페이지는 ;최근 ;최소사용(LRU) ;페이지(오랫동안 ;미사용 ;페이지)이며, ;대치 ;가능함.
참조 ;비트의 ;내용이 ;동일한 ;경우 ;발생 ;가능.
; ; ; ;- ;모든 ;페이지 ;프레임이 ;갖는 ;참조 ;비트의 ;값이 ;유일하지 ;않기 ;때문에 ;발생함.
작은 ;정수값을 ;갖는 ;프레임이 ;두 ;개 ;이상 ;있는 ;경우 ;희생자 ;선정 ;시점에서 ;문제 ;발생.
; ; ; ;- ;희생자를 ;선정하지 ;않는 ;경우는 ;문제 ;없음.
; ; ; ;- ;가장 ;작은 ;정수값을 ;갖는 ;프레임 ;모두를 ;희생자로 ;선택하거나 ;FIFO의 ;원칙에 ;따라 ;하나를 ;희생자로 ; ; ; ;선택함.

시계(2차적 ;기회 ;대치) ;알고리즘.
선입선출(FIFO) ;대치 ;알고리즘을 ;기반으로 ;함.
최근 ;최소사용(LRU) ;알고리즘과 ;성능은 ;비슷하나 ;과부하가 ;적음.
; ; ; ;- ;각 ;프레임의 ;사용여부를 ;나타내는 ;참조(사용)비트를 ;추가.
; ; ; ;- ;페이지가 ;메모리 ;내의 ;프레임에 ;처음 ;적재되었을 ;때 ;1로 ;설정한 ;후, ;참조될 ;때마다 ;다시 ;1로 ;설정.
; ; ; ;- ;프레임들은 ;원형 ;버퍼(큐)로 ;구성되고 ;각각 ;관련 ;포인터를 ;가짐.
; ; ; ;- ;페이지 ;교체 ;시 ;포인터는 ;교체된 ;버퍼 ;다음 ;프레임을 ;가리키도록 ;설정.
운영체제가 ;페이지 ;교체 ;시기에 ;참조비트가 ;0인 ;프레임을 ;찾기 ;위해 ;원형 ;버퍼 ;검색.
; ; ; ;- ;프레임의 ;참조비트가 ;‘1’이면 ;‘0’으로 ;조정하고 ;현재 ;시간으로 ;고침.
; ; ; ;- ;수정한 ;페이지에 ;2차적 ;기회를 ;주고 ;다음 ;검사 ;시까지 ; ; ; ;대치시키지 ;않음.
; ; ; ;- ;모든 ;사용비트가 ;1인 ;경우 ;각 ;페이지에 ;2차적 ;기회를 ;주며 ; ; ; ;포인터는 ;전체 ;큐를 ;한 ;바퀴 ;돌 ;수도 ;있음.
; ; ; ;- ;처음 ;시작한 ;위치에서 ;중단하고 ;그 ;프레임을 ;교체대상으로 ; ; ; ;선택.
모든 ;bit가 ;1인 ;경우 ;2차적 ;알고리즘은 ;선입선출(FIFO) 대치와 ;같아짐.
; ; ; ;- ;사용비트가 ;1인 ;프레임을 ;통과하는 ;과정을 ;제외하면 ; ; ; ;선입선출(FIFO) ;대치 ;알고리즘과 ;비슷함.
; ; ; ;- ;원형으로 ;배치된 ;것처럼 ;보여 ;시계 ;알고리즘이라고 ;함.

[그림 ;8-27] ;간단한 ;시계 ;알고리즘의 ;예.
; ; ; ;- ;메인 ;메모리 ;프레임 ;m개로 ;구성된 ;원형 ;버퍼가 ;버퍼 ;내의 ;페이지 ;1개를 ;새로운 ;페이지 ;420으로 ; ; ; ;교체하기 ;직전의 ;모습.

시계 ;알고리즘에 ;사용비트 ;추가 ;시 ;더 ;강력한 ;대치 ;알고리즘 ;작성 ;가능.
; ; ; ;- ;사용 ;중인 ;페이지들은 ;메인 ;메모리의 ;각 ;프레임과 ;연관되므로 ;메인 ;메모리의 ;각 ;프레임의 ;상태를 ; ; ; ;나타내는 ;수정(타당/비타당 ;비트)를 ;이용.
; ; ; ;- ;해당 ;프레임이 ;보조기억장치(디스크)에 ;저장되었는지 ;확인 ;가능함.
; ; ; ;- ;페이지를 ;가져온 ;후 ;수정되지 ;않았으며 ;최근에 ;사용되지 ;않은 ;페이지를 ;찾을 ;수 ;있으므로 ;변경되지 ; ; ; ;않은 ;페이지가 ;우선 ;교체 ;대상이 ;되어 ;시간을 ;줄일 ;수 ;있음.

;

최소사용 ;빈도수(LFU, ;Least ;Frequently ;Used) ;알고리즘.
각 ;페이지마다 ;참조 ;횟수에 ;대한 ;계수기가 ;있으며, ;가장 ;작은 ;수를 ;가진 ;페이지를 ;대치함.
; ; ; ;- ;많이 ;사용되는 ;페이지는 ;큰 ;참조 ;횟수 ;값을 ;가짐.
어떤 ;프로세스의 ;초기 ;단계에서 ;한 ;페이지가 ;많이 ;사용되나 ;그 ;후로 ;다시 ;사용되지 ;않을 ; 경우 ;사용하기 ;어려움.
; ; ; ;- ;큰 ;계수를 ;가진 ;페이지가 ;더 ;이상 ;필요하지 ;않음에도 ;메모리 ;속에 ;계속 ;남음.
; ; ; ;- ;계수기를 ;어떤 ;일정한 ;시간 ;간격으로 ;하나씩 ;오른쪽으로 ;이동, ;지수적으로 ;감소하는 ;평균 ;사용수를 ; ; ; ; ;형성하여 ;해결 ;가능함.

최대사용 ;빈도수(MFU, ;most ;Frequently ;Used) ;알고리즘.
가장 ;작은 ;계수를 ;가진 ;페이지가 ;방금 ;들어온 ;것으로 ;아직 ;사용되지 ;않아, ;앞으로 ;사용할 ;확률이 ;높다고 ;가정하여 ;대치 ;페이지 ;후보에서 ;제외시킴.
가장 ;많이 ;사용된 ;페이지(계수가 ;높은 ;페이지)를 ;대치함.

※ ;LFU, ;MFU는 ;구현 ;시 ;비용이 ;많이 ;들고 ;최적 ;페이지 ;대치에 ;비해 ;성능이 ;떨어져 ; 일반적으로 ;사용되지 ;않음.

페이지 ;버퍼링(Page ;Buffering).
FIFO ;같은 ;성능 ;저하를 ;막기 ;위해 ;교체 ;대상으로 ;선택된 ;페이지를 ;즉시 ;교체하지 ;않고 ; 잠시 ;동안 ;메인 ;메모리에 ;유지함.
포인터 ;리스트 ;두 ;개를 ;이용, ;페이지를 ;관리하며, ;페이지 ;대치 ;알고리즘은 ;FIFO임.
VAX ;컴퓨터의 ;VMS, ;XP, ;Mach에서 ;사용된 ;방식.
[그림 ;8-28] ;페이지 ;버퍼링 ;개념.
; ; ; ;- ;수정 ;안 ;된 ;가용페이지 ;리스트. ; ; ; ;: ;메모리에 ;적재된 ;후에 ;수정된 ;적이 ;없는 ;프레임 ;리스트로 ;교체 ;불필요.
; ; ; ;- ;변경 ;페이지 ;리스트 ; ; ; ;: ;메모리에 ;적재된 ;후 ;수정된 ;프레임의 ;리스트로 ;디스크에 ;재저장해야 ;하므로 ;디스크 ;기록을 ;대기함.

변경되지 ;않은 ;페이지 ;교체 ;시, ;교체된 ;페이지는 ;메모리에 ;남고 ;페이지 ;프레임은 ;가용 ; 페이지 ;리스트의 ;끝에 ;추가됨.
변경된 ;페이지 ;교체 ;시, ;페이지 ;프레임을 ;변경 ;페이지 ;리스트의 ;끝에 ;추가함.

;

페이지 ;교체 ;시.
; ; ; ;- ;페이지 ;테이블 ;내에 ;있는 ;항목만 ;삭제되어 ;가용 ;페이지 ;리스트나 ;변경 ;페이지 ;리스트에 ;놓임.
; ; ; ;- ;포인터 ;리스트의 ;각 ;항목은 ;재배치되는 ;프레임의 ;번호 ;저장.
; ; ; ;- ;가용 ;페이지 ;: ;항상 ;사용 ;가능한 ;몇 ;개의 ;프레임들을 ;보유, ;페이지를 ;읽어 ;들일 ;수 ;있는 ;페이지 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;프레임의 ;리스트.

페이지 ;읽을 ;때.
; ; ; ;- ;가용 ;리스트의 ;헤드가 ;가리키는 ;페이지 ;프레임(가용 ;페이지 ;리스트 ;상의 ;첫 ;페이지)이 ;사용되고 ; ; ; ; ;그 ;페이지는 ;없어짐.
; ; ; ;- ;페이지 ;부재 ;발생 ;시 ;리스트 ;두 ;개를 ;검색, ;원하는 ;페이지가 ;아직 ;메모리에 ;있는 ;지 ;검사함.
; ; ; ;- ;메모리에 ;없으면 ;가용 ;페이지 ;리스트의 ;첫 ;번째 ;프레임에 ;원하는 ;페이지 ;적재.

프로세스가 ;페이지를 ;참조하면 ;오버헤드 ;없이 ;페이지가 ;해당 ;프로세스의 ;작업에 ;추가 ; 가능하여 ;페이지 ;부재가 ;해결됨.
변경 ;페이지 ;리스트에 ;있는 ;프레임은 ;일괄 ;처리되어, ;입출력 ;연산 ;횟수가 ;감소하므로 ; 디스크 ;액세스 ;시간을 ;줄여줌.

알고리즘의 ;비교 ;분석
배르(BAER, ;1980년) ;발표.
[그림 ;8-29] ;페이지 ;대치 ;알고리즘의 ;비교.
; ; ; ;- ;분석에 ;사용한 ;페이지 ;크기는 ;256word이며, ;프레임 ;수를 ;6, ;8, ;10, ;12, ;14개로 ;변경시키면서 ;실행.
; ; ; ;- ;적은 ;수의 ;프레임을 ;사용할 ;경우 ;차이가 ;크게 ;나타남.

'It' 카테고리의 다른 글

자아개념의 기능  (0) 2023.02.08
기계학습, 신경망  (0) 2023.02.07
요구 페이징  (0) 2023.02.05
가상 메모리의 개념  (0) 2023.02.05
파이썬 괄호의 사용  (0) 2023.02.05
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함