1. 배경
: 다중 프로그래밍에서 주기억 장치를 여러 프로그램에 공유하려면 주기억 장치 관리 기법이 필요하다.
2. 주소 바인딩
: 프로그램의 명령어와 데이터를 기억 장치 주소 공간으로 할당하는 것을 의미한다.
1) 컴파일 시간 바인딩
: 프로그램의 메모리 저장 위치가 고정된다.
2) 적재 시간 바인딩
: 프로그램이 메모리에 적재되는 시기에 메모리 위치가 결정된다. 재배치가 가능하다.
3) 실행 시간 바인딩
: 실행 중간에 메모리 저장 위치가 MMU에 의해서 결정되며, 실행중에 위치 변경이 가능하다.
-> 연속 메모리 할당 방식 / 분산 메모리 할당 방식이 있다.
4) 논리 주소
: CPU가 생성하는 주소
5) 물리 주소
: 기억 장치에 나타나는 주소
-> 아래 그림에서 메모리(주기억장치)와 하드디스크(보조기억장치) 를 의미한다.
- 컴파일 시간 바인딩과 적재 시간 바인딩 : 논리 주소와 물리 주소가 같다.
- 실행 시간 바인딩 : 논리 주소와 물리 주소가 다르다.(MMU가 변경시킨다.)
3. 기억 장치 관리기(MMU)
: 논리 주소(가상 주소)의 물리 주소 사상을 수행하는 하드웨어이다.
: 재배치 레지스터를 사용한다.
4. 중첩( Overlays )
: 허용된 메모리 크기보다 큰 프로그램을 실행할 때 해결법이다.
- 오버레이 영역은?
: 필요에 따라서 프로그램을 적재하여 실행하고, 필요없게 되면 다른 프로그램으로 교체되는 부분이다.
: 프로그래머가 오버레이 구조를 설계하고 프로그램해야 한다.
5. 교체 (Swapping)
: 할당 시간량이 소진되거나 높은 우선 순위 프로세스가 도착할 때, 한 프로세스를 디스크로 보내고 새 프로세스를 불러들인다.
- 메모리가 큰 컴퓨터는 스와핑이 적어 성능이 좋다.
'Computer Science > Operating System' 카테고리의 다른 글
이론 6) 주 메모리 관리 기법 3 (0) | 2020.12.02 |
---|---|
이론 6) 주 메모리 관리 기법 2 (0) | 2020.12.02 |
이론 5) 교착 상태 2 (0) | 2020.12.02 |
이론 5) 교착 상태 (0) | 2020.12.02 |
이론 0) 운영체제 기본 (0) | 2020.10.22 |