컴퓨터 마다 물리 메모리가 다르지만 정상적으로 작동하기 위해 1차 메모리 + 2차 메모리를 사용하는데 이것을 가상 메모리라고 한다. 물리적 메모리의 의존성을 낮추고 관리적 의미로 보안(접근 제어)성이 높다.
32bit 응용 S/W 메모리 파티션(가상 메모리)

메모리 매니저(메모리 관리자)가 물리 메모리인 RAM과 Swap영역(물리 메모리가 부족하면 사용하는 2차메모리의 공간)을 관리 한다.
프로세스가 사용하는 가상 메모리 주소를 실제 메모리의 물리 주소로 변환 하는 작업을 동적 주소 변환이라고 한다.

매핑 테이블은 배열로 구현함
프로그램 오작동으로 메모리가 낭비 될 염려가 있을 때 OS가 메모리 매니저를 사용하여 회수 하여 다시 사용 할 수 있게 한다. (관리적인 의미!!)

가상 메모리는 4GB의 배열(32bit 기준), process마다 가지고 있음
페이지 사이즈와 프레임 사이즈는 거의 동일 (1페이지 약 4Kb로 메모리를 동일하게 나눔)






권한이라는 개념은 페이지 테이블에 묶인다고 생각할 것
DEP(Data Execution Protection): 데이터 실행 방지 OS는 보안을 위해 데이터 영역에 코드를 넣어 실행(원격 코드 실행)하게 하는 것을 막는다.
| 9. 절대 주소와 상대 주소 (0) | 2023.07.03 |
|---|---|
| 8. (물리)메모리 관리 (0) | 2023.07.01 |
| 7. Process간 통신 / 공유 자원과 임계 구역 해결 방법 (0) | 2023.06.30 |
| 6. 멀티스레드와 동기화 기본 / CPU스케줄링 개요 (0) | 2023.06.29 |
| 5. 프로세스 생성과 복사 (0) | 2023.06.28 |