주기억장치는 현재 실행 중인 프로그램과 이 프로그램이 필요로 하는 데이터를 일시적으로 저장하는 장치다.
운영체제는 이 주기억장치에 필요한 데이터를 할당하고, 프로그램이 종료되면 회수해야 한다.
보통 주기억장치를 여러 영역으로 나누어서 프로세스의 크기에 따라 할당하는 방식을 사용한다.
그중에서도 대부분 시스템에서 사용되는 것은 가상 메모리 방식이다.
가상 메모리(Virtual Memory)란
실행될 프로그램이 주기억장치의 용량보다 크거나 그전에 이미 주기억장치의 용량이 다 꽉 차서 공간이 부족할 때
프로그램이 제 때 실행되지 않을 수 있다. 이를 해결하기 위해 프로그램 실행에 당장 필요한 부분만 주기억장치에
저장하고 나머지는 보조기억장치에 저장하여 작동하게 하는 방식이다.

이처럼 실행에 당장 필요한 부분과 그렇지 않은 부분을 나누기 위해 프로그램을 나눈 것을 페이지(page)라고 하며,
페이지 단위로 주기억장치에 올리는 작업을 페이징(paging)이라 한다. 주기억장치에 해당하는 페이지 부분을 페이지 프레임(page frame)이라고 한다.
물론 이러한 가상 메모리 방식을 사용하여 보완하더라도 용량이 가득 차있다면 기존에 있는 페이지를 교체해야 한다.
이러한 작업을 페이지 교체(page replacement)라고 하며, 제거할 페이지를 결정하는 방식을 페이지 교체 알고리즘이라 한다. 각 방식에 따라 페이지의 우선순위는 달라진다.



출처 :
[운영체제(OS)] 15. 가상메모리
가상 메모리는 물리 메모리 크기의 한계를 극복하기 위해 나온 기술이다. 즉, 물리 메모리보다 큰 프로세스를 수행하기 위해 가상 메모리를 사용한다. 예를 들어, 100MB 메모리 크기에서 200MB 크기
velog.io
페이지 교체(page-replacement) 알고리즘
요구 페이징 시스템은 프로세스가 특정 페이지를 요구할 때 해당 페이지를 물리 메모리에 로딩한다.
medium.com
'CS > 운영체제' 카테고리의 다른 글
컨텍스트 스위칭 (0) | 2024.08.17 |
---|---|
프로세스와 스레드 (0) | 2024.08.13 |
멀티 태스킹과 멀티 프로세싱 (0) | 2024.08.12 |
프로세스(Process) 관리 (0) | 2022.04.26 |
운영체제(Operating System)란 (0) | 2022.04.25 |