👀 해당 주제 질문 리스트 미리보기
Q. 가상 메모리에 대해서 설명해주세요.
가상 메모리는 메모리 관리 기법의 하나로, 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화
하여
이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것
을 말합니다.
프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법입니다.
가상 메모리는 실제 메모리(RAM)와 보조 기억 장치(하드디스크 or SSD)의 swap 영역으로 구성됩니다.
운영체제는 메모리 관리자(MMU)를 통해 메모리를 관리하며, 프로세스는 자신이 사용하는 메모리가 실제 메모리인지, swap 영역인지 인식하지 못합니다.
프로그램의 일부분만 메모리에 올릴 수 있어, 물리 메모리 크기에 제약받지 않고 더 많은 프로그램을 동시에 실행할 수 있습니다.
swap에 필요한 입출력이 줄어들어 프로그램이 더 빠르게 실행될 수 있습니다.
프로그램이 돌아갈 대는 전체 프로그램을 메모리에 올리는 것이 아닌 현재 사용되고 있는 필요한 부분만 메모리에 올리고 나머지는 하드디스크와 같은 보조 기억 장치(swap area)에 저장해두었다가 필요할 때 메모리에 적재하는 방식을 사용합니다.
-> 해당 방식을 요구 페이징 (or 요구 세그먼테이션) 이라고 합니다.
Q. 가상 메모리에 대해서 설명해주세요.
가상 메모리는 프로그램이 실제 물리 메모리보다 큰 주소 공간을 사용할 수 있게 하는 기술입니다. 이를 통해 여러 프로그램이 동시에 실행될 수 있으며, 운영체제는 데이터를 물리 메모리와 보조 기억 장치(스왑 영역) 사이에 이동시켜 메모리 사용을 최적화합니다.
ref.
https://imbf.github.io/interview/2020/11/26/NAVER-Interview-Preparation-1.html
https://github.com/Seongwon97/tech-interview/blob/main/Q&A/OS_Q&A.md
https://github.com/ksundong/backend-interview-question
https://velog.io/@chappi/OS는-할껀데-핵심만-합니다.-14편-가상-메모리-개요-페이징