제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을.

Slides:



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

폭력. 폭력이란 무엇인가 우상의 눈물 물리적인 폭력 ( 최기표 ) VS 지능적인 폭력 ( 임형우, 담임선생님 )
1 박 2 일 !!! 인천마장초등학교 유수아. 1 박 2 일 멤버 인기순 위 1 위 이승기 2 위 엄태웅 3 위 은지원 4 위 김종민, 이수근 ※인터넷에서 본것이기 때문에 사람에따라 서 다를 수 있다. ※
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
석관중앙교회 5남전도회 석 관 중 앙 교 회 회원 소식 통권 05-04호 발행일 : 2005년 04월 회 장 : 장진호 집사
지역사회복지론 1조. 요양보호시설에 대해서 황성국 임재형 이동영
해외서, 국내서 요약 ‘북집’ 모바일 서비스 이용방법
6주차:『GPU(CUDA) Programming』
제5장 산업재해 보상보험 ☞ 목적 : 근로자의 업무와 관련하여 발생한 재해근로자의 재활 및 사회복귀를 촉진시키기 위하여 이에 필요한 보험시설을 설치 운영하며, 피해를 예방하고 근로자의 복지증진을 위한 사업을 행함으로써 근로자의 보호에 이바지함을 목적으로 함. 산재보험은.
차 례 1. 입지와 상권의 이해 2. 상권의 유형 3. 상권 모델링 1) 입지와 상권의 개념 / 목적 2) 상권분석의 범위
제 2장 컴퓨터 구조.
크레벤컨설팅센터(주) 크레벤 독서문화 경영연구소
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
I 문학의 개념과 역할 1. 문학의 개념 (1) 언어 예술로서의 문학 (2) 소통 활동으로서의 문학
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 컴퓨터 시스템 소개.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
Chap. 12 Memory Organization
7장 인덱스된 순차 화일.
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
Computer System Architecture
Chap. 12 Memory Organization
제10,11,12장 파일시스템 디스크 스케줄링.
제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절 말씀 –아멘 다 윗 을 왕 으 로 세 우 시 고 증 언 하 여 이 르 시 되 내 가 이 새 의 아 들
제9장 가상 메모리 관리.
가상 기억 장치(Virtual Memory)
기억장치 관리(Memory Management)
그 미소가 아이가 사랑을 배우는 힘이 되게 하소서!
8.가상기억장치의 구성과 관리 2학년 C반 김완응.
제2장 관세법 일반 제1절 통칙 제2절 법 해석의 원칙 등 제3절 기한과 기간 제4절 서류의 송달 등
(제작자: 임현수)모둠:임현수,유시연,유한민
경찰행정과 세미나 결과를 공개해야한다. 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)
Presentation transcript:

제 4 장 가상 메모리 관리 4.1 개요 가상 메모리는 하나의 프로세스 전체가 한 번에 주기억 장치 내에 존재하지 않고 일부만 있어도 수행하게 하는 방법을 제공함. 가상 메모리를 사용하면 사용자는 실제 주소 공간의 크기에 구애 받지 않고 보다 큰 가상 주소 공간상에서 프로그래밍을 할 수 있을 뿐만 아니라, 주기억장치보다 크기가 큰 프로세스를 수행시킬 수 있다. 4.1.1 동적 주소 변환(dynamic address translation) 주소 사상 기법 동적 주소 변환(DAT : Dynamic Address Translation) 기법: 프로세스가 수행될 때 가상 주소를 실제 주소로 변환하는 대표적인 메커니즘 4.1.2 블럭 사상(block mapping) 블럭 사상 시스템에서의 가상 주소 블록 번호 b 변위 d 가상주소 v=(b, d) Slide 1 (of 24)

블럭 사상(mapping)을 통한 가상 주소변환 Slide 2 (of 24)

4.2 페이징 페이징 시스템에서의 가상 주소는 순서쌍 v=(p, d)로 표현 d는 페이지 p 내에서 참조될 항목이 위치하고 있는 곳의 변위 순수 페이징 시스템에서의 가상 주소 가상 주소 v=(p, d) 페이지 번호 p 변위 d 페이징 기법 하에서의 동적 주소 변환 실행 중의 프로세스가 참조하는 가상 주소를 v=(p, d)라고 할 때, 페이지 사상 테이블(page mapping table)에서 페이지 p를 찾고, 페이지 p가 페이지 프레임 p'에 있음을 알아낸다. 그 후 p'와 d를 더하여 주기억장치 상의 실제 주소 r=p'+d를 구한다. Slide 3 (of 24)

페이징 예 Slide 4 (of 24)

