상 | 가상 메모리 | [정의] 사용자에게 주기억장치 보다 더 큰 용량의 가상 기억 공간을 제공하는 기억장치 관리기법 |
토픽 이름(상) | 가상메모리 |
분류 | CA > 가상 메모리 > 가상 메모리(Virtual memory) |
키워드(암기) | 프로세스의 일부는 메모리, 나머지는 보조기억장치 주소변환기법: Paging 기법(고정분할), Segmentation(가변분할) 관리정책:할당,배치,호출,교체 |
암기법(해당경우) |
기출문제
번호 | 문제 | 회차 |
1 | 6.페이지 방식을 이용하는 가상 메모리에서 가상주소(Virtual address)를 주기억장치 주소인 물리주소 (Physical Address)로 변환하는 과정을 페이지 테이블(Page Table) 및 TLB(Translation Lookaside Buffer)를 이용하여 설명하시오. | 110-컴시응-3 |
2 | 가상 메모리 동작에 대한 다음의 질문에 대하여 설명하시오. 가. 가상 메모리 관리 기법의 기본 동작 원리 나. 페이징 기법과 세그먼트 기법 다. 구역성(Locality)의 페이징 기법에서 가지는 중요한 의미 |
102-관리-3 |
3 | 2. 가상기억장치(Virtual Memory System)관리기법 중 페이징(Paging)주소 변환에 대하여 설명하시오. | 99-관리-1 |
Ⅰ. 가상기억공간을 제공, 가상 메모리의 개요
가. 가상 메모리(Virtual Memory)의 정의
- 제한된 실 기억장치 주소공간을 사용자 주소 개념으로 확장시킨 것으로 참조의 국부성을 이용한 방법
- 사용자에게 주기억장치보다 더 큰 용량의 가상기억 공간을 제공하는 기억장치관리 기법
- 주기억장치 안의 프로그램 양이 많아질 때, 사용하지 않는 프로그램을 보조기억장치 안의 특별한 영역으로 옮겨서, 그 보조기억장치 부분을 주기억장치처럼 사용할 수 있는데, 이때 사용하는 보조기억장치 의 일부분을 가상기억장치라고 함.
Ex) 디스크 일부분
나. 가상 메모리의 필요성
필요성 | 설명 |
멀티 프로그래밍 | 주기억장치의 크기에 제한을 받지 않으므로 효율적 프로그래밍 가능 |
동적 공유 | 다수의 사용자에 의한 메인 메모리 동적 공유 |
분할 관리 | 프로그램의 부분 적재를 통한 실행 환경 제공 |
제한 탈피 | 프로그램을 Main Memory보다 더 크게 작성 가능 |
다. 가상 메모리의 개념도
- 각 프로세스에게 메인 메모리를 할당하고, 디스크(보조기억장치)의 어느 항목을 호출할 것인지, 어느 곳에 배치할 것인지, 무엇을 교체할 것인지를 결정하는 메커니즘
Ⅱ. 가상 메모리의 관리방법 및 구성방법
가. 가상 메모리의 관리기법 유형
기법 | 설명 | 종류 |
할당정책 (Allocation, How Much) |
- 각 프로세스에게 주 기억장치를 얼마나 할당할 것인가 - 각 프로세스의 실행 중 주기억장치 할당량을 어떻게 변화시킬 것 인가 |
고정(정적)할당기법 가변(동적)할당기법 |
배치정책 (Placement, Where) |
- 프로그램의 한 블록을 주기억장치의 어디에 적재시킬 것 인가 | First, Best, Next, Worst Fit |
호출(인출)정책 (Fetch, When) |
- 프로그램의 한 블록을 언제 주기억장치에 적재시킬 것 인가 | 요구반입(Demand Fetch) 기법 예측반입(Pre Fetch) 기법 |
교체정책 (Replacement, Who) |
- 주기억장치에 적재 할 공간이 없을 경우 어느 블록을 교체할 것 인가 | FIFO, OPT, LRU, LFU, MFU |
나. 가상 메모리의 구성 방법
구분 | 설명 |
Paging | - 가상기억장치를 모두 같은 크기의 페이지로 편성하여 운용하는 기법 - 주소 공간을 페이지 단위로 나누고 실제기억공간은 프레임으로 나누어 사용 - 단점으로는 Page Fault, 내부 단편화와 같은 문제점이 존재 |
Segmentation | - 가상기억장치를 서로 크기가 다른 논리적 단위인 세그먼트로 분할 및 할당 - 메모리에 적재될 때 빈 공간을 찾아 할당하는 사용자 관점의 기법 - 블록의 크기가 가변적으로서 외부 단편화에 빈번하게 발생할 가능성이 존재 |
- 윈도우, 리눅스와 같은 범용 운영체제에서는 Paging 기법과 세그먼트 기법을 동시에 사용
III. 가상기억장치 사용 시 문제점 및 해결방안
문제점 | 내용 | |
요구 페이징 (Demand Paging) |
문제점 | - 요구 시에만 Process의 Page들을 적재하는 방식 (프로그램들은 한 명령어에도 여러 개의 페이지 부재를 일으킬 수 있음) - 기억장치에 보다 많은 프로세스들이 적재 |
해결방안 | - 참조의 지역성(Locality of Reference) : 프로그램의 어느 한 특정 부분만 한동안 집중적으로 참조하기 때문에 페이징의 성능이 좋아지는 현상 |
|
페이지폴트 (Page Fault) |
문제점 | - 기억장치에 적재되지 않은 Page를 사용하려는 경우 발생 - 운영체제는 필요한 페이지를 가져오도록 요구 - 페이지 스틸러(Page Stealer) : 페이지 프레임 테이블의 Free List가 정의된 최소값 보다 적게 되면 Minimum Free List 개수가 될 때까지 페이지 교체가 이루어짐. 즉, 사용중인 페이지를 가져와 Free List안에 등록 |
해결방안 | 1) 프로세스 검사를 통한 유무판단 2) 빈 공간(Free fragment)의 검색 3) 디스크로부터 읽도록 요구 4) 중단되었던 명령의 재 수행 |
|
스래싱 발생 (Thrashing) |
문제점 | - Page 부재가 너무 빈번하게 발생하여 CPU가 Process 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상 발생 - Multiprocessing 환경에서 심각한 시스템의 성능저하발생 ![]() |
해결방안 | 1) Locality Model 사용 : 프로그램들은 일정시간 동안 일정한 장소들만 집중적으로 사용하는 원리의 이용 2) Working Set : 일정시간 동안 참조되는 페이지의 집합을 주기억장치에 유지 3) Page Fault / PFF(Page Fault Frequency) : Frequency Process의 Page Fault 빈도(Frequency)에 따라 Residence Set을 조정 > PFF가 높으면(잦으면), Residence Set 크기 증가 > PFF가 낮으면(적으면), Residence Set 크기 감소 : 매 Page 참조마다 Residence Set을 조정하면 Working Set 기법보다 오버헤드 적음 |
IV. 가상기억장치의 장단점
구분 | 시스템 관리적 측면 | 사용자 입장 측면 |
장점 | - 물리적 기억용량에 구애 받지 않고 실행 가능 - 우선순위를 고려하여 물리적 기억장치를 할당 실행 속도 조절 |
- 가상기억장치 관리를 위한 세부 사항들을 고려할 필요 없음 |
단점 | - 논리적 장치의 할당 가능한 충분한 용량 여부 체크 | - 가상기억장치를 채택하지 않는 시스템에서의 실행 속도보다 느림 |
[참고] 사상
1. 페이징 직접사상(direct mapping)
- 직접 사상에 의한 페이지 주소 변환
- 아주 큰 페이지 사상 테이블은 보통 주기억장치에서 유지, 관리
- 변환되는 가상 주소와 페이지 사상 테이블의 시작 주소는 제어장치 내의 고속 레지스터에 보관
- 페이지 사상 테이블의 참조는 한 기억장치 주기 시간(cycle time)내에서 수행됨
2.페이징 연관사상(associative mapping)
- 연관 기억장치(associative memory)에 페이지 사상 테이블 전체를 넣는 방법
- 연관 기억장치(associative memory) = 내용 주소화 기억장치(CAM, content-addressable memory)
3.페이징 내용 주소화 기억장치(CAM, content-addressable memory)
- CAM에서는 사용자가 검색어를 제공하면, CAM은 자신의 메모리 공간 전체를 탐색하여 해당 검색어가 위치하고 있는 주소를 반환
- 기억장치에 기억된 정보를 액세스하기 위하여 주소를 사용하는 것이 아니라, 기억된 정보의 내용에 따라 호출하는 기억장치
- 병렬 판독 회로를 내장하고 있기에 가격이 비쌈
- 작은 용량의 IC 메모리를 사용하여 캐시 메모리나 가상 메모리의 주소 탐색에 많이 이용
- 캐시 메모리 보다 빠름
4.연관/직접사상(associative/direct mapping)
- 적당한 비용으로 캐시나 연관기억장치 기법에 의한 장점을 살릴 수 있는 절충 방안
- 가장 최근에 참조된 페이지는 조만간 다시 사용되기 쉽다는 사실을 이용하여, 연관 기억장치에는 페이지 사상 테이블의 전체 항목 중 최근에 참조된 일부 페이지 항목들만 수용
- 연관/직접 사상을 통한 페이지 주소 변환
'정보관리기술사 > CA_OS' 카테고리의 다른 글
Paging 기법(고정분할)/Segmentation(가변분할) (0) | 2023.11.16 |
---|---|
주소 변환 기법 (0) | 2023.11.15 |
MESI (1) | 2023.11.13 |
집합연관사상 (1) | 2023.11.12 |
연관사상(Associative Mapping) (0) | 2023.11.11 |