- 단일 프로그래밍 시스템에서는 메모리 공간을 단순히 운영체제(모니터 혹은 커널) 영역과 사용자 영역으로 분할하여 사용한다. 따라서 운영체제 영역을 제외한 나머지 영역을 하나의 사용자 프로세스에게 할당된다.
- 이러한 시스템에서 메모리 공간을 효율적으로 사용하기 위한 운영체제의 특별한 기법이 필요 없다. 그러나 사용자 프로세스의 오류에 의해 운영체제가 파괴되는 것으로부터 보호할 필요가 있다.
- CPU 내부의 경계 레지스터(boundary register)에 사용자 영역의 시작 주소를 설정함으로써 사용자 프로세스의 오류에 의해 운영체제 영역으로 침입하는 것을 방지하도록 한다.
- 운영체제는 사용자 프로세스가 메모리를 참조할 때마다 CPU의 경계 레지스터 값과 비교하겨 클 경우에만 접근을 허용한다.
- 물론 사용자 프로세스는 입출력과 같은 운영체제의 서비스가 필요할 경우에는 시스템 호출을 통하여 접근할 수 있도록 한다.
- 이러한 방법으로 운영체제를 보호할 경우 프로그램이 실행되는 동안 참조되는 모든 메모리 주소를 경계 레지스터의 값과 비교해야 하는 오버헤드가 있다.
- 단일 프로그래밍 시스템에서 메모리 관리 기법은 매우 간단하지만 사용자 프로그램의 크기가 작을 경우 사용자 영역이 낭비되는 단점이 있다.
Reference
개념 이해를 위한 운영체제
'CS > 운영체제' 카테고리의 다른 글
[Chapter 6] 개념 이해를 위한 운영체제 [파일 시스템 - 개요] (0) | 2025.03.02 |
---|---|
[Chapter 5] 개념 이해를 위한 운영체제 [메모리 관리 - 다중 프로그래밍 시스템] (0) | 2025.02.27 |
[Chapter 5] 개념 이해를 위한 운영체제 [메모리 관리 - 개요] (0) | 2025.02.27 |
[Chapter 4] 개념 이해를 위한 운영체제 [교착상태 - 교착상태 해결책] (0) | 2025.02.26 |
[Chapter 4] 개념 이해를 위한 운영체제 [교착상태 - 개요] (0) | 2025.02.26 |