전에 포스팅했던 가상메모리의 정의에 대해 알고오시면 이해에 도움이 됩니다.
https://steady-snb.tistory.com/51
가상메모리의 정의와 페이지 테이블
가상 메모리(vurtual memory)는 OS에서 사용되는 메모리 관리 기법의 하나로컴퓨터가 실제로 이용가능한 메모리 자원(물리 주소, physical address)을 추상화하여 이를 사용하는사용자들에게 매우 큰 메
steady-snb.tistory.com
윈도우 운영체제의 가상 메모리는 RAM을 효율적으로 관리하는 방법 중 하나로, 각 프로그램에
실제 메모리 주소가 아닌 가상 메모리 주소를 할당하는 방식으로 RAM의 부족한 용량을 보완하는데 쓰인다.
페이지폴트란?
운영체제는 모든 가상 메모리를 물리 메모리에 로드하지 않습니다. 그렇기에 참조하려는 메모리 영역이 실제로 존재하지 않을 수 있는데 이것을 페이지폴트라 합니다.
페이지폴트 발생 시 해당 페이지를 가상 메모리에서 찾아야합니다. 이 때 운영체제가 페이지폴트를 해결하는 과정을
요구 페이징(Demand Paging)이라고 합니다.
먼저 운영체제는 페이지 테이블(Page Table)로 가상 메모리를 관리합니다.
페이지 테이블에는 각 페이지가 저장되어 있는 주소값이 들어있습니다.
요구페이지 수행과정
1. CPU는 물리 메모리를 확인하여 페이지가 없으면 trap이 발생하여 운영체제에 알린다.
2. 운영체제는 CPU의 동작을 잠시 멈춘다.
3. 운영체제는 페이지 테이블을 확인하여 가상 메모리에 페이지가 존재하는지 확인하고, 없으면 프로세스를 중단한다.
4. 페이지 폴트이면 현재 물리 메모리에 비어있는 프레임이 있는지 찾는다.
5. 해당 프레임을 실제 메모리로 가져와 페이지교체알고리즘을 기반으로 특정 페이지와 교체합니다(*스와핑 발생)
6. 페이지테이블을 갱신 후 중단되어있는 CPU를 다시 가동한다.
* 스와핑 : 메모리의 당장 사용하지 않는 영역을 하드디스크로 옮기고 하드디스크의 일부분을 불러와 쓰는 것
위 요구페이지에 대한 대표적인 알고리즘은 다음과 같다.
1. FIFO(First In First Out) : 가장 먼저 물리 메모리에 적재된 페이지를 선택하는 방식
2. LRU(Last Recent Used) : 가장 오랫동안 사용되지 않았던 page를 선택하는 방식
3. LFD(Longest Forward Distance) : 더 이상 참조되지 않거나 가장 늦게 재참조되는 페이지와 지금 요청을 교체하는 방식
출처 - https://preamtree.tistory.com/21
[IT 기술면접 준비자료] 가상메모리의 동작과 페이지폴트(Page Fault)
윈도우 운영체제의 가상 메모리(Virtual Memory)는 RAM을 관리하는 방법 중 하나로, 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 할당하는 방식을 말한다. RAM의 부족한 용량을 보완
preamtree.tistory.com
'IT지식 > Computer Science' 카테고리의 다른 글
프로세스와 스레드의 차이 (0) | 2025.01.30 |
---|---|
프로세스간의 통신 IPC(Inter-Process Communication) (0) | 2025.01.30 |
가상메모리의 정의와 페이지 테이블 (0) | 2025.01.30 |
프로세스의 메모리 할당 구조 및 역할 (0) | 2025.01.30 |
메모리 계층 구조(Memory Hiearachy)란? (1) | 2025.01.26 |