4.2.1 직접 사상(direct mapping) 직접 사상에 의한 페이지 주소 변환 직접 사상 방법에서 아주 큰 페이지 사상 테이블은 보통 주기억장치에서 유지․관리된다. 또한 변환되는 가상 주소와 페이지 사상 테이블의 시작 주소는 제어장치 내의 고속 레지스터에 보관함으로써 페이지 사상 테이블의 참조는 한 주기억장치 주기 시간(cycle time) 내에서 수행된다 Slide 5 (of 24)

4.2.2 연관 사상(associative mapping) 연관 기억장치(associative memory)에 페이지 사상 테이블 전체를 넣는 방법 내용 주소화 기억장치(Content-addressable memory): CAM에서는 사용자가 검색어를 제공하면, CAM은 자신의 메모리 공간 전체를 탐색하여 해당 검색어가 위치하고 있는 주소를 반환한다. 순수 연관 사상을 통한 페이지 주소 변환 Slide 6 (of 24)

4.2.3 연관/직접 사상 적당한 비용으로 캐시나 연관기억장치 기법에 의한 장점을 살릴 수 있는 절충 방안 가장 최근에 참조된 페이지는 조만간 다시 사용되기 쉽다는 사실을 이용하여, 연관기억장치에는 페이지 사상 테이블의 전체 항목 중 최근에 참조된 일부 페이지 항목들만을 수용. 연관/직접 사상을 통한 페이지 주소 변환 Slide 7 (of 24)

Multiple Levels of Cache Memory Slide 8 (of 24)

4.2.4 페이징 시스템의 공유 순수 페이징 시스템에서의 공유 Slide 9 (of 24)

4.2.5 페이지 크기 페이지의 크기를 결정함에 있어 고려되어야 할 내용 테이블 단편화(table fragmentation) 페이지 크기가 작을수록 프로세스가 작업세트(working set)를 확보하는 데 도움이 된다. 프로세스들은 구역성을 가지며 이 구역 내에서는 비교적 소량의 정보만을 필요로 하기 때문이다. 마지막 페이지가 거의 찬 상태일 수도 있고 또는 거의 빈 상태일 수도 있기 때문에 평균적으로 1/2 페이지의 단편화가 생기게 된다. 따라서 페이지 크기가 작을수록 내부의 단편화는 감소된다. 페이지가 크게 되면 참조되지 않을 많은 정보들까지 주기억장치로 옮겨지게 되어 기억공간의 낭비를 초래하게 된다. 디스크로부터의 입출력 전송은 많은 시간이 소비되기 때문에, 프로그램 실행 중 입출력 전송의 횟수를 줄이기 위해서는 페이지 크기가 클수록 효과적이다. Slide 10 (of 24)

4.2.6 페이지 인출 기법 4.2.7 페이지 양도(page release) 요구 페이징(demand paging) 기법 실행 중인 프로세스에 의하여 명백히 참조되는 프로세스만이 보조기억장치로부터 주기억장치로 옮겨진다. 예상 페이징(anticipatory paging) 기법 프로세스가 필요로 할 페이지들을 운영체제가 예측하여 주기억장치에 여유가 있을 때 이 페이지들을 미리 적재시킨다. 4.2.7 페이지 양도(page release) 더 이상 필요로 하지 않는 특정한 페이지가 존재한다면, 작업세트로부터 그것을 제외시켜 페이지 프레임을 유용하게 만든다. 컴파일러나 운영체제가 자동으로 페이지 제거를 실행하여 작업세트를 확보 Slide 11 (of 24)

4.3 세그먼테이션(segmentation) 세그먼트: 논리적 단위가 되는 프로그램 모듈이나 자료 구조 4.3.1 직접 사상 세그먼테이션 시스템에서의 가상 주소 가상 주소 v=(s, d) 세그먼트 번호 s 변위 d 순수 세그먼테이션 시스템에서의 가상 주소 변환 Slide 12 (of 24)

4.3.2 공유 및 보호 공유 세그먼테이션 시스템에서의 세그먼트 공유 Slide 13 (of 24)

보호를 위한 접근(access) 제어 세그먼트 사상 테이블의 항목 접근 제어 유형 r=0 : 세그먼트가 주기억장치 내에 없는 경우R: 판독 접근 r=1 : 세그먼트가 주기억장치 내에 있는 경우W: 기록 접근 보호 비트 : (1­예, 0­아니오)E: 수행 접근 A: 첨가 접근 접근 제어 유형 접근형태 약 자 설 명 판독 R 이 블럭은 읽힐 수 있다. 기록 W 이 블럭은 수정될 수 있다. 수행 E 이 블럭은 수행될 수 있다. 첨가 A 이 블럭의 끝에 정보를 첨가할 수 있다. Slide 14 (of 24)

4.4 페이징/세그먼테이션 혼용 기법 페이징/세그먼테이션 시스템에서의 가상 주소 양식 v=(s, p, d) 세그먼트 번호 s 페이지 번호 p 변위 d 페이징/세그먼테이션 혼용 시스템에서의 연관/직접 사상을 통한 가상 주소 변환 Slide 15 (of 24)

