1. 메모리 관리
ㅇ 다중 프로세스들이 제한된 주 메모리를 공유케 하는 방법
ㅇ 방식 구분
- 단순 하드웨어 방식
- 연속 메모리 할당 방식
- 페이징 기법
- 세그먼트 방법 등
2. 메모리 관리의 특징
ㅇ 메모리 관리는, 하드웨어 설계에 크게 영향을 받음
ㅇ 대부분의 메모리 관리 알고리즘은, 하드웨어,운영체제 간의 협력을 필요로 함
ㅇ 메모리 전체를 운영체제가 관리함
ㅇ 메모리 관리에서, 메모리 공간의 보호가 필요함
- 사용자공간과 커널공간 간의 분리
ㅇ 한편, 메모리 계층화를 통해, 적절한 비용으로 높은 성능을 낼 수 있음
- 소량,고속,고가 기억장치와, 대량,저속,저가인 기억장치를 계층적으로 구성함
. (CPU) ↔ (캐쉬메모리) ↔ (주메모리) ↔ (보조메모리, 자기디스크 등)
3. 메모리 관리에서, 운영체제 역할
ㅇ 사용중인 부분이 어디이고, 이를 누가 사용하고 있는지 추적 관리
ㅇ 필요에 따라, 메모리 공간을 할당,회수 해야 함
ㅇ 어떤 프로세스를 메모리에 적재,제거할 것인가를 결정 해야 함
4. [참고사항]
ㅇ 논리주소 대 물리주소
- 논리 주소 : CPU가 생성하는 주소 (가상 주소)
- 물리 주소 : 메모리가 취급되는 주소
- 프로그램 내 변수들의 주소 바인딩시에, 기억장치로의 접근 방식
. 컴파일 또는 적재하면서 주소 바인딩시에는, 논리주소 = 물리주소 임
. 실행 시간 동안 주소 바인딩시에는, 논리주소 (가상주소) ≠ 물리주소 임
.. 이때, 가상 주소를 물리 주소로의 매핑 작업을, MMU라는 장치에서 실행함