제 8장 가상 기억장치 구성 200512015 2A 박남규.

Slides:



Advertisements
Similar presentations
제 8 장 메모리 관리전략. 개요 2 기억장치 관리의 발전 개요 SSD(Solid State Drive) – 반도체 메모리 내장함, 처리속도 빠르고 소음이 없고 전력소모량이 적은 플래시 메모리 기반의 모델 주소 바인딩 (address binding) – 정의 논리적.
Advertisements

8 가상 메모리.
컴퓨터와 인터넷.
네트워크 기술을 통한 현재와 미래 소개.
Chatpter 07 메모리 관리 01 메모리 관리의 개요 02 연속 메모리 할당 03 분산 메모리 할당 1 : 페이징
제14장 동적 메모리.
8장 주 기억 장치 관리.
연결리스트(linked list).
제 9 장 구조체와 공용체.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
CHAPTER 05. 운영 체제 컴퓨터 시스템과 사용자 간의 중개자_운영 체제의 개념과 동작 원리
가상 기억장치 (Virtual Memory)
가상 기억장치 (Virtual Memory)
시스템 보안 [Buffer Overflow] DEC, 15, 2013 By 박동혁.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
07. 디바이스 드라이버의 초기화와 종료 김진홍
Chapter 21 Network Layer: ARP, ICMP (IGMP).
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
기억 장치 관리 (Memory Management)
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
D / K / I / T / E / C / H / N / O / L / O / G / Y
임베디드 실습 # LED, 7’Segment 제어
Power Java 제14장 배치 관리자.
Chapter 08 가상 메모리(Virtual Memory)
Sungkyunkwan University OS Project Dongkun Shin
Chap 6.Assembler 유건우.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
27장. 모듈화 프로그래밍.
메모리 관리 & 동적 할당.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법 과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알
Chapter 08 가상 메모리(Virtual Memory)
제 8장 기억장치 관리 (Memory Management) 8.1 배경 주소 바인딩 (Address Binding)
CHAP 5. 레이아웃.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
7장 주기억장치 관리 A박도하.
볼링게임 시스템 3조 오지연, 손수경.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
ARM Development Suite v1.2
Canary value 스택 가드(Stack Guard).
4장 가상 기억장치 관리 4.1 가상 기억 장치의 개요 4.2 주소사상 기법 4.3 블록 사상(block mapping)
데이터 동적 할당 Collection class.
제 6 장 가상 기억 장치의 구성 Section 1 개 요 Section 2 페이징 기법 Section 3 세그먼테이션 기법
8 가상 메모리.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Chapter 1 단위, 물리량, 벡터.
8장 가상 기억장치의 구성 C반 권예용.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
운영체제 레프토 (8장 가상 기억장치 구성) b반 박상수.
12 그리드 시스템.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
발표자 : 이지연 Programming Systems Lab.
System Security Operating System.
제 4 장 Record.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
과 목 명 : 운영체제 담당교수 : 박 승 기 학 과 : 컴퓨터 소프트웨어 학 번 : 이 름 : 최 현 식
9장 파일 시스템 이성연.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
CODE INJECTION 시스템B 김한슬.
제 8장 가상 기억장치의 구성과 관리 장태양.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
2. 프로세스 B 안우진 - 운영체제 -.
ARP.
Presentation transcript:

제 8장 가상 기억장치 구성 200512015 2A 박남규

가상기억장치 의 개요 가상기억장치란 실제 존재하지 않는 기억장치로서 디스크와 같은 보조기억장치에 가상의 공간을 만들어 주기억장치처럼 사용할 수 있게 한 것. 현재 실행 중인 프로세스가 참조하는 주소(가상주소)를 기억장치에서 사용 가능한 주소(실 주소)로 변환하는 동적 주소 변환이 필요함. 동적 주소변환을 위한 사상방법으로 사상표를 이용한 블록 사상 기업을 이용함.

가상기억장치 개요 Page 0 Page Frame0 1→2 Page 1 Page Frame1 2→0 Page Frame2 논리공간 (가상주소공간) 물리공간 (주기억장치) Page 0 Page 1 Page 2 : Page n-1 사상 테이블 Page Frame0 Page Frame1 Page Frame2 : Page Frame n-1 1→2 2→0 :

가상기억장치 관리기법 페이징 기법 가상기억장치에 보관되어 있는 프로그램과주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 페이지를 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법 세그먼테이션 기법 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억 장치에 적재시켜 실행시키는 기법 혼합기법 세그먼트를 페이지별로 분류하는 기법

