반응형

메모리 관리 개념

중앙 처리 장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리하는 기법

메모리 관리 기본 사항

  • 가상 메모리 : 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여하는 방식
  • 메모리 관리 장치(MMU) : CPU가 메모리에 접근하는 것을 관리하는 하드웨어, 가상 메모리 주소를 실제 메모리 주소로 변환
  • 메모리 관리자 : 기억 장치의 어느 부분이 사용 중인지 또는 아닌지를 조사하여 필요할 때마다 할당 후 회수하는 작업 수행

메모리 관리 기법

  • 반입 기법 : 메모리 적재 시기 결정
    • 요구 반입 기법 : 다음에 실행될 프로세스가 참조 요구가 있을 경우에 적재
    • 예상 반입 기법 : 시스템의 요구를 예측하여 미리 메모리에 적재
  • 배치 기법 : 메모리 적재 위치 결정
    • 최초 적합 : 프로세스가 적제될 수 있는 가용 공간 중 첫 번째 분할에 할당
    • 최적 적합 : 가용 공간 중 가장 크기가 비슷한 공간을 선택하여 할당
    • 최악 적합 : 가용 공간 중 가증 큰 공간에 할당
  • 할당 기법 : 메모리 적재 방법 결정
    • 연속 할당 기법 : 각 프로세스를 주기억장치 공간 내에서 인접하게 연속하여 저장
      • 단일 분할 할당 기법 : 오버레이, 스와핑
      • 다중 분할 할당 기법 : 고정 분할 할당 기법, 동적 분할 할당 기법
    • 분산 할당 기법 : 하나의 프로세스를 여러 개의 조각으로 나누어 배치, 주로 가상 기억 장치에서 사용
      • 페이징 기법 : 가상 기억 장치 내의 프로세스를 일정한 크기의 페이지 프레임으로 분할하여 주기억장치의 분산된 공간에 적재
      • 세그멘테이션 기법 : 가상 기억 장치 내의 프로세스를 가변적인 크기의 블록으로 나누고 메모리 할당
      • 페이징/세그멘테이션 혼용기법 : 하나의 세그먼트를 정수 배의 부분 페이지로 다시 분할
  • 교체 기법 : 메모리 교체 대상 결정
    • FIFO(First In First Out) : 선입선출
    • LRU(Least Recently Used) : 사용된 시간 확인, 가장 오랫동안 사용되지 않은 페이지 선택(프로그램 지역성 원리 적용)
    • LFU(Least Frequently Used) : 사용된 횟수 확인, 참조 횟수가 가장 적은 페이지 선택
    • OPT(OPTimal Replacement) : 앞으로 가장 오랫동안 사용하지 않을 페이지 교체, Page Fault 횟수가 가장 적게 발생
    • NUR(Not Used Recently) : 최근에 사용하지 않은 페이지 선택, LRU의 시간 오버헤드 감소 가능, 페이지마다 참조 비트와 변형 비트 사용
    • SCR(Second Chance Replacement) : 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지 교체 방지 기법

* Page Fault : 주기억장치에 참조 스트링이 없을 때 발생

페이징 기법과 세그멘테이션 기법

페이징 기법 세그멘테이션 기법
논리 주소 페이지 번호(p)와 변위(d)로 구성 세그먼트 번호(s)와 변위(d)로 구성
물리 주소 페이지 테이블에서 실제 메모리 기준 주소(프레임)를 찾고 변위 더하기 기준과 한계로 이루어진 세그먼트 테이블에서 시작를 찾고 변위 더하기
장점 공유 페이지 이용, 다중 처리 프로그래밍 가능 가변적인 데이터 구조와 모듈 처리
단점 페이지 매핑 하드웨어 비용 소모, 내부 단편화 현상 발생 가능 외부 단편화 현상 발생 가능

페이지 크기에 따른 페이징 기법의 장단점

페이지 크기가 작은 경우 페이지 크기가 큰 경우
페이지 테이블 크기 증가 감소
주 기억 장치 공간 낭비 절약
입출력 시간 증가 감소
내부 단편화 감소 증가
기억 장치 효율 특정 참조 구역성만 포함 -> 좋음 낭비
디스크 접근 시간 증가 감소
입출력 시간 증가 감소

메모리 단편화

분할된 주기억장치 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상

  • 내부 단편화 : 분할된 공간에 프로세스를 적재한 후 남은 공간
    • 해결방안
      • Slap Allocator : 페이지 프레임을 할당받아 공간을 작은 크기로 분할하고, 메모리 요청 시 작은 크기로 메모리를 할당/해제
      • 통합 : 인접한 단편화 영역을 찾아 하나로 통합
      • 압축 : 메모리의 모든 단편화 영역을 하나로 압축
  • 외부 단편화 : 할당된 크기가 프로세스 크기보다 작아 사용하지 못하는 공간
    • 해결방안
      • 버디 메모리 할당 : 요청한 프로세스 크기에 가장 알맞은 크기를 할당하기 위해 메모리를 2n의 크기로 분할하여 메모리 할당
      • 통합
      • 압축

페이징 기법의 문제점 및 해결방안

  • 페이징 기법의 문제점
    • 스레싱 : 어떤 프로세스의 Page Fault로 인해 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상
  • 페이징 기법의 문제점 해결방안
    • 워킹 세트 : 각 프로세스가 많이 참조하는 페이지 집합을 주기억장치 공간에 계속 상주
      • 장점 : Page Hit증가, CPU 활용율 최적화
      • 단점 : 복잡한 워킹 세트 추적 관리, 워킹 세트 크기 설정 모호함
    • 페이지 부재 빈도(PFF) : 페이지 부재율의 상한과 하한을 정해서 직접 예측하고 조절
      • 장점 : 부하가 적고, 직접적으로 페이지 부재율 조절 가능
      • 단점 : 프로세스를 중지시키는 과정 발생, 페이지 참조가 새로운 지역성으로 이동 가능

지역성

  • 지역성 개념 : 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조
  • 지역성 유형
    • 시간 지역성 : 최근에 사용된 기억 장소들이 집중적으로 액세스
    • 공간 지역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스
    • 순차 지역성 : 데이터가 순차적으로 액세스

TODO

  • 오버레이란?
  • 스와핑이란?
반응형

'CS > OS' 카테고리의 다른 글

5. 교착상태(Deadlock)  (0) 2023.11.19
4. 프로세스 스케줄링  (2) 2023.11.18
3. 프로세스  (0) 2023.11.09
1. 운영체제  (0) 2023.11.07

+ Recent posts