내 잡다한 노트

챕터7. 단일 프로그래밍 환경에서의 메모리 할당 본문

운영체제

챕터7. 단일 프로그래밍 환경에서의 메모리 할당

peanutwalnut 2022. 9. 9. 16:07

메모리 오버레이

overlay 겹겹이 쌓는다는 뜻을 가졌다. 메모리는 하드디스크처럼 큰 용량을 가지지 못한다. 가지게 하려면 비싸기 때문에.

메모리보다 큰 프로세스를 실행하려한다면 메모리에 다 안들어가서 실행이 안될 것이다.

그걸 방지하기 위해 프로세스를 쪼개서 메모리에 넣는 것을 메모리 오버레이라고 한다.

겹겹이 쌓는다는 overlay를 사용한 이유는 프로세스를 잘라 겹겹이 쌓아서 사용하니까 그런듯.

프로그램을 몇 개의 모듈로 나누고 필요할 때마다 모듈을 메모리에 가져와서 사용한다. 

어떤 모듈을 가져오거나 내보낼지는 프로그램 카운터가 결정한다. 

메모리 오버레이 덕분에 프로그램의 일부분만으로도 실행이 가능해진다.

 

스왑

메모리 공간이 꽉차서 사용을 잠시 안하는 프로세스는 계속 메모리에 남아있게 되면 메모리 공간의 낭비가 된다.

그래서 잠시 안하는 것들은 스왑 영역으로 보내버린다. 이 스왑 영역은 하드디스크에 존재하지만 필요할 때 다시

메모리에 올라와야 하기 때문에 메모리 관리자가 관리를 한다.

사용자는 실제 메모리 크기와 스왑 영역를 합쳐서 전체 메모리로 인식하고 사용한다.