제9장 가상 메모리 관리.

Slides:



Advertisements
Similar presentations
구속사 시리즈 퀴즈대회 - 평강제일교회 청년 2 부 그루터기 선교회 제작 사회자 “ 구속사 시리즈 ” 다같이 “ 퀴즈대회 ” 해주세요 ~ 1.
Advertisements

폭력. 폭력이란 무엇인가 우상의 눈물 물리적인 폭력 ( 최기표 ) VS 지능적인 폭력 ( 임형우, 담임선생님 )
1 박 2 일 !!! 인천마장초등학교 유수아. 1 박 2 일 멤버 인기순 위 1 위 이승기 2 위 엄태웅 3 위 은지원 4 위 김종민, 이수근 ※인터넷에서 본것이기 때문에 사람에따라 서 다를 수 있다. ※
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
석관중앙교회 5남전도회 석 관 중 앙 교 회 회원 소식 통권 05-04호 발행일 : 2005년 04월 회 장 : 장진호 집사
지역사회복지론 1조. 요양보호시설에 대해서 황성국 임재형 이동영
해외서, 국내서 요약 ‘북집’ 모바일 서비스 이용방법
차 례 1. 입지와 상권의 이해 2. 상권의 유형 3. 상권 모델링 1) 입지와 상권의 개념 / 목적 2) 상권분석의 범위
I 문학의 개념과 역할 1. 문학의 개념 (1) 언어 예술로서의 문학 (2) 소통 활동으로서의 문학
Chapter 9. 가상 메모리 (Virtual Memory)
4. 목적론적 윤리와 의무론적 윤리 01. 경험주의와 이성주의 01. 경험주의와 이성주의 02. 결과론적 윤리와 공리주의
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
Chap. 12 Memory Organization
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
7장 : 캐시와 메모리.
임베디드 하드웨어 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
연습문제풀이/도움말.
6장. 기 억 장 치 Lecture #6.
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
+ 가상 메모리 -> 물리 메모리 Selector Offset DIR Page Segmetatation
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chap. 12 Memory Organization
7장 인덱스된 순차 화일.
제 2장 컴퓨터동작의 기본 개념.
Xen and the Art of Virtualization
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
Chapter 9. 가상 메모리 (Virtual Memory)
Computer System Architecture
Chap. 12 Memory Organization
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을.
제10장 파일 시스템 인터페이스(File System Interface)
개항기 조선과 동아시아 박 범 한국역사입문Ⅱ.
기억장치 관리(Memory Management)
운영체제 (Operating Systems) (Memory Management Strategies)
제9장 가상 기억 장치(Virtual Memory)
제15강 기억장치 3.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
5장. 캐시 기억장치 다루는 내용 컴퓨터 본체에서 기억장치 위치 살펴보기 컴퓨터 기억장치의 계층적 구조 캐시 기억장치 원리
Chapter 12 Memory Organization
대구의 부도심 대구의 주요축 동대구 부도심 4조 강민석 / 박성균 / 최은지/ 황재현/김예지.
본선대회 일정안내.
Lecture #6 제5장 기억장치 (1).
Ⅳ. 생식과 발생 4. 자손에게 줄 세포 만들기.
“병원 폐기물 소각장” 및 “가축 폐수 처리장” 건축 허가 반대 (2011년 “음식물처리장” 미해결 민원 연관)
16장. 컴퓨터 구조에 대한 네 번째 이야기 작성자: 윤성우.
사도행전 13장 22절 말씀 –아멘 다 윗 을 왕 으 로 세 우 시 고 증 언 하 여 이 르 시 되 내 가 이 새 의 아 들
가상 기억 장치(Virtual Memory)
기억장치 관리(Memory Management)
Chapter 9. Multilevel Indexing and B-Trees
제 8 장 가상 기억장치 구성 이나현.
8.가상기억장치의 구성과 관리 2학년 C반 김완응.
(제작자: 임현수)모둠:임현수,유시연,유한민
경찰행정과 세미나 결과를 공개해야한다. VS 비공개로 해야한다. 경찰의 근무성적평정 제도.
성경퀴즈 여호수아1장 3장 복습게임.
1. 가상 메모리의 개념 프로그램에 의해 빈 프레임은 부재된 페이지를 수용하기 위해 사용. 페이지 대치 과정.
I/O Management and Disk Scheduling
가상 기억 장치(Virtual Memory)
*컴퓨터 구조 4장 연습문제 천재성.
Microprocessor Design and Application 마이크로 프로세서 설계 및 응용 2017 Spring
임베디드 하드웨어 Lecture #6.
1. 칭찬 및 고발제도 운영(안) 1. 목적 : 칭찬문화의 전사적 확산,전파를 통한 칭찬문화 조성 및 건전한 회사문화 형성
Virtual Memory.
가상 기억장치 (Virtual Memory)
Presentation transcript:

