기억장치 관리

몽이·2022년 7월 1일
0

운영체제

목록 보기
7/9

기억장치 관리

1) 기억장치의 계층 구조

  • 기억장치는 레지스터(상위), 캐시, 주, 보조(하위) 기억장치 등으로 구분할 수 있다.
  • 상위 기억장치일수록 접근속도와 처리 시간이 빠르지만 용량이 적고 비싸다.
  • 하위 기억장치일수록 접근속도와 처리 시간이 느리지만 용량이 크고 저렴하다.
  • 주기억장치는 위치 값을 가지는 데이터들로 구성되어 있으며 주소를 통해 접근한다.
  • 보조기억장치에 저장된 데이터는 CPU가 직접 접근할 수 없기 때문에 주기억장치에 적재하여 활용한다.
  • 한정된 주기억장치의 공간을 효율적으로 사용하기 위해 전략이 필요하다.

2) 주기억장치 관리 전략

(1) 반입(Fetch) 전략

  • 보조기억장치의 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략이다.
  • 요구(Demand) 반입 전략과 예상(Anticipatory) 반입 전략이 있다.
    • 요구 반입 : 실행 중인 프로그램이 특정 데이터 참조를 요구할 때 적재하는 방법
    • 예상 반입 : 실행 중인 프로그램에 의해 참조될 데이터를 예상하여 적재하는 방법

(2) 배치(Placement) 전략

  • 새로 반입되는 데이터를 주기억장치의 어떤 공간에 위치시킬 것인지를 결정하는 전략이다.

  • 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fit)이 있다.

    • 최초 적합 : 데이터 배치가 가능한 공간 중 첫 번째 공간에 배치
    • 최적 적합 : 데이터 배치가 가능한 공간 중 여유 공간(단편화)을 가장 적게 남기는 공간에 배치
    • 최악 적합 : 데이터 배치가 가능한 공간 중 여유 공간(단편화)을 가장 크게 남기는 공간에 배치
  • 배치 전략에 대한 예시 : 10K의 데이터(프로그램)를 배치하는 경우

    메모리 공간 크기사용 상태배치 전략
    12K빈 공간First Fit(2K 단편화 발생)
    10K사용 중-
    10K빈 공간Best Fit
    15K빈 공간Worst Fit(5K 단편화 발생)

(3) 교체(Replacement) 전략

  • 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 데이터를 배치하려고 할 때, 이미 사용 중인 데이터 중 어느 영역을 교체하여 사용할 것인지를 결정하는 전략이다.
  • FIFO, OPT, LRU, LFU, NUR, SCR 등이 있다.
profile
풀스택 개발자가 되는 날까지 달리자!

0개의 댓글