가상 메모리 [정의] 사용자에게 주기억장치 보다 더 큰 용량의 가상 기억 공간을 제공하는 기억장치 관리기법
 
토픽 이름() 가상메모리
분류 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

+ Recent posts