*참고자료* 페이지(Page) 블록 단위로 정보를 묶었을 때 크기가 일정함 (동일 크기) 세그먼트(Segment) 가상주소(Virtual Address) 현재 진행 중인 프로세스가 참조하는 주소로서 논리 주고, 사용자 주소라고도 함 실주소(Real Address) 주기억장치에서 실제로 사용 가능한 주소로서 물리 주소라고도 함 사상(Mapping) 가상주소를 실주소로 대응하는 것으로, 사상표에 의해 수행됨. 주소사상은 최대한 신속히 일어나냐 시스템의 성능 저하를 막을 수 있음 페이지(Page) 블록 단위로 정보를 묶었을 때 크기가 일정함 (동일 크기) 세그먼트(Segment) 블록 단위로 정보를 묶었을 때 크기가 일정하지 않음 (가변[논리적] 크기)

구역성(Locality) 정의 : 프로세스들은 기억장치 내의 정보를 균일하게 액세스하 는 것이 아니라 어느 한 순간에 특정 부문을 집중적으로 참조하 는 것을 의미하고, 시간적 지역성과 공간적 지역성으로 구분됨. 시간 구역성(Temporal Locality) 정의 : 프로세스가 짧은 시간주기 동안 동일한 기억장소를 여러 차례 참조될 가능성이 높다는 것을 의미한다. 예) 순환(Looping),서브루틴(Subroutine), 스택(Stack), 계산(Counting)과 집계(Totaling)에 사용되는 변수 공간 구역성(Spatial Locality) 정의 : 일단 하나의 기억장소가 참조되면 그 근처의 기억장소가 계속 참조되는 경향이 있음을 의미한다. 예) 배열 순회(Array Traversal), 순차적 코드 실행(Sequential Code Execution), 상호 이웃한 변수의 선언

가상 기억 장치의 구현 방법

주소 사상 기법 프로그램 전체를 연속으로 적재하는 경우 재배치 과정 한번 거침  상대주소(relative address) : 프로그램 시작 지점을 0번지로 가정하는 주소임  재배치 : 주기억장치 할당 후 할당 주소에 따라 상대 주소들을 조정하는 작업 2. 프로그램을 분할하여 그 일부분만을 비연속적으로 적재하는 경 우  가상주소 = 상대주소  실주소 = 절대주소 ※ 주소사상함수(address mapping function) : 가상 주소를 실주 소로 변환 하는 작업을 실행 중에 동적으로 수행하기 위한 기법 ※ 인위적 연속성(artificial contiguity) : 사용자 또는 프로세스 입장에서 실행 프로그램 전체가 주기억장치에 적재되어 있는 것처럼 보이게 하는 개념.

블록 사상 기법 블록 사상 (block mapping)  프로그램을 블록 단위로 분할 하고 이렇게 분할된 블록 단위로 주소사상 정보를 기록하여 사용하는 기법. 블록 사상 테이블 (block mapping table) 각 블록의 가상 주소와 이에 대응되는 실 주소의 정보를 저장. ※ 블록 사상을 통한 가상 주소 변환 과정  블록 번호 b 변위 d 2차원 가상 주소 : V=(b, d)

블록 크기에 따르는 주소 사상 오버헤드 블록의 크기를 크게 하는 경우 사상 테이블에 적재될 사상 정보의 양이 작아짐 주소사상에 필요한 시간이 빨라짐 각 블록이 차지하는 주기억장치 공간의 양이 많아짐 필요 없는 부분이 주기억장치에 적재될 가능성이 많아짐 각 블록의 전송 시간이 길어짐 블록의 크기를 작게 하는 경우 사상 테이블에 적재될 사상 정보의 양이 많아짐 주소사상에 필요한 시간이 느려짐 각 블록이 차지하는 주기억장치 공간의 양이 작아짐 필요 없는 부분이 주기억장치에 적재될 가능성이 작아짐 각 블록의 전송 시간이 단축됨

블록 사상을 통한 가상 주소 변환 [가상 주소에서 실 주소로의 변환 과정] 블록 사상표 시작점 레지스터에 블록 번호 b를 더해 블록 사상표 내에서 블록 b를 나타내는 항목의 실주소 b'를 구함. a + b = b’ (2) 블록 b의 실주소 b'에 변위 d를 더하여 실주소 r을 얻음. b' + d = r