제9장 가상 메모리 관리

개요 가상 메모리 관린 동적 주소 변환(dynamic address translation) 하나의 프로세스 전체가 한 번에 주기억장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법 제공 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍 가능 주기억장치보다 크기가 큰 프로세스의 수행 가능 동적 주소 변환(dynamic address translation) 수행 중인 프로세스가 참조하는 주소가상 주소(virtual address) 주기억장치상에서 이용할 수 있는 주소 실제주소(real address) 프로세스가 수행될 때 가상 주소를 실제 주소로 변환하는 대표적인 메커니즘 인위적 연속성(artificial continuity) 가상주소 공간 상의 연속된 주소들은 실기억 공간에서도 반드시 연속적일 필요는 없다는 특성

가상 주소 공간상의 주소와 실제 주소 공간상의 주소 간의 사상 개요 가상 주소 공간상의 주소와 실제 주소 공간상의 주소 간의 사상 가상 메모리

개요 블록 사상(block mapping) 페이지(page)/페이징(paging) 가상 메모리에 블록 단위로 분할 페이지(page)/페이징(paging) 같은 크기의 블록  페이지 페이지로 가상 메모리 구성  페이징 세그먼트(segment) /세그먼테이션(segmentation) 서로 다른 크기의 블록  세그먼트 세그먼트로 가상 메모리 구성  세그먼테이션 가상 주소는 v=(b, d)로 표시

블록 사상(mapping)을 통한 가상 주소 변환 개요 블록 사상(mapping)을 통한 가상 주소 변환

페이징(paging) 페이지 페이징 시스템에서의 가상 주소는 순서쌍 v=(p, d)로 표현 동적 주소 변환 일정한 크기의 블록 페이징 시스템에서의 가상 주소는 순서쌍 v=(p, d)로 표현 동적 주소 변환 가상 주소는 페이지 사상 테이블(page mapping table)통해 실제 주소를 구함 페이지 존재 비트(page residence bit) 주기억장치 내에 존재할 때 ‘1’로 표시 주기억장치 내에 존재하지 않을 때 ‘0’로 표시 순수 페이징 시스템에서의 가상주소

페이징(paging) 직접 사상(direct mapping) 아주 큰 페이지 사상 테이블은 보통 주기억장치에서 유지·관리 변환되는 가상주소와 페이지 사상테이블의 시작주소는 고속 레지스터에 보관 한 주기억장치 주기시간(cycle time) 내 수행 가능 직접 사상에 의한 페이지 주소 변환

페이징(paging) 연관 사상(associative mapping) 저장된 값을 이용하여 데이터를 접근하는 내용 주소화 메모리(CAM: Content Addressable Memory)와 찾고자하는 내용의 일부를 기억하는 데이터 레지스터가 운영됨 순수 연관 사상을 통한 주소 변환

페이징(paging) 연관/직접 사상 가장 최근에 참조된 페이지는 조만간 다시 사용되기 쉽다는 사실을 이용 연관기억장치에는 페이지 사상 테이블의 전체 항목 중 가장 최근에 참조된 일부 페이지 항목들만을 수용

