운영체제
[운영체제 공부] 메모리 관리 - 메모리의 구조와 매핑
검은젤리곰
2020. 2. 20. 22:38
메모리는 주소의 연속으로, 주소는 크게 두 가지 관점에서 해석 가능하다.
프로그래머가 프로그래밍에 사용하는 공간으로 보는 논리적 관점의 논리적 주소
그리고 실제 데이터나 프로그램을 저장하는 공간으로 보는 물리적 관점의 물리적 주소이다.
논리적 주소는 C/C++같은 언어에서 변수의 주소값을 출력해보면 나오는 주소를 생각하면 이해하기 쉽다.
메모리 관리 장치
논리적 주소와 물리적 주소의 변환은 메모리관리장치가 처리한다.
메모리관리장치가 논리적 주소를 물리적 주소로 변환할 때 다음과 같은 방법을 사용한다.
- 고정 분할
- 동적 분할
- 페이징
- 세그먼테이션
- 페이지화된 세그먼테이션
프로세스의 논리적 주소에 대응하는 물리적 주소를 알아야 프로세스를 실행할 수 있는데, 두 주소를 매핑 시켜주는 작업을 바인딩이라고 한다.
바인딩은 컴파일 시간, 적재 시간, 실행 시간으로 구분할 수 있다.