티스토리 뷰

It

가상 메모리의 개념

worknettwo 2023. 2. 5. 16:39

가상 ;메모리의 ;등장 ;배경
가상 ;메모리(Virtual ;Memory)
1960년 ;영국 ;맨체스터 ;대학교에서 ;제작된 ;아틀라스 ;컴퓨터 ;시스템에서 ;처음 ;등장.
메인 ;메모리보다 ;용량이 ;큰 ;기억 ;공간에 ;주소지정이 ;가능한 ;메모리 ;관리 ;기법.
메인 ;메모리에서 ;사용자와 ;논리 ;메모리를 ;물리적으로 ;분리, ;프로그래머에게 ;가상에 ;메모리를 ;제공함.
[그림 ;8-1] ;메모리 ;계층 ;구조.
; ; ; ;- ;페이징 ;시스템으로 ;가상 ;메모리 ;시스템을 ;구현.
; ; ; ;- ;메인 ;메모리를 ;보다 ;효율적으로 ;사용할 ;수 ;있어 ;더 ;많은 ;작업을 ;메모리에 ;적재 ;가능.
; ; ; ;- ;사용자(프로그래머)에게 ;메인 ;메모리의 ;제한된 ;용량 ;사용과 ;중첩 ;사용 ;문제를 ;해결해 ;줌.



동시에 ;실행되지 ;않는 ;프로그램의 ;특징을 ;이용.
실제로 ;프로세스를 ;실행하는 ;데 ;꼭 ;필요한 ;부분만 ;메인 ;메모리에 ;저장, ;나머지는 ;2차 ; 기어장치(디스크)에 ;저장함.
[그림 ;8-2] ;가상 ;메모리 ;공간에 ;있는 ;프로세스 ;항목이 ;2차 ;기억장치에 ;분산 ;적재된 ;후 ; 프로세스 ;실행에 ;따라 ;메인 ;메모리로 ;이동한 ;결과.

가상 ;메모리 ;관리 ;기법의 ;운영 ;가능한 ;이유.
실제적으로 ;모든 ;프로그램이 ;항상 ;동시에 ;사용되지 ;않음.
아래의 ;현상을 ;적절히 ;활용.
; ; ; ;- ;예외적인 ;오류 ;조건을 ;처리하는 ;오류 ;코드 ;루틴의 ;경우, ;자주 ;필요하지 ;않으며 ;발생하지 ;않을 ;수 ;있음.
; ; ; ;- ;행렬(배열), ;리스트, ;테이블 ;등의 ;크기는 ;실제로 ;사용된 ;크기보다 ;정의된 ;크기가 ;항상 ;클 ;수 ;있음.
; ; ; ;- ;문서 ;편집기(Text ;Editor)에서 ;자주 ;사용되지 ;않는 ;메뉴인 ;복사, ;붙이기, ;잘라내기, ;삽입 ;등은 ;실제로 ; ; ; ;선택한 ;한 ;개의 ;메뉴만 ;적재, ;나머지는 ;메모리에서 ;내보내도 ;됨. ;

;

장단점.
장점.
; ; ; ;- ;프로그래밍 ;작업이 ;쉬우며, ;공간의 ;제약이 ;없으므로 ;중첩을 ;작성할 ;필요가 ;없음.
; ; ; ;- ;공간이 ;부족해도 ;부분 ;적재가 ;가능하여 ;많은 ;작업을 ;실행할 ;수 ;있어 ;프로세서의 ;이용률과 ;처리율 ;향상.
단점.
; ; ; ;- ;메모리와 ;디스크 ;공간 ;사이의 ;이동량 ;증가에 ;따른 ;교체 ;공간의 ;확보.
; ; ; ;- ;어느 ;시기에 ;어느 ;페이지를 ;적재하고 ;다시 ;복귀시킬 ;것인가에 ;대한 ;페이징 ;알고리즘의 ;결정.
; ; ; ;- ;페이지 ;부재에 ;대한 ;처리 ;방안 ;요구.
실행 ;중인 ;프로세스의 ;참조 ;주소와 ;메인 ;메모리에서 ;사용하는 ;주소가 ;분리되어야 ;함.
사상(Mapping) ;: ;가상 ;주소를 ;실제 ;물리적 ;주소로 ;변환하는 ;과정.
; ; ; ;- ;변환 ;함수로 ;표시하며 ;속도가 ;느리면 ;시스템 ;성능이 ;떨어짐.
프로그램 ;주소 ;공간(가상 ;주소)을 ;V, ;메인 ;메모리 ;공간(실제주소)을 ;R이라 ;할 ;경우 ; 사상(F)에 ;의해 ;가상 ;메모리는 ;아래와 ;같이 ;정의됨.