페이지 부재 처리 과정 Slide 16 (of 24)

4.5 페이지 교체 알고리즘 페이지 교체 기법은 새로이 적재될 페이지를 위한 주기억장치 공간을 확보하기 위하여, 현재 주기억장치를 차지하고 있는 페이지들 중에서 어떤 페이지를 선택하여 가상 공간으로 보낼 것인가를 결정하는 기법 4.5.1 FIFO(First­In First­Out) 알고리즘 페이지가 교체될 필요가 있을 때 가장 먼저 주기억장치에 들어와 있는 페이지와 교체시키는 방법 FIFO 알고리즘 발생된 총 페이지 부재의 횟수는 15번 Slide 17 (of 24)

4.5.2 최적 교체(Optimal Replacement) 알고리즘 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체시킨다. 최소의 페이지 부재율을 가지는 알고리즘이다. 최적 교체 알고리즘 9번의 페이지 부재 Slide 18 (of 24)

4.5.3 LRU(Least Recently Used) 알고리즘 현시점에서 가장 오래전에 사용된 페이지를 제거하는 방법 LRU 알고리즘 12번의 페이지 부재 Slide 19 (of 24)

4.5.4 2차 기회(second chance) 알고리즘 페이지 테이블의 각 항목에 한 개의 참조 비트를 연관시킨 후, 처음에 운영체제에 의해 모든 참조 비트는 0로 된다. 그 후 한 프로세스가 수행되면서 참조한 각 페이지와 관계된 비트는 값이 1로 바뀐다 페이지 교체를 위하여 페이지의 참조 비트를 조사하여 그 값이 0이면 그 페이지를 교체하고, 참조 비트가 1이면 그 페이지에게 2차 기회를 주고 다음 페이지를 조사하기 위하여 FIFO 방식으로 진행한다. 2차 기회 알고리즘 Slide 20 (of 24)

4.5.5 LFU(Least Frequently Used) 알고리즘 각 페이지의 사용이 얼마나 집중적으로 되었는가에 관심을 갖고, 가장 적게 사용되거나 집중적이 아닌 페이지가 대체된다. 4.5.6 NUR(Not Used Recently) 알고리즘 최근에 사용되지 않은 페이지는 가까운 미래에 사용되지 않는 경향에 따라 그것들을 참조되는 페이지와 교체시킨다. 각 페이지에 대해 두 개의 하드웨어 비트를 첨가하게 된다. ① 참조된 비트=0 : 그 페이지가 참조되지 않았을 경우 참조된 비트=1 : 그 페이지가 참조되었을 경우 ② 변형된 비트=0 : 그 페이지가 변형되지 않았을 경우 변형된 비트=1 : 그 페이지가 변형되었을 경우 페이지 교체 시 참조 비트가 0인 페이지를 찾는다. 만일 모든 페이지의 참조 비트가 1일 때는 변형 비트가 0인 것을 찾는다. Slide 21 (of 24)

4.6 쓰래싱(thrashing) 쓰래싱 : 어떤 프로세스가 어느 정도의 프레임을 갖고 있지 않다면, 페이지 부재가 발생하게 되어 프레임 안에 있는 사용 중인 어떤 페이지를 교체하여야 하는데, 이러한 페이지 부재가 계속적으로 발생되어 프로세스가 수행되는 시간보다 페이지 교체에 소비되는 시간이 더 많아지는 경우 중앙처리장치의 효율성 다중 프로그래밍의 정도 쓰래싱 Slide 22 (of 24)

4.6.1 구역성(locality) 쓰래싱을 방지하기 위하여 한 프로세스가 효율적인 수행을 위하여 제공받아야 할 프레임의 수를 알아야 한다. 구역성이란 ‘프로세스가 기억장치 내의 모든 정보를 균일하게 참조하는 것이 아니라 국부적인 부분만을 집중적으로 참조한다’는 것을 의미한다. 시간 구역성(temporal locality) 최근에 참조된 기억장소가 가까운 장래에도 계속 참조될 가능성이 높음을 의미한다. 예 : 순환(looping), 서브루틴, 스택, 카운팅(counting)과 집계(totaling)에 사용되는 변수 공간 구역성(spatial locality) 하나의 기억장소가 참조되면 그 근처의 기억장소가 계속 참조되는 경향이 있음을 의미한다. 예 : 배열 수행, 순차 코드의 실행(sequential code execution), 프로그래머들이 관련된 변수 Slide 23 (of 24)

4.6.2 작업세트(working set) 4.6.3 페이지 부재율 작업세트 : 프로세스에 의해 자주 참조되는 페이지들의 집합 Slide 24 (of 24)