OS - 가상 메모리

itonse·2024년 5월 19일
0

CS 스터디

목록 보기
36/56

👀 해당 주제 질문 리스트 미리보기

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편-가상-메모리-개요-페이징

0개의 댓글