[그림 ;8-3] ;가상 ;주소 ;V가 ;메인 ;메모리 ;R에 ;적재되어 ;있는 ;경우.

동적 ;주소 ;변환(DAT, ;Dynamic ;Address ;Translation) ;기법.
인위적 ;연속성 ;성질을 ;가지므로 ;프로세스의 ;가상 ;주소 ;공간에 ;있는 ;연속적인 ;주소를 ;물리 ;주소공간에 ;연속적으로 ;저장할 ;필요 ;없음.
; ; ; ;- ;인위적 ;연속성 ;: ;가상 ;주소 ;공간상의 ;연속적인 ;주소가 ;메인 ;메모리에서 ;연속적일 ;필요 ;없음.
사용자는 ;프로그램과 ;데이터의 ;적재 ;위치를 ;고려할 ;필요 ;없음.
; ; ; ;- ;중첩 ;관련 ;작업 ;수행이 ;필요 ;없으며, ;하드웨어 ;구조와 ;상관없이 ;알고리즘의 ;효율성과 ;프로그램 ; ; ; ;구조를 ;고려함.

메인 ;메모리 ;공유를 ;위해 ;메모리 ;관리 ;기법 ;활용.
여러 ;사용자가 ;메인 ;메모리 ;공유를 ;위해 ;메인 ;메모리보다 ;큰 ;보조기억장치에 ;데이터나 ; 프로그램을 ;저장, ;유지할 ;수 ;있는 ;방법 ;필요.
[그림 ;8-5] ;2단계 ;메모리 ;관리 ;기법.
; ; ; ;- ;단계 ;1 ;: ;프로세스가 ;수행되고 ;참조 ;데이터를 ;저장하는 ;1차 ;기억 ;장소인 ;메인 ;메모리.
; ; ; ;- ;단계 ;2 ;: ;제한된 ;메인 ;메모리에 ;들어갈 ;수 ;없는 ;데이터를 ;저장하는 ;디스크와 ;같은 ;대용량의 ;2차 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;기억 ;장치.

블록 ;사상
블록 ;단위로 ;처리.
사상이 ;Byte, ;Word ;단위로 ;이루어질 ;경우 ;주소 ;사상 ;테이블(Address ;Mapping ;Table) ; 유지를 ;위한 ;정보량이 ;커짐.
사상 ;정보의 ;양(테이블)을 ;줄이기 ;위해 ;주소를 ;블록 ;단위로 ;처리.
; ; ; ;- ;블록은 ;가상 ;메모리의 ;분할 ;단위로, ;블록의 ;크기가 ;일정하면 ;블록을 ;페이지라 ;하며 ;블록화 ;방법을 ; ; ; ;페이징 ;기법이라 ;함.
; ; ; ;- ;블록의 ;크기가 ;다를 ;경우 ;세그먼트라 ;하며 ;세그먼테이션 ;기법이라 ;함.
[그림 ;8-6] ;가상 ;메모리와 ;보조기억장치(디스크)와의 ;사상.
; ; ; ;- ;시스템이 ;블록의 ;위치만을 ;유지하고 ;추적하므로 ;효율적인 ;관리 ;가능.
; ; ; ;- ;블록의 ;평균 ;크기가 ;클수록 ;주소사상의 ;정보의 ;양(테이블 ;크기)은 ;적어지나, ;내부 ;단편화로 ;인한 ;2차 ; ; ; ;기억장치와 ;메인 ;메모리 ;주소사상 ;시간이 ;더 ;요구될 ;수 ;있음.

블록 ;가상 ;시스템은 ;2차원적 ;주소체계를 ;가짐.

[그림 ;8-8] ;프로세스 ;실행 ;동안 ;가상 ;주소 ;V=(b, ;d)로부터 ;메모리 ;주소 ;r로 ;변환되는 ;과정.
; ; ; ;- ;시스템은 ;메모리에 ;각 ;프로세스의 ;블록 ;사상 ;테이블을 ;유지함.
; ; ; ;- ;시작점 ;레지스터(Block ;Table ;Origin ;Register)에는 ;메모리 ;주소 ;a가 ;들어 ;있음.
; ; ; ;- ;블록 ;사상 ;테이블의 ;항목은 ;블록번호(b)와 ;프로세스의 ;블록사상테이블의 ;기준 ;주소(a)를 ;더하여 ; ; ; ; ;메모리의 ;주소 ;b’을 ;얻음.
; ; ; ;- ;변위 ;값을 ;더하여 ;실제 ;메모리 ;주소는 ;r= ;b’ ;+ ;d로 ;계산되며, ;b’는 ;실제 ;메모리 ;주소 ;a ;+ ;b의 ;위치에 ; ; ; ;있는 ;블록사상테이블의 ;셀에 ;저장됨.

