페이지와 페이지 프레임
- CPU는 MMU에게 메모리를 할당하고 데이터를 요구하면 MMU가 제한된 메모리 공간을 활용
- 가상 메모리 블럭 단위를 페이지라고 하고 물리 메모리의 블럭 단위를 페이지 프레임이라 함
- 페이지와 페이지 프레임은 일치
-> 페이지 단위로 할당하고 해제하기 때문
느린 속도의 개선
- 가상 메모리는 하드 디스크의 일부 까지 메인 메모리로 확장하는 것이지만 실질적인 물리 메모리는 RAM에 국한됨
- 단순히 하드 디스크를 메인 메모리로 확장을 하면 RAM에 접근하는 속도와 하드디스크에 접근하는 속도가 달라질 수 있음
- 그렇기 때문에 하드 디스크와 램의 관계를 램과 캐쉬 관계로 구성
-> 하드 디스크에 실질적인 메모리 공간을 모두 할당
-> Locailty에 의해서 블럭 단위로 필요한 것을 RAM에 가져다 놓고 실행
- 만약 RAM이 꽉찬 상태에서 새로운 할당을 요구하면 RAM의 일부를 뺴서 하드디스크에 저장(Store)
-> 가장 마지막에 사용된 블록이나 사용된지 오래된 블록을 뺌
- 그 공간에 새로운 할당을 함
- CPU가 하드 디스크에 저장했던 공간의 데이터를 요구한다면 다른 블록을 스토어 후 로드
- 하드 디스크는 이 블록을 저장할 때 File로 저장하는데 이런식으로 프로세스의 가상 메모리 공간 확장하기 위해 생성한 파일을 스왑 파일이라고 부름
- 이렇기 때문에 램만큼 중요한 것이 하드디스크이고 하드디스크도 여유 공간이 중요
둘 이상의 프로세스와 가상 메모리
- 프로세스 별로 공간을 할당해주는데 각각의 스왑 파일을 하드디스크에 별도로 저장하기 때문에 문제가 없음
- 실행 중인 프로세스에 따라 RAM은 스왑 파일에 맞춰 메모리 공간을 구성
- 이럴 때마다 RAM에서도 Context Switching이 일어남
'Programming > System Programming' 카테고리의 다른 글
윈도우즈 시스템 프로그래밍 - 17. 구조적 예외처리(SHE) 기법(2) (0) | 2020.08.17 |
---|---|
윈도우즈 시스템 프로그래밍 - 17. 구조적 예외처리(SHE) 기법(1) (0) | 2020.08.17 |
윈도우즈 시스템 프로그래밍 - 16. 컴퓨터 구조에 대한 네 번째 이야기(3) (0) | 2020.08.13 |
윈도우즈 시스템 프로그래밍 - 16. 컴퓨터 구조에 대한 네 번째 이야기(2) (0) | 2020.08.11 |
윈도우즈 시스템 프로그래밍 - 16. 컴퓨터 구조에 대한 네 번째 이야기(1) (0) | 2020.08.11 |