HPC Lab. KOREATECH 채널 OS 강의를 듣고 정리
프로그래밍의 논리 주소를 실제 메모리의 물리 주소로 매핑하는 작업
Address Binding은 Binding 시점에 따라서 다음과 같이 구분할 수 있다.
프로세서 할당이 끝나고 수행 완료된 프로세스는 swap-device로 보내는 Swap-out과 새롭게 시작하는 프로세스를 메모리에 적재하는 Swap-in을 말한다.
프로세스를 하나의 연속된 메모리 공간에 할당하는 정책 (프로그램, 데이터, 스택 등). 메모리 구성 정책은 Multiprogramming degree, 할당되는 메모리 공간 크기, 메모리 분할 방식 등에 따라 달라진다.
다음 챕터인 가상 메모리 파트에서 다루게 될 것.
하나의 프로세스만 메모리 상에 존재한다. 가장 간단한 메모리 관리 기법이다.
프로그램의 크기가 메모리보다 큰 경우 메모리에 현재 필요한 영역만 적재하는 Overlay structure를 활용할 수 있다. 다만 이 경우 사용자가 프로그램의 흐름과 자료구조를 완벽하게 이해하고 있어야 한다.
프로그램이 커널영역을 침범할 수 있다. 이 경우에는 경계 레지스터를 활용해 방지하면 된다.
성능과 자원활용률이 낮다. 이에 Multi-programming을 사용한다.
할당된 메모리 공간 Partition의 크기가 프로세스의 크기보다 큰 경우 메모리 공간이 낭비된다.
남은 메모리 크기가 프로세스의 크기보다 큰 경우 메모리 공간이 낭비된다.
초기에는 메모리 전체를 하나의 영역으로 두고, 프로세스 처리 과정에서 메모리 공간을 동적으로 분할하는 방식
충분한 크기를 가진 첫 번째 Partition을 선택한다. 간단하고 비용이 적으나 공간활용률이 떨어질 수 있다.
프로세스가 들어갈 수 있는 Partition 중 가장 작은 영역을 선택한다. 크기가 큰 Partiton을 유지할 수 있다. 그러나 탐색시간이 오래걸리고 작은 크기의 Partition 조각이 많이 발생한다.
프로세스가 들어갈 수 있는 Partiton 중 가장 큰 영역을 선택한다. 작은 크기의 Partition 조각들이 발생하는 것을 줄일 수 있으나, 큰 크기의 Partition을 확보하기 어렵고 탐색시간도 오래 걸린다.
State table에서 마지막으로 탐색한 위치부터 탐색한다. 메모리 영역의 사용빈도를 균등하게 하며 비용이 적다.
프로세스가 나간 후 인접한 빈 영역을 하나의 Partition으로 통합하는 방식이다. 비용이 적다.
모든 빈 공간을 하나로 통합한다. 많은 시스템 자원을 소비하고 모든 프로세스를 재배치하기 때문에 비용이 크다. 따라서 프로세스에 필요한 적재공간 확보가 필요할 때 수행해야 한다.