페이징(paging) 연관/직접 사상을 통한 페이지 주소 변환

페이징(paging) 페이징 시스템의 공유 공유(share)가 가능한 페이지를 가능한 한 공유 순수 프로시듀어(pure procedure) 수정이 불가능한 프로시듀어 재진입가능 프로시듀어(reentrant procedure)라고도 함 순수 페이징 시스템에서의 공유

페이징(paging) 페이지 크기 페이지 크기는 얼마로 할 것인가? 페이지의 크기를 결정함에 있어 고려되어야 할 내용 페이지 크기가 작으면 작을수록 페이지 테이블의 크기가 증가하여 기억 공간이 낭비  테이블 단편화(table fragmentation) 페이지 크기가 작을수록 프로세스가 작업세트(working set)를 확보하는 데 도움 페이지가 크게 되면 참조되지 않을 많은 정보들까지 주기억장치로 옮겨지게 되어 기억공간의 낭비를 초래 프로그램 실행 중 입출력 전송의 횟수를 줄이기 위해서는 페이지 크기가 클수록 효과적

페이징(paging) 페이지 시스템에서의 내부 단편화

페이징(paging) 페이지 인출 기법 페이지 양도(page release) 요구 페이징(demand paging) 기법 실행 중인 프로세스에 의하여 명백히 참조되는 프로세스만이 보조기억장치로부터 주기억장치로 옮김 예상 페이징(anticipatory paging) 기법 운영체제가 예측하여 주기억장치에 여유가 있을 때 프로세스가 필요로 할 페이지들을 미리 적재 페이지 양도(page release) 더 이상 필요로 하지 않는 특정한 페이지를 작업세트로부터 제외 가장 효율적인 페이지 양도 방법은 컴파일러나 운영체제가 자동으로 페이지를 제거하여 작업세트 확보함

세그먼테이션(segmentation) 논리적 단위가 되는 프로그램 모듈이나 자료구조 등 직접 사상 가상 주소는 v=(s, d)로 표현 주기억장치에 옮겨지는 세그먼트는 그것이 들어갈 만큼의 충분한 주기억장치가 연속적으로 확보되어야 함 세그먼테이션 시스템에서의 가상 주소

세그먼테이션(segmentation) 순수 세그먼테이션 시스템에서의 가상 주소 변환

세그먼테이션(segmentation) 존재 비트(resident bit) r 해당 세그먼트가 주기억장치에 현재 존재하는지의 여부 세그먼트 사상 테이블 항목

세그먼테이션(segmentation) 공유 및 보호 공유

세그먼테이션(segmentation) 공유 및 보호 보호를 위한 접근(access) 제어 세그먼테이션 시스템의 또 다른 장점 중의 하나는 세심한 접근 제어가 가능 표 4-1 접근제어 유형

세그먼트/페이징 혼용 시스템에서의 가상 주소 세그먼트/페이징 혼용 기법 하나의 세그먼트를 정수 배의 페이지로 다시 분할하는 세그먼트/페이징 혼용 기법 가상 주소 v는 3차원의 요소로 구성 : v=(s, p, d) 시스템의 공유 세그먼트의 공유는 서로 다른 프로세스의 세그먼트 사상 테이블의 항목들이 동일 페이지 사상 테이블을 공유 세그먼트/페이징 혼용 시스템에서의 가상 주소

세그먼트/페이징 혼용 시스템에서의 연관/직접 사상을 통한 가상 주소 변환 세그먼트/페이징 혼용 기법 동적 주소 변환 세그먼트/페이징 혼용 시스템에서의 연관/직접 사상을 통한 가상 주소 변환

페이지 교체 알고리즘 주기억장치 공간을 확보하기 위하여, 현재 주기억장치를 차지하고 있는 페이지들 중에서 제거 할 페이지를 결정하기 위한 페이지 교체 기법 페이지 교체 기법 FIFO(First­In First­Out) 알고리즘 최적 교체(Optimal Replacement) 알고리즘 LRU(Least Recently Used) 알고리즘 2차 기회(second chance) 알고리즘 LFU(Least Frequently Used) 알고리즘