페이징 시스템 주기억장치를 동일한 크기의 고정된 블록으로 분할한다 각 프로세스는 프레임과 동일한 크기의 블록으로 나눈다 프레임(Frames 또는 Page Frames) 상대적으로 블록 크기는 작다 각 프로세스는 프레임과 동일한 크기의 블록으로 나눈다 페이지(Pages) : 고정된 크기의 프로세스 블록 프로세스 페이지를 사용 가능한 주기억장치 프레임에 할당한다 하나의 프로세스는 주기억장치의 연속된 영역에 할당될 필요가 없다 프로세스 페이지를 연속되지 않은 프레임에 할당하고 프로세스에 대한 프레임 정보를 유지한다 가상 주소는 V=(p, d)의 2차원으로 표현, 1. 가상 주소 : V = (p, d) 2. p : 페이지 번호, d : 실제 항목까지의 변위 페이지 번호 p 변위 d

페이징 시스템 예 페이징 시스템에서는 사용자 프로그램을 분할할 때 어떠한 논 리적인 구분 없이 미리 정해진 크기로만 분할 한다. 이로 인한 문제점 발생

페이징에서의 가상주소와 실주소 관계 동적 주소변환 과정 ▶가상 주소가 V=(p, d)라 할 때, 페이지 사상표에서 페이지 p를 찾고, 페이지 p가 페이지 프레임 p'에 있음을 알아 냄. ▶p'와 d를 더하여 주기억 장치상의 실제 주소 r = p' + d를 생성.

직접 사상 기법 프로세스의 가상 기억 장치를 구성하는 모든 페이지에 대한 항목이 페이지 사상표에 있음

연관 사상 기법 고속의 연관기억장치를 이용하여 페이지 사상표 전체를 넣는 방법으로서, 가장 빠르고 융통성 있는 사상 구조.

연관/직접 사상 기법 한 프로세스의 전체 페이지 사상표의 일부분만 수용할 수 있는 크기의 연관기억장치를 이용

페이징 시스템에서의 주기억장치 관리 이 시스템에서는 주기억장치를 페이지 크기와 똑같은 크기의 페이지 프레임 단위로 분할 한다. 할당 : 해당 페이지 프레임이 현재 프로세스에게 할당 되었는지를 “0” 또는 “1” 의 값으로 표시 한다. PID : 해당 페이지 프레임이 프로세스에게 할당된 경우 어느 프로세스 에게 할당 되었는지를 나타낸다. 링크 : 현재 할당 되어 있지 않은 페이지 프레임들에 대해서 이들을 하나의 연결 리스트로 연결하기 위해 사용한다.

세그먼테이션 시스템 세그먼트 번호 s 블록 내 변위 d 논리적 의미에 부합하는 크기의 블록  세그먼트 세그먼트들의 크기는 서로 다르며, 각각의 세그먼트는 연속적인 공간에 저장되어야 함. 세그먼테이션 기법에서 가상주소 : v = (s, d) 전체 세그먼트 하나의 단위로 보조기억장치에서 주기억장치의 연속적인 가용 공간에 적재됨. 최초 적합, 최적 적합 등의 방법으로 주기억 장치 할당. 세그먼트 번호 s 블록 내 변위 d

세그먼테이션 기법에서의 가상주소 변환

세그먼테이션 기법에서 사상 표 항목의 내용 br = 0  세그먼트 부재 오류 사상표 항목의 내용에 따라 주기억 장치 내의 세그먼트 보호 br = 0  세그먼트 부재 오류 ☞ 보조기억장치에서 세그먼트를 가져와 주기억장치 에 적재함. d > I  세그먼트 오버플로 예외 프로세스 종료 보호 비트 위반  세그먼트 보호 예외

페이징 시스템과 세그먼테이션 시스템의 비교

페이징/세그먼테이션 혼용 기법 세그먼테이션 기법의 논리적 장점과 페이징 기법의 메모리 관리 측면의 장점을 활용하기 위한 기법. 가상 주소 : v = (s, p, d) 세그먼트 번호s 페이지 번호 p 블록 내 변위 d

페이징/세그먼테이션 혼용 기법의 동적 주소변환

페이징/세그먼테이션 혼용 기법에서 각 표의 관련 구조

*요점* 가상기억장치는 주기억장치 크기보다 더 큰 기억공간을 사용하는 프로그램을 실행할 수 있다. 프로세스에서 사용되는 가상 주소는 동적 주소변환을 통해 주기억장치의 실 주소로 변환된다. 연속적인 가상 주소가 실 주소 공간에서도 연속적일 필요는 없다. 페이징 기법은 페이지라는 고정 크기 블록 단위로 기억장치를 관리한다. 세그먼테이션 기법은 모듈화에 따른 논리적 의미에 부합하는 다양한 크기의 세그먼트 단위로 기억장치를 관리한다. 페이징/세그먼테이션 혼용 기법은 세그먼테이션 기법의 논리적 장점과 페이징 기법의 메모리 관리 측면의 장점을 활용한다.