;

가상 ;주소와 ;테이블 ;항목
가상 ;주소는 ;순서를 ;가지는 ;쌍 ;V=(p, ;d) ;표시, ;페이지 ;번호와 ;페이지 ;변위로 ;구성.
16bit의 ;가상 ;주소가 ;1KB(=1024byte) ;크기의 ;페이지를 ;사용할 ;경우.
; ; ; ;- ;가상 ;주소 ;1502(0000 ;0101 ;1101 ;1110)의 ;경우 ;최하위 ;bit ;10개는 ;페이지 ;변위(0111011110), ; ; ; ;최상위 ;bit ;6개(000001)는 ;페이지 ;번호(프레임)를 ;나타냄.

32bit의 ;논리 ;주소와 ;4KB(=212) ;크기의 ;페이지를 ;사용할 ;경우.
; ; ; ;- ;페이지 ;변위는 ;12bit(4KB=212), ;페이지 ;프레임 ;번호는 ;20bit를 ;사용, ;220(1,048,576)개의 ;페이지 ; ; ; ;테이블 ;항목(프레임)으로 ;구성됨.
; ; ; ;- ;페이지 ;테이블은 ;항목 ;당 ;4byte(32bit) ;크기를 ;유지함.

페이지는 ;블록 ;단위로 ;디스크에서 ;메인 ;메모리로 ;옮겨져 ;메인 ;메모리의 ;한 ;블록(페이지 ; 프레임)에 ;자리 ;잡음.
메인 ;메모리는 ;가상 ;페이지와 ;같은 ;크기의 ;페이지 ;프레임들로 ;분할.
페이지는 ;사용 ;가능한 ;어떤 ;페이지 ;프레임에도 ;들어갈 ;수 ;있음.

[그림 ;8-9] ;페이지 ;테이블 ;항목 ;구성.
제어비트와 ;프레임 ;번호로 ;구성됨.

페이지 ;테이블 ;항목(PTE, ;Page ;Table ;Entry)의 ;제어비트.
; ; ; ;- ;P ;플래그 ;: ;참조 ;페이지의 ;메인 ;메모리 ;저장 ;여부.
; ; ; ;- ;R/W ;플래그 ;: ;쓰기/읽기 ;액세스 ;권한 ;포함.
; ; ; ;- ;U/S ;플래그 ;: ;사용자/슈퍼사용자에 ;대한 ;페이지(페이지 ;테이블) ;액세스 ;권한 ;포함.
; ; ; ;- ;PWT, ;PCD ;플래그 ;: ;하드웨어 ;캐시에 ;의한 ;페이지(페이지 ;테이블) ;처리.
; ; ; ;- ;A ;플래그 ;: ;페이지 ;프레임에 ;따른 ;페이징 ;단위 ;주소 ;적용.
; ; ; ;- ;D(M) ;플래그 ;: ;페이지 ;수정 ;여부.
; ; ; ;- ;PAT ;플래그 ;:페이지 ;테이블 ;속성 ;색인.
; ; ; ;- ;G ;프래그 ;: ;페이지 ;테이블 ;항목 ;적용.
; ; ; ;- ;나머지 ;bit는 ;시스템 ;프로그래머 ;사용 ;가능.

;

[그림 ;8-10] ;가상(논리) ;주소에서 ;물리 ;주소로 ;변환 ;과정.
가상 ;주소의 ;페이지 ;번호(0x2)를 ;페이지 ;테이블에서 ;색인, ;프레임 ;번호 ;(0x8)을 ;얻음.
; ; ; ;- ;현재 ;참조하고 ;있는 ;페이지가 ;메인 ;메모리에 ;있는 ;경우 ;프로세스 ;수행 ;불가능.
프레임 ;번호(0x8)와 ;페이지 ;변위에 ;접속, ;메인 ;메모리의 ;주소(물리 ;주소)를 ;구함.
페이지 ;프레임 ;번호가 ;{1, ;2, ;… ;n}이라 ;가정하면, ;실제 ;메모리 ;주소 ;r(=프레임 ;번호ⅹ페이지 ;크기 ;+ ;d)로 ;나타냄.
; ; ; ;- ;실제 ;물리 ;메모리 ;주소는 ;페이지 ;프레임 ;번호와 ;페이지 ;크기를 ;곱한 ;결과.

;

;

'It' 카테고리의 다른 글

페이지 대치 알고리즘  (0) 2023.02.06
요구 페이징  (0) 2023.02.05
파이썬 괄호의 사용  (0) 2023.02.05
모든 태그중 원하는 태그 수 세기( class 값으로)  (0) 2023.02.04
자아개념  (0) 2023.02.03
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함