물리 주소를 사용하는 시스템

- CPU가 물리주소로 바로 접근하여 사용하는 방식
- 간단한 시스템에서 사용한다.
- 마이크로 컨트롤러가 내장된 장치들
가상 주소를 사용하는 시스템

- CPU가 가상 주소를 사용하여 MMU에 접근하고, MMU가 이를 해석하여 물리 주소로 접근하는 방식
- 우리가 아는 서버, 노트북, 스마트폰 등에서 사용한다.
주소공간 - GPT
컴퓨터 시스템에서 주소를 사용하여 메모리 위치를 식별하는 방식을 설명하는 것
- 선형 주소 공간 (Linear Address Space):
- 정의
- 연속적인 비음수 정수 주소의 집합이다.
- 예를 들어, {0, 1, 2, 3, …}와 같이 순서가 정해진 연속적인 주소들이 포함된다.
- 용도
- 프로그램에서 사용되는 메모리 주소를 표현할 때, 물리적 메모리와 가상 메모리 시스템 간의 중간 단계로 사용될 수 있다.
- 가상 주소 공간 (Virtual Address Space):
- 정의
- N = 2^n개의 가상 주소가 포함된 집합이다.
- n은 주소 비트의 수를 의미한다.
- 가상 주소는 0부터 N-1까지의 범위를 가진다.
- 용도
- 운영체제와 프로세서가 가상 메모리 시스템에서 프로그램에 제공하는 메모리 주소 범위이다.
- 각 프로세스는 독립적인 가상 주소 공간을 가지며, 이를 통해 물리적 메모리와는 독립적으로 프로그램을 실행할 수 있다.
- 물리적 주소 공간 (Physical Address Space):
- 정의
- M = 2^m개의 물리적 주소가 포함된 집합이다.
- m은 물리적 주소 비트의 수를 의미한다.
- 물리적 주소는 0부터 M-1까지의 범위를 가진다.
- 용도:
- 실제 하드웨어 메모리 모듈에 대한 주소를 식별하는 데 사용한다.
- 물리적 주소 공간은 컴퓨터 시스템의 실제 메모리 용량에 따라 결정된다.
가상 주소를 사용하는 이유
- 메인 메모리를 효율적으로 사용한다.
- DRAM을 가상 주소 공간의 캐시로 사용한다.
- 메모리 관리를 간단하게 한다.
- 각각의 프로세스가 통일된 선형 주소 공간을 사용하도록 한다.
- 주소 공간을 격리한다.
- 하나의 프로세스가 다른 메모리를 간섭하지 못하게 한다.
- 유저 프로그램이 상위 권한을 가진 커널 정보, 코드에 접근 못하게 한다.