CS/운영체제

[Chapter 5] 개념 이해를 위한 운영체제 [메모리 관리 - 단일 프로그래밍 시스템]

devrabbit22 2025. 2. 27. 09:38
  • 단일 프로그래밍 시스템에서는 메모리 공간을 단순히 운영체제(모니터 혹은 커널) 영역과 사용자 영역으로 분할하여 사용한다. 따라서 운영체제 영역을 제외한 나머지 영역을 하나의 사용자 프로세스에게 할당된다.
  • 이러한 시스템에서 메모리 공간을 효율적으로 사용하기 위한 운영체제의 특별한 기법이 필요 없다. 그러나 사용자 프로세스의 오류에 의해 운영체제가 파괴되는 것으로부터 보호할 필요가 있다.

단일 프로그래밍 시스템

  • CPU 내부의 경계 레지스터(boundary register)에 사용자 영역의 시작 주소를 설정함으로써 사용자 프로세스의 오류에 의해 운영체제 영역으로 침입하는 것을 방지하도록 한다.
  • 운영체제는 사용자 프로세스가 메모리를 참조할 때마다 CPU의 경계 레지스터 값과 비교하겨 클 경우에만 접근을 허용한다.
  • 물론 사용자 프로세스는 입출력과 같은 운영체제의 서비스가 필요할 경우에는 시스템 호출을 통하여 접근할 수 있도록 한다. 
  • 이러한 방법으로 운영체제를 보호할 경우 프로그램이 실행되는 동안 참조되는 모든 메모리 주소를 경계 레지스터의 값과 비교해야 하는 오버헤드가 있다. 
  • 단일 프로그래밍 시스템에서 메모리 관리 기법은 매우 간단하지만 사용자 프로그램의 크기가 작을 경우 사용자 영역이 낭비되는 단점이 있다.

Reference 

개념 이해를 위한 운영체제