Virtual Memory

ORCASUIT·2023년 12월 16일

날짜 : 2023-12-16 19:14

주제 :


개요

운영 체제(OS)에서의 가상 메모리(Virtual Memory)는 시스템 메모리 관리를 위한 핵심적인 개념입니다. 가상 메모리는 물리적 메모리(주로 RAM)의 용량을 초과하는 프로그램을 실행할 수 있게 해주는 기술로, 물리적 메모리와 보조 저장 장치(예: 하드 드라이브, SSD)를 함께 사용하여, 프로그램에 더 큰 메모리 공간처럼 보이게 합니다.

가상 메모리의 기본 개념

  1. 정의: 가상 메모리는 물리적 메모리의 한계를 초과하는 메모리 요구를 처리하기 위해 운영 체제가 사용하는 기술입니다. 이는 프로그램에게 더 큰 메모리 공간을 제공하는 것처럼 보이게 하며, 실제로는 물리적 메모리와 디스크 기반의 스왑 공간을 조합해 사용합니다.

  2. 목적: 가상 메모리는 메모리 관리의 유연성을 제공하고, 프로그램이 물리적 메모리보다 더 많은 메모리를 사용할 수 있도록 합니다. 이는 메모리의 효율적 사용과 프로그램 간 격리, 메모리 보호 등을 가능하게 합니다.

가상 메모리의 작동 방식

  1. 페이징과 세그먼테이션: 가상 메모리는 주로 페이징(paging) 또는 세그먼테이션(segmentation) 기법을 사용합니다. 이는 가상 주소 공간을 물리적 메모리의 페이지나 세그먼트로 매핑하는 과정입니다.

  2. 주소 변환: 프로그램은 가상 주소를 사용합니다. CPU는 가상 주소를 물리적 주소로 변환하는데, 이 때 페이지 테이블이나 세그먼트 테이블이 사용됩니다.

  3. 스와핑: 필요에 따라, 물리적 메모리에 없는 페이지(또는 세그먼트)는 디스크의 스왑 공간에서 로드됩니다. 이 과정에서 페이지 폴트가 발생하고, 운영 체제는 해당 페이지를 메모리로 가져옵니다.

가상 메모리의 장점과 단점

  • 장점:

    • 메모리 활용 향상: 물리적 메모리 용량을 효과적으로 확장합니다.
    • 프로세스 격리: 각 프로세스가 독립된 메모리 공간을 가지므로, 프로세스 간 메모리 충돌을 방지합니다.
    • 메모리 보호: 각 프로세스가 다른 프로세스의 메모리에 임의로 접근하는 것을 방지합니다.
  • 단점:

    • 성능 저하: 스왑 공간을 사용할 때 발생하는 입출력은 물리적 메모리보다 느립니다.
    • 관리 복잡성: 효율적인 가상 메모리 관리는 운영 체제에 추가적인 부담을 줍니다.

출처(참고문헌)

연결문서

0개의 댓글