이번 글에서는 Sigle Process가 아닌, Multi Process에 대한 Memory Management를 공부한다. 싱글 프로세스와 멀티플 프로세스의 가장 큰 차이는 무엇인가? 1개이냐? 혹은 2개 이상의 프로세스를 이용하는가?의 차이이다. 가장 큰 차이점은 메모리. 즉, RAM에 올라가는 Application Program의 숫자가 달라진다는 것이다.

우선 간단하게 Multiple processes 중에서도 고정된 숫자의 프로세스를 지닌 경우의 Figure를 참고하도록 한다.

OperatingSystems:ASpiralApproach(Hardcover)ASpiralApproach
카테고리
지은이 Elmasri, Ramez/ Carrick, A. G./ Levine, David (McGraw-HillCollege, 2009년)
상세보기

위의 Figure는 위의 도서에서 발췌함.

Resident monitor는 뭐 앞의 글에서 간단하게 설명을 하였고, 이 Figure에서 이야기를 하고자하는 것은 바로 2개의 Application Program이 메모리에 올라가 있는 상황에서 각각의 시작점을 Relocation Register가 변하면서 알려준다는 것이다. 그림을 통하여 오해하기 쉬운 점은 Relocation Register가 2개의 시작점을 가지고 있다는 것인데, 그러한 것은 아니고, Application Program 1과 2에 대한 Limit Register가 크기를 알고 있기 때문에, Application 2로 넘어갈 때에는 기존의 Relocation Register의 값에 Limit Register의 값을 더하는 과정만 있으면 된다.



단순하게 위의 내용만 하고 넘어가면 성의가 없으니, External fragmentation에 대해서도 언급하고 넘어가는 것이 좋겠다. 위의 Figure에서 Partition이라고 적힌 부분은 무시하고, Figure 10.6의 연장이라고 생각을 하자. 거기서 Application 1이 보다 작은 크기의 Application 3으로 바뀐다면 어떻게 될 것인가? 저렇게 메모리상에는 사용되지 않는 부분이 구멍이 뚤린 상태로 존재할 것이다.

운영체제 책에서 메모리는 다 Fragmentation을 해결하기 위한 내용이 상당 부분을 차지하니 굉장히 중요하다고 할 수 있다.
저작자 표시 비영리 변경 금지
신고

'Theory > CA & OS' 카테고리의 다른 글

OS, Paging  (4) 2011.09.13
OS, Multiple processes with a variable number of processes  (0) 2011.09.13
OS, Mutiple Processes  (0) 2011.09.13
OS, Swapping  (0) 2011.09.13
OS, Memory Relocation  (0) 2011.09.12
OS, Priority Inversion  (0) 2011.09.12
by 가우초 2011.09.13 10:48