본문 바로가기

컴퓨터/컴퓨터 시험

정보처리 기능사 - 가상 메모리(Virtual Memory)

728x90

가상 메모리(Virtual Memory)는 컴퓨터 시스템에서 메모리 관리를 효율적으로 할 수 있게 해주는 중요한 개념입니다. 가상 메모리는 물리적 메모리(실제 RAM)의 한계를 극복하고, 프로세스들이 마치 큰 메모리 공간을 가지고 있는 것처럼 동작하게 해줍니다. 이를 통해 여러 프로그램을 동시에 실행하거나 메모리 관리 효율을 높일 수 있습니다.

가상 메모리(Virtual Memory)의 기본 개념

  1. 가상 메모리의 정의:
    • 가상 메모리는 실제 물리적 메모리(RAM)보다 큰 메모리 공간을 사용할 수 있게 해주는 기술입니다.
    • 프로그램이 사용하는 메모리 주소는 실제 물리적 주소가 아니라, 가상의 주소로 관리됩니다.
    • 가상 메모리는 운영 체제에 의해 물리적 메모리와 가상 메모리 주소를 매핑(mapping)하여 관리됩니다.
  2. 페이지(Paging):
    • 가상 메모리에서 가장 중요한 개념 중 하나로, 메모리 공간을 일정 크기의 페이지(page) 단위로 나누어 관리합니다.
    • 페이지는 일정 크기(일반적으로 4KB)로 분할되어, 프로그램이 필요한 메모리를 물리적 메모리와 가상 메모리 간에 매핑하여 관리합니다.
  3. 페이지 테이블(Page Table):
    • 가상 메모리에서 가상 주소를 실제 물리적 주소로 변환하는 정보를 담고 있는 데이터 구조입니다.
    • 각 프로세스마다 페이지 테이블을 관리하고, 이 테이블을 통해 가상 주소가 물리적 주소로 매핑됩니다.
  4. TLB(Translation Lookaside Buffer):
    • 페이지 테이블을 참조하는데 드는 시간을 줄이기 위해 사용하는 캐시 메모리입니다.
    • 가상 주소를 변환할 때 페이지 테이블을 자주 참조하는데, TLB는 이 변환 정보를 미리 저장하여 빠르게 주소 변환을 할 수 있게 도와줍니다.
  5. 스와핑(Swapping):
    • 가상 메모리가 부족할 때, 사용되지 않는 프로세스의 일부나 전체를 디스크로 옮기는 작업을 스와핑이라고 합니다.
    • 이때, 디스크에 옮겨진 데이터는 나중에 다시 필요할 때 메모리로 로딩됩니다.
  6. 주소 변환 과정:
    • 프로그램이 가상 주소를 사용하면, 운영체제는 이 가상 주소를 실제 물리적 주소로 변환합니다.
    • 가상 주소는 페이지 번호페이지 내 오프셋으로 나누어지며, 운영체제는 페이지 테이블을 통해 해당 페이지 번호를 물리적 메모리 주소로 변환합니다.

가상 메모리의 장점

  • 다중 프로그래밍: 여러 프로그램을 동시에 실행할 수 있게 해 줍니다. 프로그램은 가상 주소 공간을 할당받고, 실제 메모리가 부족해도 물리적 메모리와 디스크를 효과적으로 활용하여 실행됩니다.
  • 메모리 보호: 프로그램은 자신에게 할당된 가상 메모리 공간만 접근할 수 있기 때문에 다른 프로그램과의 충돌을 방지할 수 있습니다.
  • 메모리 효율성: 자주 사용되지 않는 부분을 디스크로 옮겨서 메모리 공간을 효율적으로 사용할 수 있습니다.

문제 1

다음 중 가상 메모리의 특징에 대한 설명으로 올바르지 않은 것은?

 

① 가상 메모리는 물리적 메모리 용량보다 많은 데이터를 처리할 수 있다.

② 프로그램은 자신만의 고유한 가상 메모리 공간을 사용한다.

③ 물리 메모리에서 가상 메모리로 직접 데이터를 이동시키는 방식이다.

