코딩공부/운영체제

Chapter14. 가상 메모리

표자 2024. 10. 25. 10:29
728x90
반응형

Chapter14. 가상 메모리

학습목표

  • 스와핑이 무엇인지 이해합니다
  • 연속 메모리 할당 기법과 외부 단편화 문제를 이해합니다
  • 가상 메모리 관리 기법인 페이징의 개념과 작동을 이해합니다
  • 요구 페이징의 개념과 페이지 교체 알고리즘을 이해합니다
  • 스래싱과 그를 해결하기 위한 프레임 할당을 이해합니다

스와핑

  • 현재 실행되지 않은 프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식
  • 스왑 영역: 프로세스들이 쫓겨나는 보조기억장치의 일부영역
  • 스왑 아웃: 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것
  • 스왑 인: 반대로 스왑 영역에서 메모리로 오는 것

메모리 할당

  • 최초 적합: 프로세스가 적재될 수 있는 공간을 발견하는 즉시 메모리를 할당하는 방식
  • 최적 적합: 프로세스가 적재될 수 있는 공간 중 가장 작은 공간에 배치하는 방식
  • 최악 적합: 프로세스가 적재될 수 있는 공간 중 가장 큰 공간에 배치하는 방식

외부 단편화

  • 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상

페이징

  • 메모리의 물리 주소 공간을 프레임 단위로 자르고, 프로세스의 논리 주소 공간을 페이지 단위로 자른 뒤 페이지를 프레임에 할당하는 가상 메모리 관리 기법
  • 페이징 시스템에서의 스왑 아웃은 페이지아웃, 스왑 인은 페이지 인이라고 부름
  • 페이지 테이블: 페이지의 번호를 이용해 페이지가 적재된 프레임을 찾을 수 있음

요구 페이징

  • 프로세스를 메모리에 적재할 때 처음부터 모든 페이지를 적재하지 않고 필요한 페이지만을 메모리에 적재하는 기법

순수 페이징 기법

  • 프로그램이 실행되기 전에 모든 페이지를 메모리에 미리 로드하지 않고, 필요한 페이지만 요청 시 메모리에 로드합니다. 쉽게 말해, 필요한 순간에만 필요한 데이터를 가져오는 방식

페이지 교체 알고리즘

  • 새로운 페이지를 메모리에 로드할 때 어떤 페이지를 제거할지 결정하는 방법
  1. FIFO (First-In, First-Out)
    • 설명: 가장 먼저 들어온 페이지를 가장 먼저 제거하는 방식입니다.
    • 장점: 단순하고 구현이 쉬움.
    • 단점: 오래된 페이지가 반드시 덜 사용된 것은 아니므로 비효율적일 수 있음.
  2. LRU (Least Recently Used)
    • 설명: 가장 오랫동안 사용되지 않은 페이지를 제거하는 방식입니다.
    • 장점: 자주 사용되는 페이지를 유지하여 성능 향상.
    • 단점: 구현이 복잡할 수 있음.
  3. LFU (Least Frequently Used)
    • 설명: 사용 빈도가 가장 적은 페이지를 제거하는 방식입니다.
    • 장점: 자주 사용되지 않는 페이지를 제거하여 효율적.
    • 단점: 사용 빈도 계산이 복잡할 수 있음.
  4. OPT (Optimal)
    • 설명: 미래에 가장 늦게 사용할 페이지를 제거하는 이상적인 방식입니다.
    • 장점: 가장 효율적인 방법.
    • 단점: 미래 예측이 불가능하므로 실제 구현이 어려움.

스래싱

  • 프로세스가 실제 실행되는 시간보다 페이징에 더 많은 시간을 소요하여 성능이 저하되는 문제

스레싱을 해결하기 위한 프레임 할당 방식

  1. 고정 할당 방식:
    • 설명: 각 프로세스에 고정된 수의 프레임을 할당하는 방식입니다.
    • 장점: 예측 가능한 메모리 사용, 간단한 구현.
    • 단점: 비효율적인 메모리 사용 가능성.
  2. 가변 할당 방식:
    • 설명: 프로세스의 필요에 따라 동적으로 프레임을 할당하는 방식입니다.
    • 장점: 메모리 활용도 극대화, 유연성 증가.
    • 단점: 복잡한 관리, 예측 어려움.
  3. 워킹 셋(Working Set) 모델:
    • 설명: 프로세스가 일정 기간 동안 자주 참조하는 페이지 집합을 기준으로 프레임을 할당하는 방식입니다.
    • 장점: 효율적인 메모리 사용, 스레싱 방지.
    • 단점: 매개변수 설정 복잡.
  4. 페이지 폴트 빈도(Page Fault Frequency) 모델:
    • 설명: 페이지 폴트 발생 빈도를 기준으로 프로세스의 프레임 수를 조절하는 방식입니다.
    • 장점: 스레싱 방지, 동적 조절.
    • 단점: 정확한 페이지 폴트 빈도 측정 필요.
728x90
반응형