SECTION 134: 기억 장치 관리

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

기억장치 관리

    1. 기억장치의 관리 전략
      • 기억장치 관리 전략은 운영체제가 메모리 자원을 효율적으로 관리하고, 각 프로세스가 필요한 메모리를 적절하게 할당받을 수 있도록 하는 기법을 의미합니다. 이를 통해 시스템의 성능을 최적화하고 자원 활용도를 높일 수 있습니다.
    2. 반입(fetch) 전략 : 반입 전략은 보조 기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략입니다.
      1. 기법
        • 즉시 반입(Demand Fetch): 프로세스가 특정 페이지나 세그먼트를 필요로 할 때, 해당 메모리를 주기억장치에 반입하는 방식입니다. 메모리 사용량을 줄일 수 있지만, 페이지 결함(page fault)이 자주 발생할 수 있습니다.
          • 사용 의미: 즉시 반입은 메모리 사용의 효율성을 높이기 위해 필요한 순간에만 메모리를 할당하는 방식으로, 메모리의 낭비를 줄이는 데 유리합니다.
        • 예측 반입(Prefetching): 앞으로 필요할 것으로 예상되는 페이지나 세그먼트를 미리 메모리에 반입하는 방식으로, 페이지 결함을 줄여 시스템 성능을 향상시킬 수 있습니다.
          • 사용 의미: 예측 반입은 시스템의 성능을 개선하기 위해 사용되며, 페이지 결함을 줄여 작업의 연속성을 보장합니다.
        • 예상 반입(Anticipatory Fetch): 시스템이 앞으로 실행될 프로그램이나 프로세스를 분석하여 필요한 페이지나 세그먼트를 미리 메모리에 반입하는 방식입니다. 실행 패턴을 예측하여 페이지 결함을 줄이는 데 도움을 줍니다.
          • 사용 의미: 예상 반입은 사용자가 필요로 할 리소스를 미리 확보하여 대기 시간을 줄이고 시스템 응답성을 높이는 데 기여합니다.
    3. 배치(placement) 전략 : 배치 전략은 프로세스를 주기억장치의 어느 위치에 배치할지를 결정하는 전략입니다.
      1. 기법
        • 최초 적합(First Fit): 메모리의 빈 공간 중에서 첫 번째로 맞는 크기의 빈 공간에 프로세스를 배치하는 방식입니다. 간단하고 빠르지만, 메모리의 단편화(fragmentation)가 발생할 수 있습니다.
          • 사용 의미: 빠른 속도로 메모리를 할당할 수 있으므로 응답 시간이 중요한 시스템에서 유리합니다.
        • 최적 적합(Best Fit): 프로세스가 들어갈 수 있는 가장 작은 크기의 빈 공간에 배치하는 방식으로, 메모리 낭비를 줄일 수 있으나 탐색 시간이 길어질 수 있습니다.
          • 사용 의미: 메모리 공간의 효율적인 활용을 목표로 하여 메모리 낭비를 최소화하는 데 유리합니다.
        • 최악 적합(Worst Fit): 프로세스를 가장 큰 빈 공간에 배치하여, 남는 메모리 공간을 최대화하려는 전략입니다. 단편화를 방지할 수 있으나, 효율적이지 않을 수 있습니다.
          • 사용 의미: 큰 메모리 공간을 남겨놓아 미래의 큰 프로세스가 적재될 수 있는 가능성을 보장합니다.
    4. 교체(Replacement) 전략: 교체 전략은 운영체제가 페이지 부재(Page Fault) 상황에서 메모리 내의 페이지를 교체해야 할 때 사용하는 알고리즘입니다. 효율적인 메모리 사용을 위해 어떤 페이지를 내보낼지 결정하는 데 사용됩니다.종류:
      1. FIFO (First In First Out): 가장 먼저 들어온 페이지를 가장 먼저 교체하는 방식입니다. 구현이 간단하지만, 오래된 페이지가 꼭 쓸모없는 것은 아니기 때문에 비효율적일 수 있습니다.
        • 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 1이 가장 먼저 들어왔기 때문에 4가 들어올 때 1이 교체됩니다.
      2. OPT (Optimal): 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하는 방식입니다. 최적의 성능을 보이지만, 미래의 참조를 예측해야 하므로 실제 시스템에 적용하기는 어렵습니다.
        • 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4, 1, 2, 5일 때, 4가 들어올 때 앞으로 가장 늦게 사용될 3이 교체됩니다.
      3. LRU (Least Recently Used): 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식입니다. 최근에 사용된 페이지가 앞으로도 사용될 가능성이 높다는 가정을 합니다.
        • 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 4가 들어올 때 가장 오랫동안 사용되지 않은 1이 교체됩니다.
      4. LFU (Least Frequently Used): 가장 적게 사용된 페이지를 교체하는 방식입니다. 사용 빈도가 낮은 페이지를 제거하여 자주 사용되는 페이지의 유지에 집중합니다.
        • 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 1, 3, 4일 때, 4가 들어올 때 사용 빈도가 가장 낮은 2가 교체됩니다.
      5. NUR (Not Used Recently): 최근에 사용되지 않은 페이지를 교체하는 방식입니다. LRU와 비슷하지만 구현이 간단하며, 사용 여부를 기준으로 페이지를 선택합니다.
        • 예시: 페이지 프레임이 3개이고 참조 비트가 설정된 페이지가 1, 2, 3일 때, 4가 들어올 경우 최근 참조되지 않은 페이지를 교체합니다.
      6. SCR (Second Chance Replacement): FIFO에 페이지에 대해 두 번째 기회를 주는 방식입니다. 페이지가 교체 대상이 될 때 참조 비트가 설정되어 있으면 이를 초기화하고 다음 페이지로 넘어갑니다. 참조 비트가 설정되지 않은 페이지는 교체됩니다.
        • 예시: 페이지 프레임이 3개이고 페이지 참조가 1, 2, 3, 4일 때, 1의 참조 비트가 설정되어 있으면 초기화하고 2로 넘어가며, 참조 비트가 없는 페이지는 교체됩니다.

 

기출문제

문제 1: 메모리 관리 기법 중 Worst Fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되어야 하는지 영역 번호를 쓰시오.

영역 번호 메모리 크기 사용 여부
N01 8K FREE
N02 12K FREE
N03 10K IN USE
N04 20K IN USE
N05 16K FREE
  • 답: N05
  • 설명: Worst Fit 방법은 가장 큰 빈 공간에 할당하는 방식입니다. 주어진 메모리 공간 중에서 N05가 16K로 가장 큰 빈 공간이므로 10K 프로그램을 할당하는 데 적합합니다.

문제 2: 빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB 일 때 기억장치 배치 전략으로 "Best Fit"을 사용하여 17KB의 프로그램을 적재할 경우 내부 단편화의 크기는 얼마인지 쓰시오.

  • 답: 3KB
  • 설명: Best Fit은 가장 작은 빈 공간에 할당하여 메모리 낭비를 최소화하는 방식입니다. 17KB 프로그램을 적재하기 위해 20KB 공간이 선택되며, 이로 인해 3KB의 내부 단편화가 발생합니다.

문제 3: 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이 들어올 때 주기억장치에 배치하려면, 이미 사용되고 있는 영역 중에서 어느 영역을 삭제할 것인지를 결정하는 기억장치 관리 전략을 쓰시오.

  • 답: 교체(replacement) 전략
  • 설명: 교체 전략은 주기억장치가 가득 찬 경우, 새로운 프로그램을 배치하기 위해 기존의 페이지나 세그먼트를 교체하는 방식을 결정하는 전략입니다.