virtual memory

agnusdei·2024년 10월 16일
0

Hardware & Software

목록 보기
38/136

가상 기억장치(Virtual Memory)는 컴퓨터 시스템에서 물리적 메모리(RAM)의 용량을 초과하는 프로그램을 실행할 수 있도록 돕는 메모리 관리 기법입니다. 이를 통해 시스템은 더 많은 메모리를 사용할 수 있으며, 여러 프로세스를 동시에 실행할 수 있게 해줍니다. 가상 기억장치는 현대 운영 체제의 핵심 기능 중 하나로, 메모리 보호와 효율적인 메모리 관리가 가능합니다.

  1. 목적

    • 메모리 확장: 물리적 메모리의 용량을 초과하여 더 많은 프로그램을 동시에 실행할 수 있도록 합니다.
    • 프로세스 격리: 각 프로세스가 독립적인 메모리 공간을 가지며, 서로의 메모리 공간에 접근할 수 없도록 보호합니다.
    • 효율적인 메모리 관리: 사용하지 않는 메모리를 디스크에 저장함으로써 물리적 메모리를 효율적으로 활용합니다.

  2. 개념

가상 기억장치는 다음과 같은 두 가지 주요 구성 요소로 구성됩니다:

•	가상 주소 공간: 각 프로세스가 사용하는 메모리 주소의 공간입니다. 물리적 메모리의 주소와는 다릅니다.
•	페이지 및 세그먼트: 가상 기억장치는 페이지(Page) 또는 세그먼트(Segment)라는 단위로 관리됩니다.
  1. 원리

가상 기억장치는 페이지 기반 시스템에서 주로 동작합니다. 아래는 가상 기억장치의 작동 순서입니다:

1.	주소 변환: 프로세스가 가상 주소를 요청하면, 이 주소는 페이지 테이블(Page Table)을 통해 물리적 주소로 변환됩니다.
2.	페이지 적중(Page Hit): 요청한 페이지가 물리적 메모리에 있으면, 해당 페이지를 사용하여 작업을 계속합니다.
3.	페이지 부재(Page Fault): 요청한 페이지가 메모리에 없으면 페이지 부재가 발생합니다. 이 경우, 운영 체제는 다음 단계를 수행합니다:
•	페이지 교체: 디스크에서 필요한 페이지를 로드합니다. 필요에 따라 사용하지 않는 페이지를 디스크로 이동시켜야 할 수도 있습니다.
•	수정: 페이지가 메모리에 로드되면, 페이지 테이블을 업데이트하여 변환 정보를 갱신합니다.
  1. 종류

가상 기억장치는 주로 두 가지 방식으로 구현됩니다:

•	페이지 기반 가상 기억장치: 메모리를 페이지 단위로 나누고, 페이지 테이블을 사용하여 가상 주소를 물리적 주소로 매핑합니다.
•	세그먼트 기반 가상 기억장치: 메모리를 세그먼트 단위로 나누고, 각 세그먼트에 대한 정보를 저장합니다.
  1. 장단점

장점 단점
더 많은 프로그램을 동시에 실행 가능 디스크 I/O 발생 시 성능 저하 가능
프로세스 간 메모리 보호 메모리 관리의 복잡성 증가
효율적인 메모리 활용 페이지 부재가 빈번하면 성능 저하

  1. 비교

항목 물리적 메모리 가상 기억장치
주소 공간 제한적 확장 가능
접근 속도 빠름 상대적으로 느림
프로세스 간 보호 없음 있음

  1. 전망 및 개선점

가상 기억장치는 계속해서 발전하고 있으며, 더 높은 성능을 제공하기 위한 여러 기법이 연구되고 있습니다. 예를 들어, 스와핑(Swapping) 및 프리페칭(Prefetching)과 같은 기법은 페이지 부재를 최소화하고 성능을 향상시키기 위해 사용됩니다.

요약

가상 기억장치는 물리적 메모리의 한계를 극복하고 프로그램의 메모리 요구를 효율적으로 관리하는 중요한 기술입니다. 이를 통해 컴퓨터는 다양한 작업을 동시에 처리할 수 있으며, 각 프로세스는 독립적으로 메모리를 사용하여 안전하게 실행될 수 있습니다.

이 내용이 도움이 되길 바랍니다. 추가적인 질문이 있다면 언제든지 말씀해 주세요!

0개의 댓글