고정 분할 기억장치 할당
- 고정 분할 기억장치 할당(fixed partition memory allocation)
- 주기억장치를 일정 수의 고정된 크기들로 분할하여 실행 중인 여러 프로세스에게 할당하는 방법
- 분할(partition)
- 단일 작업이 적재될 수 있는 일정한 크기의 기억장치 영역
- 다중 프로그래밍의 정도(degree)는 분할의 수에 의해 결정됨
- 주기억장치의 사용자 공간을 미리 여러 개의 영역으로 분할
- 각 분할 영역(partition)에는 항상 하나의 프로그램만 적재 가능
- 하나의 프로그램이 두 개 이상의 분할 영역 사용 불가
- 각 프로세스들로 하여금 주기억장치를 연속할당 받도록 함
- 분할영역의 수가 k 일 경우
- 이 시스템의 다중프로그래밍 정도(degree) : 최대 k
고정분할 다중프로그래밍 시스템의 주기억장치 분할 예
- 고정분할 다중프로그래밍 시스템은 분할 형태가 바뀌지 않는다는 점으로 인해 OS에서의 주기억장치 관리가 쉬워짐
- 고정된 크기의 자료구조 사용
- 적재할 프로그램 배치 시에 커널의 주기억장치 관리 모듈이 참조함
FPM 기법의 문제점들과 해결 방안
- 사용자 프로그램의 크기가 최대 분할 영역의 크기보다 큰 경우
- 분할 영역 별로 중첩 구조를 사용하여 해결 가능
- 커널과 다른 프로세스들에게 할당된 분할 영역들에 대한 보호 필요
- 여러 개의 경계 레지스터를 사용하여 해결 가능
- 각 분할 영역마다 낭비되는 공간 발생
- 내부 단편화 (internal fragmentation)
- 외부 단편화 (external fragmentation)
- 공간 용량의 문제로 한 분할 영역 전체가 낭비되는 현상
고정 분할 다중프로그래밍 기법 요약
- 주기억장치 공간을 미리 분할
- OS 입장에서 주기억장치 관리 용이
- 오버헤드 작음
- 시스템 자원의 낭비 초래 가능
- 분할영역의 개수가 고정되므로 작은 규모의 프로세스들만 실행되는 경우 비효율적임
- 각 분할 영역마다 내부 단편화 현상 발생 가능
시스템 보호
- 한 분할에 있는 명령어 코드와 데이터를 다른 분할에 있는 프로그램으로부터 보호되어야 함
- 여러 개의 경계 레지스터를 이용하여 보호 가능
분할 공간의 크기와 단편화
- 고정 분할 기억장치 할당 기법의 운영 시 고려해야 할 문제 중의 하나는 분할의 크기를 결정하는 것
- 기억장치의 단편화(fragmentation) 현상이 발생