본문 바로가기
프로그래밍 기초/운영체제

주 기억장치 - 2

by junsday 2017. 6. 16.

단일 프로그래밍 시스템


시스템 내에 하나의 프로세스만 존재하는 것


문제점

- 프로세스의 크기가 유저 영역보다 클 수 있다. (프로세스를 나누어서 사용)

- 유저 영역에 놀다가 맘대로 커널영역으로 들어갈 수 있다. (경계 레지스터로 판별 가능)

- 자원 낭비가 심하다. (성능 저하)



고정 분할 다중 프로그래밍 (FPM - Fixed Partition Multi-programming)


- 기억장치 할당 중 가장 간단한 방법.

- 기억 장치를 여러 개의 고정된 크기로 분할하는 것.

- 경계 레지스터로 분할된 메모리의 경계를 구분한다.

- 정적 분할 다중 프로그래밍이라고도 한다.


* 결정해야 할 사항

1. 분할 영역의 크기

- 시스템의 부하를 분석하여, 어느 정도의 크기를 가진 영역을 몇 개 선정할 것인가를 결정

2. 영역의 배정

- 프로그램 작업을 어느 영역에 배정하는가에 대한 결정


문제점

- 외부 단편화

- 내부 단편화



가변 분할 다중 프로그래밍 (VPM - Variable Partition Multi-programming)


- 프로세스의 크기만큼 메모리를 분할하여 할당하는 기법

- 내부 단편화가 생기지 않는다.

- 가변 분할 문제는 사용가능 공간으로부터 요구된 크기를 어떻게 만족시켜 줄 수 있느냐 하는 것.


* 기억장소 배치 전략

1. 최초 적격(First-fit) 전략

- 사용 가능 공간 리스트에서 충분히 큰 첫 번째 공백 분할 공간에 할당


2. 최적 적격(Best-fit) 전략

- 충분히 큰 사용 가능 공간들 중에서 가장 작은 크기의 사용 공간을 할당


3. 최악 적격(Worst-fit) 전략

- 가장 큰 사용 가능 공간에 할당


* 속도 - 최초적격이 가장 빠름

* 기억장치 이용률 - 최초적격, 최적 적격이 기억장치 이용률 적음


문제점

- 외부 단편화





댓글