SECTION 137 가상기억장치 기타 관리 사항

2024. 10. 13. 12:03정보처리기사(실기)/11장 응용 소프트웨어 기초 기술 활용

가상기억장치 기타 관리 사항

  1. 페이지 크기
    1. 정의: 페이지 크기는 가상 메모리를 물리적 메모리에 매핑할 때 사용하는 메모리 블록의 크기를 말합니다. 이는 운영체제가 메모리를 관리하기 위해 사용하는 기본 단위입니다.
    2. 페이지 크기가 작을 경우:
      • 페이지의 크기가 작으면 내부 단편화가 줄어들어 메모리의 활용도가 높아집니다.
      • 그러나 페이지 수가 증가하므로 페이지 테이블 크기도 커지며, 관리 오버헤드가 증가합니다.
    3. 페이지 크기가 클 경우:
      • 페이지 크기가 크면 페이지 테이블의 크기가 줄어들어 관리가 간단해집니다.
      • 그러나 내부 단편화가 증가하여 메모리 낭비가 발생할 수 있습니다.
  2. Locality (구역성)
    1. 정의: 구역성은 프로그램이 실행되는 동안 메모리 참조가 특정 구역에 집중되는 성질을 말합니다. 이는 메모리 접근 패턴을 예측하고 최적화하는 데 중요한 역할을 합니다.
    2. 특징: 메모리 접근이 특정 영역에 집중되므로 캐시와 같은 저장장치의 효율성을 높일 수 있습니다.
      • 장점: 프로그램이 메모리의 특정 부분을 집중적으로 참조하기 때문에 캐시의 효율성이 극대화됩니다. 이는 메모리 접근 시간을 줄여 시스템 성능을 향상시킵니다.
      • 단점: 구역성이 낮은 프로그램의 경우 캐시의 효율성이 떨어질 수 있으며, 메모리 접근 패턴이 불규칙한 경우 성능 저하가 발생할 수 있습니다.
    3. 종류:
      • 시간 구역성 (Temporal Locality): 최근에 참조된 데이터가 다시 참조될 가능성이 높은 성질입니다.
      • 공간 구역성 (Spatial Locality): 특정 주소를 참조하면 그 주변 주소도 곧 참조될 가능성이 높은 성질입니다.
  3. 워킹 셋 (Working Set)
    1. 정의: 워킹 셋은 프로세스가 실행되는 동안 일정 시간 동안 참조하는 페이지들의 집합을 의미합니다. 이는 프로세스가 원활히 실행되기 위해 필요한 최소한의 페이지 집합입니다.
    2. 특징:
      • 특징 설명: 워킹 셋은 프로세스의 실행에 필요한 페이지를 예측하여 적절한 메모리 양을 할당하는 데 사용됩니다.
      • 장점: 워킹 셋을 사용하면 스래싱을 방지하고, 프로세스의 효율적인 메모리 활용이 가능합니다.
      • 단점: 워킹 셋의 크기를 정확히 예측하는 것이 어렵고, 메모리 할당량을 동적으로 조정해야 하는 오버헤드가 발생할 수 있습니다.
    3. 예시: 특정 프로세스가 일정 시간 동안 페이지 1, 2, 3을 반복적으로 참조한다면, 이 3개의 페이지가 워킹 셋이 됩니다.
  4. 스래싱 (Thrashing)
    1. 정의: 스래싱은 프로세스들이 메모리를 너무 많이 요구하여 페이지 부재가 빈번하게 발생하고, 이로 인해 CPU가 대부분의 시간을 페이지 교체 작업에 소비하게 되는 현상입니다.
    2. 특징:
      • 특징 설명: 스래싱이 발생하면 실제 작업은 거의 수행되지 않고 페이지 교체만 반복적으로 이루어지므로 시스템 성능이 급격히 저하됩니다.
      • 장점: 스래싱의 원인을 파악하고 이를 방지하기 위한 메모리 관리 전략을 수립할 수 있습니다.
      • 단점: 시스템 성능 저하가 심각하며, 적절한 대응이 이루어지지 않으면 전체 시스템이 불안정해질 수 있습니다.
    3. 예시: 여러 프로세스가 동시에 메모리를 과도하게 요구하여 페이지 부재가 빈번히 발생하고, CPU가 페이지 교체에만 집중하는 상황을 스래싱이라 합니다.

기출 따라잡기

문제 1

Denning이 제안한 프로그램의 움직임에 관한 모델로, 프로세스를 효과적으로 실행하기 위해서 주기억장치에 유지되어야 하는 페이지들의 집합을 의미하는 용어를 쓰시오.

  • 답: 워킹 셋 (Working Set)
  • 해설: 워킹 셋은 프로세스가 효과적으로 실행되기 위해 주기억장치에 유지되어야 하는 페이지들의 집합을 의미합니다. Denning은 이 개념을 제안하여 스래싱을 방지하고 메모리 사용의 효율성을 높였습니다.

문제 2

하나의 프로세스가 작업을 수행하는 과정에서 지나치게 많은 페이지 부재 (Page Fault) 발생으로 인해 프로세스 수행에 소요되는 시간보다 페이지 이동에 소요되는 시간이 더 커지는 현상을 쓰시오.

  • 답: 스래싱 (Thrashing)
  • 해설: 스래싱은 페이지 부재가 빈번하게 발생하여 프로세스의 실제 작업보다 페이지 교체에 더 많은 시간이 소요되는 현상을 말합니다. 이는 시스템 성능 저하의 주요 원인 중 하나입니다.

문제 3

실행중인 프로세스는 메모리의 일정 부분을 집중적으로 참조한다는 성질을 의미하는 용어를 쓰시오.

  • 답: 구역성 (Locality)
  • 해설: 구역성은 실행 중인 프로세스가 메모리의 특정 구역을 집중적으로 참조하는 성질로, 시간 구역성과 공간 구역성으로 나뉩니다. 이 성질을 활용하면 캐시 메모리의 효율성을 극대화할 수 있습니다.