Memory allocation & management

happiyoung_·2026년 1월 30일

운영체제

목록 보기
7/11

1. 기억장치 (memory)

  • 주기억장치 : cpu가 명령이나 자료를 직접 인출 혹은 반환할 수 있는 기억장치
    • CPU가 보조기억장치에 있는 프로그램이나 데이터를 참조하기 위해서는 먼저 주기억장치로 옮겨와야한다.
  • 가상기억장치 : 주기억장치의 확장된 공간 (디스크)
    • 사용자가 주기억장치의 용량에 제한받지않고 보조기억장치의 용량에 해당하는 커다란 기억장소를 갖고 있는 것처럼
  • 단일 사용자 시스템 : 한사람이 모든 주기억장치를 점유하여 사용하는 방법
  • 다중프로그래밍 시스템 : 다수의 프로그램 또는 프로세스라 불리는 단위들을 주기억장치 내에 유지하여, CPU를 공유해가며 처리

2. 다중사용자 기억장치 할당기법

고정(정적) 분할 기억장치

주기억장치 사용자 영역을 여러개의 고정된(일정한) 크기로 분할하여 관리하는 기법

  • 내부/외부 단편화 발생 가능

1) 내부 단편화

하나의 분할 영역에 작업을 할당하고 남은 빈 공간 (사용하고 남은 공간)

2) 외부 단편화

기억장치가 너무 많은 수의 매우작은 공간들로 단편화, 공간 중 일부를 사용할 수 없는 빈 공간 (사용할 수 없는 공간)

가변 (동적) 분할 기억장치

주기억장치 사용자영역을 각 작업에게 가장 합리적인 분할의 크기를 결정하여 주기억장치를 할당하는 기법

  • 각 작업에 필요한 만큼의 기억장치를 할당, 내부단편화 발생 X 외부단편화 발생 O

1) 단편화 해결방법

  • 기억장치 통합 : 이웃되는 가용공간을 하나의 커다란 가용공간으로
  • 기억장치 집약 : 기억장치의 모든 내용들을 한군데로 몰고, 자유공간을 몰아서 큰블럭으로
  • 쓰레기 수집 : 여러개의 작은 단편화 공간 (가용공간)을 모아서 하나의 큰 가용공간을 만드는 것

3. 기억장치 관리 정책

(1) 반입 FETCH 정책

CPU에 의해 실행되거나 참조되기 위해서 주기억장치로 적재할 다음 프로그램이나 자료를 언제 가져올 것인가 결정하는 정책

  • 요구반입 : 실행중인 프로그램에 의해 어떤 프로그램이나 자료가 참조될 때 옮김
  • 예상반입 : 앞으로 요구될 가능성이 큰 자료 또는 프로그램을 예상

(2) 배치 (Placement) 정책

주기억장치에 적재되어야할 페이지나 세그먼트를 주기억장치 어느 곳에 적재할 것인가

  • 페이징 시스템 : 주기억장치에 적재될 페이지가 주기억장치의 가용 페이지 프레임 어디에 적재되되어도 무관 (배치기법 불필요)
  • 세그먼트 시스템 : 최초 적합, 최적 적합, 최악 적합 같은 배치 기법 필요

1) 최초 적합 (First Fit)

  • 가용공간중 첫번째 분할 영역에 할당
  • 빈공간을 찾기위해 전체 조사하지 않아도 되어 결정이 빠르다.

2) 최적 적합 (Best Fit)

  • 가용공간 중 사용한 후 남은 공백이 가장 적은 분할 영역에 할당
  • 가용공간이 정렬되어 있다면 반만 탐색해도 필요한 공간 찾기 가능

3) 최악 적합 (Worst Fit)

  • 가용공간 중 가장 큰 분할 영역에 할당

(3) 교체 (Replacement) 정책

새로들어온 프로그램이 들어갈 장소를 마련하기 위해서 어떤 프로그램이나 자료를 주기억 장치로부터 제거할 것인가

  • 최적화 정책
  • FIFO
  • SCR (Second Chance Replacement)
  • LRU (Least Recently Used)
  • NUR (Not Used Recently)
  • LFU (Least Frequence Used)
  • Working Set
  • PFF (Page Fault Frequency)

0개의 댓글