13.1 Early Systems
- 초기의 OS는 실행 중인 프로그램에 물리적 주소를 할당해 주고선, 남은 메모리를 사용했다.
13.2 Multiprogramming and Time Sharing
- the era of multiprogramming --> the era of time sharing
- time sharing을 구현하는 한 가지 방법은 위 13.1과 같은 방식으로 한 프로그램에게 full로 메모리 접근성을 부여하고 그 프로그램이 멈출 때 모든 상태를 저장한 후에 다른 프로그램을 다시 메모리에 할당해 주는 방식(비효율)
- 문제점 : 메모리가 커질수록 속도가 너무 느려진다.
13.3 The Address Space
- 코드 영역 : 프로그램이 실행되는 동안 크기가 변경될 일이 없음(static)
- 스택/힙 : 프로그램이 실행되면서 점점 커지는 경향. 따라서 스택과 힙은 opposite ends에
--> 위의 주소값들은 다 가상임(실제 물리주소는 다름)
13.4 Goals
- 1. transparency : OS는 실행 중인 프로그램으로 하여금 가상 주소를 눈치채지 못하게 함
- 2. efficiency : 가상화를 최대한 효율적으로 실현해야 함. 시공간적인 측면에서
- 3. protection : 프로세스들끼리의 영향으로부터 안전해야 함
-출처-
<OPERATING SYSTEMS three easy pieces>
REMZI H. ARPACI-DUSSEAU
ANDREA C. ARPACI-DUSSEAU
UNIVERSITY OF WISCONSIN-MADISON
'CS > 운영체제' 카테고리의 다른 글
15. Mechanism: Address Translation (0) | 2019.11.10 |
---|---|
14. Interlude: Memory API (0) | 2019.11.10 |
12. A Dialogue on Memory Virtualization (0) | 2019.11.08 |
10. Multiprocessor Scheduling (Advanced) (0) | 2019.11.06 |
9. Scheduling : Proportional Share (0) | 2019.11.06 |
댓글