CS 기초 · 기초
'가상 메모리(Virtual Memory)'는 무엇이며, 이 기술이 시스템 메모리 관리에서 어떤 이점을 제공하는지 설명해 주세요.
힌트 · 실제 물리 메모리보다 큰 주소 공간을 제공하며, 메모리 보호 및 효율적인 메모리 사용을 가능하게 하는 기술입니다.
가상 주소물리 주소페이지 테이블메모리 보호스왑 공간
모범답안
가상 메모리는 프로세스가 실제 물리 메모리보다 더 큰 메모리 공간을 사용하는 것처럼 보이게 하는 기술입니다. 각 프로세스에게 독립적인 가상 주소 공간을 제공하고, 이 가상 주소를 실제 물리 주소로 변환하는 방식으로 작동합니다.
가상 메모리의 가장 큰 장점은 다음과 같습니다. 첫째, 물리 메모리보다 큰 프로그램을 실행할 수 있게 해줍니다. 둘째, 각 프로세스가 독립적인 주소 공간을 가지므로 메모리 보호가 가능해집니다. 한 프로세스의 오류가 다른 프로세스에 영향을 미치지 않도록 격리할 수 있습니다. 셋째, 메모리를 효율적으로 사용할 수 있습니다. 당장 사용하지 않는 페이지는 디스크의 스왑 공간에 저장해두고, 필요할 때 물리 메모리로 가져와 사용할 수 있습니다. 이를 통해 물리 메모리의 활용도를 높일 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 운영체제 면접 질문
- 프로세스 내에서 '스레드(Thread)'는 어떤 역할을 하며, 멀티스레딩이 필요한 주된 이유를 설명해 주세요.
- 운영체제가 프로세스를 관리할 때, 프로세스가 가질 수 있는 주요 상태(예: 생성, 준비, 실행, 대기, 종료)들에 대해 각각 설명해 주세요.
- 운영체제에서 'CPU 스케줄링'이 필요한 이유와 그 기본적인 목적은 무엇인지 설명해 주세요.
- 프로세스와 스레드의 주요 차이점을 설명하고, 특정 애플리케이션 개발 시 어떤 기준으로 둘 중 하나를 선택할지 구체적인 시나리오를 들어 설명해보세요.
- 운영체제에서 컨텍스트 스위칭(Context Switching)이 발생하는 과정과 이로 인해 발생할 수 있는 성능상의 오버헤드에 대해 설명하고, 이를 최소화하기 위한 방법은 무엇이 있을까요?
- 교착상태(Deadlock)가 발생하는 4가지 필수 조건을 설명하고, 실제 시스템에서 교착상태를 예방하거나 회피하기 위한 대표적인 기법들을 제시해주세요.