• 검색 결과가 없습니다.

제 3 장 기억장치 관리

N/A
N/A
Protected

Academic year: 2021

Share "제 3 장 기억장치 관리"

Copied!
14
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제 3 장 기억장치 관리

3.1 개 요

• 기억장치 관리의 발전

단일 사용자

전용 시스템 실기억장치

다중프로그래밍 가상 메모리

다중프로그래밍

페이징순수 순수 세그먼테이션

페이징 세그먼테이션 다중프로그래밍고정분할 가변분할

다중프로그래밍 절대 재배치

가능

실(real) 기억장치 가상(virtual) 메모리 실(real) 기억장치

3.1.1 주소 바인딩 (Address binding)

• 주소 바인딩 (address binding) : 논리적 주소 (logical address) 를 실행되기 위해서 는 물리적 주소로 사상하는 것

• 주소 바인딩 종류

 컴파일 시간 (compile time) 바인딩

 적재 시간 (load time) 바인딩

 실행 시간 (execution time) 바인딩

(2)

3.1.2 논리적 주소와 물리적 주소

• 중앙처리장치가 생성하는 주소를 논리적 주소라 하며 , 기억장치가 취급하는 주소를 물리적 주소라 한다 .

• 기억 장치 관리기 (MMU : Memory Management Unit) : 재배치 (relocation) 레지스 터는 세그먼트의 시작주소를 가지고 있으며 , 논리적 주소가 들어올 때마다 모든 주소 에 재배치 레지스터가 가지고 있는 값을 더해서 물리적 주소를 만든다 .

(3)

3.2 기억장치의 계층 구조 및 관리 기법

• 기억장치의 계층적 구조

레벨 -1 (L1) 캐시는 마이크로프로세서와 같은 칩 내에 있다 . 레벨 -2 캐시는 보 통 별도로 분리된 SRAM 칩이며 , 메인 메모리는 보통 DRAM 칩을 사용한다 . SRAM 은 DRAM 과는 달리 전자기적으로 재생시킬 필요가 없기 때문에 값이 더 비 싸다 .

(4)

• 기억장치 관리 기법

 인출 (fetch) 기법

 요구 인출 (demand fetch) 기법

 예상 인출 (anticipatory fetch) 기법

 배치 (placement) 기법

 교체 (replacement) 기법

3.3 단일 사용자 연속 기억장치 할당

3.3.1 단일 사용자 연속 기억장치 할당

• 오버레이 (overlay) 기법에 의해서 주기억장치보다 더 큰 프로그램의 실행이 가능하다 .

운영체제 0

a

b

c

사용되지 않음 프로그램사용자

(5)

3.3.2 시스템 보호

• 운영체제가 사용자로부터 보호

운영체제

사용자 프로그램 0

a

b

c

사용되지 않음 경계 레지스터

사용자 프로그램이 계산한 모든 주소는 반드시

a보다 큰가를 확인하기 위해 검사된다.

(6)

3.4 고정분할 기억장치 할당

• 고정분할 기억장치 할당 (fixed partition memory allocation) : 주기억장치 를 일정 수의 고정된 크기들로 분할하여 실행 중인 여러 프로세스에게 할당하

• 분할 (partition): 단일 작업이 적재될 수 있는 일정한 크기의 기억장치 영역 . 는 방법

• 다중 프로그래밍의 정도는 분할의 수에 의해 결정된다 . 3.4.3 시스템 보호

• 한 분할에 있는 명령어 코드와 데이터를 다른 분할에 있는 프로그램으로부터 보호되어 야 한다 .

0 a

d

운영체제 분할 1 분할 2

분할 n e

하한

c b 상한

(7)

3.4.4 분할 공간의 크기와 단편화

• 기억장치의 단편화 현상

작업 2 운영체제 작업 1 : 37 K

작업 2 : 20 K

작업 3 : 25 K 작업 4 : 13 K

(a) 초기상태 (b) 작업 1, 2, 3이 시작된 상태 ( 10 K )분할 1

( 20 K )분할 2 ( 30 K )분할 3

( 40 K )분할 4

운영체제

작업 1 분할 1

분할 2 분할 3

분할 4

작업 3 비사용( 10 K )

비사용( 5 K )

비사용( 3 K )

(8)

3.5 가변분할 기억장치 할당

• 작업들이 필요로 하는 만큼의 기억 공간을 그들에게 할당 3.5.1 기억 공간의 효율화

• 가변분할 다중 프로그래밍에서의 초기의 분할 할당

사용자 F는 30k를 필요로 한다 사용자 E는 18k를 필요로 한다 사용자 D는 15k를 필요로 한다 사용자 C는 30k를 필요로 한다 사용자 B는 20k를 필요로 한다 사용자 A는 25k를 필요로 한다

운영체제

비어 있음

운영체제 A 25K B 20K

D 15K C 30K

비어 있음 운영체제

A 25K B 20K

비어 있음 운영체제

A 25K

비어 있음 A 25K

B 20K

C 30K

(9)

• 가변분할 다중 프로그래밍에서의 단편화 현상

(10)

• 공백의 합병 (coalescing holes)

운영체제 다른 사용자

1K 공백 7K 사용자 A

다른 사용자

운영체제 다른 사용자

1K 공백 7K 공백

다른 사용자

운영체제 다른 사용자

8K 공백

다른 사용자 사용자 A가

끝나고 그 기억장소가 공백이 된다.

운영체제가 인접한 공백 을 통합하여 하나의 더 큰 공백으로 만든다.

(11)

• 기억장소의 집약 (compaction)

(12)

3.5.2 기억장치 배치 기법

• 최초 적합 , 최적 적합 , 최악 적합 기억장치 배치 기법

(13)
(14)

3.6 기억장치 교체 (swapping)

• 다중 프로그래밍 시스템에서의 기억장치 교체

사용자 C 사용자 B

사용자 A

보조기억장치 내의 사용자 영역 운영체제

교체 영역

a

c

a a

d e

swap out swap in 주기억장치

참조

관련 문서

 이 데이터 집합은 때때로 평가용 집합(test partition)으로 불리 며 모형을 비교하여 가장 좋은 모형을 선택하기 위해 각각의 모형의 성과를 검증하기 위해

갤럭시 S를 통해 재도전하였으며, 선별적 유통을 선택한 애플과 달리, 전방위적인 판매망을 확보하며, 선전 중.. 애플은 기업

inconsistency problem) : 주기억장치에 있는 블록의 내용과 캐시 라인에 적재된 블록의 내용이 서로 달라지는 문제.  캐시

갤럭시 S를 통해 재도전하였으며, 선별적 유통을 선택한 애플과 달리, 전방위적인 판매망을 확보하며, 선전 중.. 애플은 기업

이들이 의사전달의 문제를 어렴풋이나마 생 각하고 있었다면 그들의 계층제의 원리 속에 암시된 상의 하달적 의사전달 뿐이었다(E. Barnard는 공통의 목적․협동에의

 퀵정렬은 전체 리스트를 2개의 부분리스트로 분할하고, 각각의 부분리스트를 다시 퀵정렬로 정렬.. partition 함수의 반환값은 피봇의 위치가 된다. 1) left에서

 PC에 저장된 명령어 주소가 시스템 주소 버스로 출력되기 전에 일시적으로 저장되는 주소 레지 스터.  기억장치 버퍼

단 자녀에게 증여한 재산은