반응형

목차

01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템


가상메모리의 개요

 

메모리 크기를 고려한 프로그래밍의 어려움

프로그래머가 메모리의 크기를 고려하여 프로그래밍 하는 것은 어려움.

 

가상 메모리

물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술.
가상 메모리를 이용하면 프로세스는 운영체제가 어디있는지, 물리 메모리의 크기가 어느 정도인지 신경 쓰지않고 메모리를 마음대로 사용할 수 있음

 

가상 메모리의 구성

가상 메모리 = 물리메모리 + 스왑영역

 

크기

가상 메모리 = 물리메모리 + 스왑영역

 

동적 주소 변환

가상 주소를 실제 메모리의 물리 주소로 변환
동적 주소 변환을 거치면 프로세스가 아무 제약 없이 사용자의 데이터를 물리 메모리에 배치할 수 있음.

 

가상메모리의 메모리 분할 방식

가변 분할 방식을 이용한 세그먼테이션과 고정 분할 방식을 이용한 페이징 기법이 있음.
기본적으로 페이징 기법을 사용하나, 페이지 테이블 관리가 어려움.
세그먼테이션 기법은 외부 단편화 등의 문제가 있음
가상 메모리 시스템에서는 두 기법의 단점을 보완한 세그먼테이션-페이징 혼용 기법을 주로 사용

구분 가상 메모리 물리 메모리
최대 메모리 크기 CPU의 비트 값에 의존 CPU의 비트 값에 의존
메모리 분할 방식 세그먼테이션, 페이징, 혼용기법 가변 분할방식, 고정 분할방식
주소 지정 방식 가상 주소 절대 주소, 상대 주소

 

메모리 매핑 테이블

가상 메모리 시스템에서 메모리 관리자는 가상 주소와 물리 주소를 1대1 매핑 테이블로 관리

프로세스  위치
A 0
B 1
C 2
D 3
E 스왑

프로세스 → 가상 주소공간 // 위치 → 물리 메모리

반응형

'Operating System' 카테고리의 다른 글

세그먼테이션 기법  (0) 2022.06.02
페이징 기법  (0) 2022.05.31
다중 프로그래밍 환경에서의 메모리 할당  (0) 2022.05.27
단일 프로그래밍 환경에서의 메모리 할당  (0) 2022.05.26
메모리 주소  (0) 2022.05.25