computer science

하루에 하나씩 배우는 컴퓨터 사이언스 개념: 가상 메모리 개념 이해

vita12321 2023. 8. 12. 16:03
728x90
반응형

오늘은 컴퓨터 사이언스 개념  하나인 가상 메모리(Virtual Memory) 대해 더욱 자세하게 살펴봅니다. 컴퓨터 메모리 관리에 관한 이해가 필요한 개념으로, 컴퓨터 공학 지식과 함께 가상 메모리가 어떻게 동작하는지, 그리고  필요한지를 알아보도록 하겠습니다. 또한 가상 메모리의 장단점과 페이지 교체 알고리즘이 어떤 식으로 작용하는지도 살펴보도록 하겠습니다.


1. 가상 메모리 개념

 

가상 메모리는 물리 메모리의 제한을 느슨하게 하여 프로그램이 메모리를   효율적으로 사용할  있도록 도와주는 시스템입니다. 물리적 메모리 공간 효율화를 통해 실행 중인 프로세스가 실제로 사용하는 메모리 영역만 물리 메모리에 할당하고,   사용하지 않는 부분은 디스크에 저장하여 관리합니다. 이렇게 동작하면서, 메모리 관리의 유연성을 높이며 프로세스간 메모리 격리성을 유지할  있습니다.


2. 가상 메모리 동작 원리

 

가상 메모리는 페이징(Paging) 기법을 사용하여 동작합니다. 운영 체제는 가상 메모리 공간을 일정한 크기의 페이지(Page) 나누고, 이를 물리 메모리의 페이지 프레임(Page Frame) 대응시키며 메모리를 관리합니다.

 

프로세스가 실제로 사용하는 페이지만 물리 메모리에 올리고, 사용되지 않는 페이지는 디스크에 저장합니다. 페이지 테이블(Page Table)이라는 자료구조를 사용하여 가상 주소와 물리 주소 간의 매핑을 관리합니다. 페이지 테이블에는  페이지의 시작 주소, 상태 정보 등이 포함되어 있으며, 가상 주소를 물리 주소로 변환하는 작업을 해주는 MMU(Memory Management Unit) 의해 관리됩니다.


3. 페이지 교체 알고리즘

 

프로세스가 작업을 수행하다 보면 사용되지 않던 페이지가 필요해질 , 이미 물리 메모리가 가득  있으면 어떤 페이지를 디스크로 내보내야 할지 결정해야 합니다. 이러한 결정을 돕는 것이 페이지 교체 알고리즘이며 여러 종류가 있습니다.

 

  • First-In, First-Out (FIFO):
    가장 먼저 올라온 페이지부터 차례로 내보냅니다.  방식은 간단하지만, 옛날에 올라온 페이지가 현재 가장 많이 사용되고 있다면 비효율적일  있습니다.

  • Least Recently Used (LRU):
    가장 최근에 사용하지 않은 페이지를 내보냅니다.  방식은 자주 사용되는 페이지를 내보내지 않아 효율적일  있지만, 구현상의 복잡함이 있습니다.

  • Clock(Second Chance):
    가상의 시계방향 순환 큐를 이용한 상대적 계층화를 활용하여 페이지를 교체합니다. 페이지 테이블에 참조 비트(Reference Bit)를 설정해 사용 여부를 간단하게 파악하고, 이를 바탕으로 LRU와 유사한 성능을 내면서 구현이 간단한 방식입니다.

4. 가상 메모리의 장단점

 

  • 장점
  • 물리 메모리의 제약을 상쇄하여  많은 메모리를 사용할  있습니다.
  • 메모리 관리의 유연성이 증가합니다.
  • 여러 프로세스  메모리 격리성이 높아집니다.

 

  • 단점
  • 페이지 교체 과정에서 발생하는 오버헤드가 존재합니다. 페이지 테이블 조회, 디스크 입출력 등에 추가적인 시간이 걸릴  있습니다.
  • 디스크의 입출력이 늘어나게 되므로 성능 저하가 발생할  있습니다.
  • 페이지 교체 알고리즘에 따라 프로세스의 실행 순서에 따라 공평성과 성능에 영향을 받을  있습니다.

5. 요약

 

하루에 하나씩 배우는 컴퓨터 사이언스 개념 시리즈에서 오늘은 가상 메모리를 설명했습니다. 가상 메모리의 개념과 동작 원리, 그리고 페이지 교체 알고리즘 등을 살펴봤습니다. 앞으로도 컴퓨터 사이언스 관련 개념들을 계속해서 배워 나가는데 있어 도움이 되시길 바랍니다.

728x90
반응형