logo

OS(운영 체제)의 가상 메모리란 무엇입니까?

가상 메모리는 사용자에게 매우 큰 메인 메모리를 갖고 있다는 착각을 불러일으키는 저장 방식입니다. 이는 보조 메모리의 일부를 주 메모리로 처리하여 수행됩니다.

이 방식에서 사용자는 프로세스를 로드하는 데 메모리가 사용 가능하다는 착각을 함으로써 사용 가능한 주 메모리보다 더 큰 크기의 프로세스를 로드할 수 있습니다.

하나의 큰 프로세스를 주 메모리에 로드하는 대신 운영 체제는 주 메모리에 있는 두 개 이상의 프로세스의 다른 부분을 로드합니다.

이렇게 하면 다중 프로그래밍 정도가 높아지므로 CPU 사용률도 높아집니다.

가상 메모리는 어떻게 작동하나요?

요즘에는 가상 메모리가 매우 보편화되었습니다. 이 방식에서는 실행을 위해 일부 페이지를 주 메모리에 로드해야 하는데 해당 페이지에 대해 메모리를 사용할 수 없을 때마다 해당 페이지가 주 메모리에 들어가는 것을 중지하는 대신 OS는 다음을 검색합니다. 최근에 가장 적게 사용되거나 참조되지 않는 RAM 영역을 보조 메모리에 복사하여 주 메모리에 새 페이지를 위한 공간을 만듭니다.

이 모든 절차가 자동으로 수행되므로 컴퓨터는 RAM이 무제한인 것처럼 느껴집니다.

수요 페이징

수요 페이징(Demand Paging)은 가상 메모리 관리에 널리 사용되는 방법입니다. 요청 페이징에서는 가장 적게 사용된 프로세스 페이지가 보조 메모리에 저장됩니다.

페이지는 요청이 발생하거나 페이지 폴트가 발생하면 주 메모리로 복사됩니다. 교체될 페이지를 결정하는 데 사용되는 다양한 페이지 교체 알고리즘이 있습니다. 나중에 각각에 대해 자세히 논의하겠습니다.

가상 메모리 관리 시스템의 스냅샷

P1과 P2라는 2개의 프로세스에 각각 4개의 페이지가 있다고 가정해 보겠습니다. 각 페이지 크기는 1KB입니다. 주 메모리에는 각각 1KB의 8개 프레임이 포함되어 있습니다. OS는 처음 두 파티션에 있습니다. 세 번째 파티션에서는 1P1의 페이지가 저장되고 다른 프레임도 주 메모리의 다른 프로세스 페이지로 채워진 것으로 표시됩니다.

두 페이지의 페이지 테이블은 각각 ​​1KB 크기이므로 각각 하나의 프레임에 들어갈 수 있습니다. 두 프로세스의 페이지 테이블에는 이미지에도 표시된 다양한 정보가 포함되어 있습니다.

CPU에는 P1의 경우 5, P2의 경우 7인 페이지 테이블의 기본 주소를 포함하는 레지스터가 포함되어 있습니다. 이 페이지 테이블 기본 주소는 실제 해당 항목에 접근할 때 논리 주소의 페이지 번호에 추가됩니다.


OS 가상 메모리

가상 메모리의 장점

  1. 멀티프로그래밍의 수준이 높아집니다.
  2. 사용자는 실제 RAM이 더 적은 대용량 애플리케이션을 실행할 수 있습니다.
  3. 더 이상 메모리 RAM을 구입할 필요가 없습니다.

가상 메모리의 단점

  1. 교체하는 데 시간이 걸리기 때문에 시스템 속도가 느려집니다.
  2. 응용 프로그램 간 전환에 더 많은 시간이 걸립니다.
  3. 사용자는 사용하기에 더 적은 하드 디스크 공간을 갖게 됩니다.