페이지 교체 알고리즘 FIFO(First­In First­Out) 알고리즘 가장 간단한 방법 가장 먼저 주기억장치에 들어와 있는 페이지를 교체시키는 방법 FIFO 알고리즘

페이지 교체 알고리즘 FIFO(First­In First­Out) 알고리즘 FIFO 모순(anomaly) 또는 Belady의 이변 어떤 페이지 호출에서는 프로세스에 할당된 페이지 프레임의 수가 증가될 때 현실적으로 페이지 부재가 더 증가하는 현상의 발생 FIFO 모순의 예

페이지 교체 알고리즘 최적 교체(Optimal Replacement) 알고리즘 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체시키는 것 최소의 페이지 부재율을 가지는 알고리즘 사전에 미리 파악하고 있어야 하기 때문에 다루기가 어렵고 비현실적 최적 교체 알고리즘

페이지 교체 알고리즘 LRU(Least Recently Used) 알고리즘 한 프로세스에서 사용되는 각 페이지마다 타임-스탬프용 카운터(counter)나 스택을 두어 현시점에서 가장 오래 전에 사용된 페이지를 제거하는 방법 LRU 알고리즘

페이지 교체 알고리즘 LRU(Least Recently Used) 알고리즘 카운터에 의한 방법 스택에 의한 방법 어떤 페이지에 대한 참조가 있을 때마다 그 시간 레지스터의 내용을 페이지 테이블 내에 있는 사용 시간 필드에 복사함 스택에 의한 방법 스택에 페이지 번호를 수록하여 페이지 호출 때마다 스택의 곡대기로 이동되며, 스택의 꼭대기에 있는 페이지가 가장 최근에 사용된 것임을 나타내고 바닥(bottom)에 있는 것이 가장 오랫동안 사용되지 않는 페이지임을 나타냄

페이지 교체 알고리즘 2차 기회(second chance) 알고리즘 LFU(Least Frequently Used) 알고리즘 하드웨어의 지원이 반드시 요구되는 LRU 알고리즘에 대한 접근 방안의 하나로서 참조 비트(reference bit)를 이용하는 방법 LFU(Least Frequently Used) 알고리즘 가장 적게 사용되거나 집중적이 아닌 페이지가 대체됨

페이지 교체 알고리즘 2차 기회 알고리즘

스래싱(thrashing) 페이지 부재가 계속적으로 발생되어 프로세스가 수행되는 시간보다 페이지 교체에 소비되는 시간이 더 많아지는 경우 스래싱

스래싱(thrashing) 구역성(locality) 국부적인 부분만 집중적으로 참조하는 특성 시간 구역성(temporal locality) 최근에 참조된 기억장소가 가까운 장래에도 계속 참조될 가능성이 높은 경향 예로는 순환(looping), 서브루틴, 스택, 카운팅(counting)과 집계(totaling)에 사용되는 변수 등 공간 구역성(spatial locality) 하나의 기억장소가 참조되면 그 근처의 기억장소가 계속 참조되는 경향 예) 배열 수행, 순차 코드의 실행(sequential code execution), 프로그래머들이 관련된 변수들을 근처에 선언하는 경우 등

스래싱(thrashing) 구역성(locality) 메모리 참조패턴 예

스래싱(thrashing) 작업세트(working set) 페이지 부재율 프로세스에 의해 자주 참조되는 페이지들의 집합체 작업세트 모델 예 페이지 부재율 스래싱  페이지 부재가 너무 빈번하게 발생할 경우 생긴다.

스래싱(thrashing) 페이지 부재율 페이지 부재율이 상한을 넘으면; 그 프로세스에게 다른 프레임을 더 할당한다. 페이지 부재율이 하한보다 낮으면; 그 프로세스로부터 프레임을 회수한다.