④ 페이지 테이블을 사용하여 가상 주소를 물리 주소로 변환한다.

 

정답: ③ 물리 메모리에서 가상 메모리로 직접 데이터를 이동시키는 방식이다. (가상 메모리는 주로 페이지와 페이지 프레임 간 변환을 통해 관리되며, 스와핑을 통해 데이터를 디스크로 옮기기도 합니다.)

 

문제 2

가상 메모리 시스템에서 페이징 기법을 사용할 때, 가상 주소는 어떻게 변환되는가?

  1. 페이지 테이블을 사용하여 가상 주소를 물리 주소로 변환한다.
  2. 디스크 관리자가 가상 주소를 물리 주소로 변환한다.
  3. 가상 메모리에서 직접 물리 메모리로 변환된다.
  4. 가상 주소는 물리 주소로 변환되지 않는다.

정답: 1. 페이지 테이블을 사용하여 가상 주소를 물리 주소로 변환한다.


문제 3

가상 메모리의 '스와핑' 기법에 대한 설명으로 올바르지 않은 것은?

  1. 스와핑은 물리 메모리가 부족할 때, 일부 데이터를 하드디스크로 이동시키는 기법이다.
  2. 스와핑은 실행 중인 프로세스를 일시적으로 디스크에 저장하고, 다시 필요할 때 메모리로 불러오는 방식이다.
  3. 스와핑은 물리 메모리의 용량이 더 커지도록 설정하는 방식이다.
  4. 스와핑은 하드디스크와 물리 메모리 간의 데이터 이동을 통해 효율적으로 메모리 공간을 관리한다.

정답: 3. 스와핑은 물리 메모리의 용량이 더 커지도록 설정하는 방식이다. (스와핑은 메모리 용량을 확장하는 것이 아니라, 데이터를 디스크와 주고받는 방식입니다.)


문제 4

가상 메모리에서 페이지 테이블의 역할은 무엇인가?

  1. 가상 메모리 공간을 물리 메모리로 직접 연결하는 역할을 한다.
  2. 가상 주소를 물리 주소로 변환하는 데 필요한 정보를 저장한다.
  3. 물리 메모리와 디스크 간의 데이터를 이동시키는 역할을 한다.
  4. 프로그램의 실행 순서를 결정한다.

정답: 2. 가상 주소를 물리 주소로 변환하는 데 필요한 정보를 저장한다.


문제 5

다음 중 가상 메모리의 주요 장점으로 올바르지 않은 것은?

  1. 프로그램이 물리 메모리 크기와 관계없이 실행될 수 있다.
  2. 여러 프로그램이 동시에 실행될 때 서로 독립적인 메모리 공간을 가진다.
  3. 가상 메모리는 하드디스크의 용량을 늘려주는 역할을 한다.
  4. 물리 메모리의 용량에 관계없이 더 많은 프로그램을 실행할 수 있게 해준다.

정답: 3. 가상 메모리는 하드디스크의 용량을 늘려주는 역할을 한다. (가상 메모리는 하드디스크의 용량을 늘리는 것이 아니라, 하드디스크를 보조 기억 장치로 사용하여 메모리를 효율적으로 관리하는 것입니다.)


문제 

  1. 가상 메모리 관련 문제 1
    • 문제: 가상 메모리에서 페이지 테이블이 하는 역할은 무엇인가요?
      • : 페이지 테이블은 가상 주소를 물리적 주소로 변환하는 역할을 합니다.
  2. 가상 메모리 관련 문제 2
    • 문제: TLB(Translation Lookaside Buffer)는 무엇을 위해 사용되나요?
      • : TLB는 페이지 테이블을 참조하는 데 드는 시간을 줄이기 위해, 주소 변환 정보를 미리 저장하는 캐시 메모리입니다.
  3. 가상 메모리 관련 문제 3
    • 문제: 가상 메모리 시스템에서 스와핑이란 무엇인가요?
      • : 스와핑은 가상 메모리가 부족할 때, 사용되지 않는 프로세스를 디스크로 이동시키는 작업입니다.
728x90