본문 바로가기

OS/운영체제론

[운영체제론] 고정 파티션 멀티프로그래밍 / 2021.12.07

* 참고 자료 : 운영체제론 한빛아카데미

 

가변 파티션 멀티프로그래밍 :

 

https://cow-kite24.tistory.com/124

 

[운영체제론] 가변 파티션 멀티프로그래밍 / 2021.12.07

* 참고 자료 : 운영체제론 한빛아카데미 고정 파티션 멀티프로그래밍 : https://cow-kite24.tistory.com/123 [운영체제론] 고정 파티션 멀티프로그래밍 / 2021.12.07 * 참고 자료 : 운영체제론 한빛아카데미 단

cow-kite24.tistory.com

단일 사용자 배치 처리 시스템에서는 입출력에 프로세서 시간을 소비하는 경향이 있음 -> 멀티프로그래밍 시스템을 구현해 프로세서 활용도를 더 높일 수 있음을 알게 됨.

 

단일 사용자 시스템의 프로세서 활용도

 

멀티프로그래밍 시스템에서는?

- 여러 사용자가 동시에 시스템 사용 경쟁

- 입출력 연산과 프로세서 계산이 동시에 일어날 수 있음 -> 프로세서 활용도 높임 , 시스템 처리량 증가

 

고정 파티션 멀티프로그래밍이란?

고정 파티션 멀티프로그래밍은 메인 메모리를 고정 크기 파티션으로 나눈다. 각 파티션은 한 작업만을 보유한다. 그러나 메모리 낭비와 같은 많은 제약조건이 있다.

 

고정 파티션 멀티프로그래밍

 

1. 고정 파티션의 단점

작업 시작 전 메모리의 위치가 결정되어 지정된 파티션에만 실행이된다. -> 다른 파티션이 비워있어도 자기 파티션이 사용되면 대기해야한다. --> 메모리 낭비

 

고정 파티션 멀티프로그래밍의 메모리 낭비 예

 

2. 단점의 개선 

위의 단점을 개선하기 위해 재배치 가능한 컴파일러, 어셈블러, 로더를 개발했다. (절대 변환기 로더보다 복잡)

재배치 가능한 변환과 로딩 방식의 고정 파티션 멀티 프로그래밍

 

3. 보호 메커니즘

설계자들은 메모리 구성이 복잡해짐에 따라 보호 메커니즘을 강화해야 했다. 멀티프로그래밍 시스템에서는 시스템이 모든 사용자 프로세스로부터 운영체제를 보호해야하고, 각 프로세스를 다른 모든 사용자 프로세스로부터 보호해야한다. 따라서 여러 경계 레지스터를 사용해 보호 메커니즘을 구현해야한다. 

시스템은 경계 레지스터 두 개를 사용해 각 파티션의 경계를 정할 수 있다. 즉 하한 레지스터와 상한 레지스터가 필요하다. 프로세스가 메모리 요청을 할 때 요청된 주소는 하한 보다 높고 상한 보다 낮아야 한다.

 

메모리 보호

 

4. 내부 단편화 문제

프로세스의 메모리와 데이터 크기가 프로세스가 실행되는 파티션보다 작을 때, 내부 단편화가 발생한다.

시스템 전체로 프로그램을 실행할 수 있는 충분한 메인 메모리 공간이 있어도 파티션을 할당 받을 수 없어 실행하지 못한다. 

 

내부 단편화

 

파티션의 크기가 클 때와 작을 때 어떤 장단점이 있는지 설명하라.
답 : 큰 파티션은 큰 프로그램을 실행할 만한 충분한 공간을 지원하지만, 작은 프로그램들이 있을 경우에는 내부 단편화를 많이 발생한다. 작은 파티션은 내부 단편화의 양을 줄이고 한 번에 더 많은 프로그램이 메모리에 상주할 수 있게 해서 멀티프로그래밍 수준을 높이지만, 프로그램의 크기를 제한하는 단점이 있다.