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