CS 기초 · 중급
가상 메모리(Virtual Memory)란 무엇이며, 페이지 폴트(Page Fault)는 어떻게 처리되나요?
힌트 · 물리 메모리와 가상 주소 공간의 관계를 설명해보세요.
가상 주소물리 주소MMU페이지 테이블페이지 폴트 핸들러
모범답안
가상 메모리는 실제 물리 메모리 크기보다 더 큰 주소 공간을 제공하는 기술입니다. 각 프로세스는 독립적인 가상 주소 공간을 가지며, 이 공간은 실제 물리 메모리에 매핑됩니다.
페이지 폴트는 프로세스가 접근하려는 페이지가 현재 물리 메모리에 없을 때 발생합니다. 이 경우 운영체제는 페이지 폴트 핸들러를 호출하여 처리합니다.
페이지 폴트 핸들러는 다음과 같은 과정을 거칩니다. 먼저, 요청된 페이지가 디스크(swap 공간)에 있는지 확인합니다. 있다면, 디스크에서 해당 페이지를 물리 메모리로 가져옵니다. 만약 물리 메모리가 부족하다면, Least Recently Used (LRU)와 같은 페이지 교체 알고리즘을 사용하여 물리 메모리에서 사용 빈도가 낮은 페이지를 디스크로 내보냅니다. 마지막으로, 페이지 테이블을 갱신하여 가상 주소와 물리 주소 간의 매핑을 업데이트하고, 중단되었던 프로세스를 재개합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 네트워크 면접 질문
- HTTPS의 동작 원리와 SSL/TLS 핸드셰이크 과정에 대해 설명해주세요.
- REST API 설계 원칙과 RESTful하다는 것의 의미에 대해 설명해주세요.
- 컨텍스트 스위칭(Context Switching)이란 무엇이며, 어떤 비용이 발생하나요?
- 교착 상태(Deadlock)의 발생 조건 4가지와 해결 방법에 대해 설명해주세요.
- HTTP/3와 QUIC 프로토콜의 특징에 대해 설명해주세요.
- 라우터와 L3 스위치는 둘 다 IP 기반 라우팅을 수행할 수 있는데, 실제 데이터센터 설계에서 둘을 어떻게 구분해서 사용하나요? ASIC 기반 하드웨어 스위칭과 소프트웨어 라우팅의 성능 차이 관점에서 설명해주세요.