블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 5. 11. 16:13 Study/운영체제
* 가변 분할 다중 프로그래밍(MVT, Multiprogramming with a Variable number of Tasks)
1. 고정된 경계를 없애고 각 작업이 필요한 만큼만 메모리를 할당
1) 각 프로세스(분할 영역)를 나타내기 위해 기준(재배치) 레지스터와 한계 레지스터를 사용.
(1) 한계 레지스터는 프로세스 크기만큼의 영역에 저장
(2) 한계 레지스터는 프로세스 크기만큼의 영역에 저장
ㄱ. 프로세서에 의해 생성된 논리 주소가 한계 레지스터 값보다 크면 오류 발생

2) 운영체제는 메모리의 사용 내역을 확인할 수 있는 테이블을 유지 해야함
(1)
(2)

3) 최상 적합 기법
(1) 프로세스가 들어갈 수 있는 충분히 큰 사용가능공간 중에서 가장 작은 크기의 사용 공간에 작업을 할당함.
(2)

4) 최악 적합 기법
(1) 작업을 가장 큰 사용가능 공간에 할당함
(2) 공간이 크기 순서로 정렬되어 있지 않을시 전 리스트를 검색해야 함
(3) 최상 적합보다 메모리 활용면에서 더 유용함

% 시간과 메모리 이용률 감소 측면에서 최초 적합과 최상 적합이 유용함
% 일반적으로 최초 적합이 최상 적합보다 메모리 할당이 빠름



* 가변 분할에서의 메모리 보호
1. 프로세스 보호를 위해 두 개의 경계 레지스터 사용
1) 상한 값과 하한값을 갖는 기준 레지스터와 한계 레지스터를 사용
(1) 가장 작은 물리적 주소의 하한값이 100040 이고 크기가 74600인 프로세스인 경우
(2) 상한값은 174640(=10040+74600)이며, 사용자 주소 범위는 하한값과 상한값 사이.
2) 기준 레지스터 및 한계 레지스터는 수행시간에 동적 재배치를 받음
(1) 기준 레지스터가 가장 작은 물리적 주소로 10040이며, 한계 레지스터가 논리주소 76400을 포함할 경우 사용자 주소범위는 0~76400'임
(2) 논리주소는 한계 레지스터보다 작아야하며 기준 레지스터에 추가하여 동적 재배치됨
3)
(1)



* 외부 단편화
1. 가변 분할 알고리즘은 외부 단편화 문제가 발생함

2. 통합
1) 하나의 작업이 끝났을 때 기억 장소가 비어 있는 다른 기억 장소(공백)와 인접되어 있는지를 점검, 하나의 공백으로 합하는 과정

2) 통합 과정을 수행하더라도 메모리 전반에 흩어져 있는 비어있는 공간을 모두 사용가능공간으로 통합하기 어려움


3. 압축
1) 메모리 내용들을 적절히 움직여 모든 사용가능메모리를 하나의 큰 블록으로 만듬

2) 압축은 항상 가능하지 않음

3) 주소의 동적 재배치 후 프로세스들이 이동함
(1)

4) 메모리 테이블을 관리 해야함

5) 압축 방법에 따라 비용이 많이 듬

6) 장점
(1) 가변 메모리에서 발생하는 수 많은 작은 공간을 하나의 큰 공백으로 변환, 새로운 작업에 할당 가능

7) 단점
(1) 압축할 동안 시스템은 모든 일을 멈추어야 함
(2) 메모리에 있는 작업들을 이동시켜야 하므로 프로그램 적재 시 제거되는 재배치 관련 정보를 엑세스 가능한 형태로 보관해야 함
(3) 압축 작업이 자주 요구되어 시스템 자원 소모가 큼



* 버디 시스템
1. 자원 할당 과정에서 발생하는 단편화 문제를 해결하기 위해 제안
1) 큰 버퍼



* 페이징 기법
1. 처리할 작업을 동일한 크기의 페이지로 나누어 처리
1) 실제 메모리를 프레임(페이지 프레임)이라 불리는 고정 크기 블록으로 나누고, 각 프로세스도 페이지 불리는 동일한 크기의 작고 고정된 크기의
영역으로 분할



posted by LanSaid