Operating System

Operating System : Concepts - 주 메모리(Main Memory) (4)

Boo0 2022. 7. 19. 22:54

https://github.com/BOOOO0/linux-operating-system

 

GitHub - BOOOO0/linux-operating-system: 리눅스 명령어, 이론과 운영체제 실습

리눅스 명령어, 이론과 운영체제 실습. Contribute to BOOOO0/linux-operating-system development by creating an account on GitHub.

github.com

깃허브에 더 많은 내용이 있습니다.

 

스와핑 (Swapping)


모든 프로세스의 논리적 주소와 물리적 주소를 분리시켰을때 프로그램의 크기가 실제 물리 메모리보다 훨씬 큰 경우에도 스와핑을 이용하면 동시에 실행하는 것이 가능하여 다중 프로그래밍의 정도를 증가시킨다.

 

실행중인 프로세스의 명령어와 데이터는 메모리에 적재되어 있어야 하는데 물리 메모리 공간에 계속 상주하면 모든 프로세스가 적재될 수 없기 때문에 access가 필요할 때만 적재시키고(swap in) 필요가 없어지면 out of memory 시킨다.

 

 

기본 스와핑 (Standard Swapping)


 

프로세스 전체를 예비 저장 장치(backing store) 와 주 메모리 사이를 이동하게 한다.

 

전체 프로세스를 스왑하는 것은 시간이 너무 오래 걸린다.

 

 

 

Swapping with Paging


프로세스의 페이지를 스왑한다.

 

이것은 논리적 주소와 물리적 주소의 분리를 유지하면서도 아주 작은 페이지도 스왑이 가능하다.

 

오늘날 페이징은 Swapping with Paging을 의미하며 Swap in 과 Swap out이라는 말 대신

 

  • Page out - 페이지를 메모리에서 예비 저장 장치로 보낸다.
  • Page in - 페이지를 예비 저장 장치에서 메모리로 보낸다.

을 사용한다.

 

그리고 이 Swapping with Paging은 후에 정리할 가상메모리에서 아주 중요한 부분이다.