본문 바로가기
정보처리기사/프로그래밍 언어 활용

기억 장치 관리

by jhwannabe 2023. 8. 5.

기억 장치 관리 전략

반입 전략

  • 보조 기억 장치에 보관 중인 프로그램이나 데이터를 주기억 장치로 언제 가져올 것인지 결정하는 전략으로 요구 반입, 예상 반입이 있음

배치 전략

  • 보조 기억 장치에 보관 중인 프로그램이나 데이터를 주기억 장치 내의 어디로 가져올 것인지 결정하는 전략
최초 적합
(First-Fit)
적재 가능한 공간 중에서 첫 번째 분할 영역에 배치
최적 적합
(Best-Fit)
적재 가능한 공간 중에서 가장 작은 공백이 남는 부분에 배치
최악 적합
(Worst-Fit)
적재 가능한 공간 중에서 가장 큰 공백이 남는 부분에 배치

기억 장치 교체 전략

  • 주기억 장치의 모든 페이지 프레임이 사용 중일 때 어떤 페이지 프레임을 교체할 것인지 결정하는 전략
OPT
(OPTimal Replacement)
- 이후에 가장 오랫동안 사용되지 않을 페이지를 먼저 교체하는 기법
- 실현 가능성이 희박함
FIFO
(First In First Out)
- 가장 먼저 적재된 페이지를 먼저 교체하는 기법
- 구현이 간단함
LRU
(Least Recently Used)
각 페이지마다 계수기나 스택을 두어 현시점에서 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
LFU
(Least Frequently Used)
참조된 횟수가 가장 적은 페이지를 먼저 교체하는 기법
NUR
(Not Used Recently)
각 페이지당 두 개의 하드웨어 비트를 두어서 가장 최근에 사용하지 않은 페이지를 교체하는 방법
SCR
(Second Chance Replacement)
FIFO의 단점을 보완하는 기법으로, 가장 오랫동안 주기억 장치에 상주했던 페이지 중에서 자주 참조되는 페이지의 교체를 예방함

 

가상 기억 장치 구현 기법

가상 기억 장치(Virtual Memory)

  • 주기억 장치의 부족한 용량을 해결하기 위해 보조 기억 장치를 주기억 장치처럼 사용하는 기법
  • 가상 기억 장치의 일반적인 구현 방법에는 프로그램을 고정된 크기의 일정한 블록으로 나누는 페이징 기법과 가변적인 크기의 블록으로 나누는 세그멘테이션 기법이 있음

페이징(Paging) 기법

  • 페이지(Page) : 가상 기억 장치에 보관된 프로그램과 주기억 장치의 영역을 동일한 크기로 나눈 것
  • 나눠진 프로그램을 동일하게 나눠진 주기억 장치의 영역에 적재시켜 실행하는 기법
  • 가상 기억 장치에서 주기억 장치로 주소를 조정(매핑)하기 위해 페이지의 위치 정보를 가진 페이지 맵 테이블이 필요함
  • 페이지의 크기가 클수록 페이지 맵 테이블의 크기가 작아지고, 단편화가 증가하고, 디스크 접근 횟수가 감소하며, 전체 입출력 시간이 감소함
  • 페이지의 크기가 작을수록 페이지 맵 테이블의 크기가 커지고, 단편화가 감소하고, 디스크 접근 횟수가 증가하며, 전체 입출력 시간이 증가함

세그멘테이션(Segmentation) 기법

  • 가상 기억 장치에 보관된 프로그램을 다양한 크기로 나눈 후, 나눠진 프로그램을 주기억 장치에 적재시켜 실행하는 기법
  • 세그멘트(Segment) : 큰 프로그램을 보다 작은 프로그램으로 분할해서 하나의 논리적 단위로 묶어서 주기억 장치에 읽어 들일 수 있는 최소 단위

구역성(Locality)

  • 프로세스가 실행되는 동안 일부 페이지만 집중적으로 참조되는 경향을 의미함
  • 시간 구역성(Temporal Locality) : 순환(Looping), 스택(Stack), 부프로그램(Subprogram), 집계(Totaling) 등에 사용되는 변수가 있음
  • 공간 구역성(Spatial Locality) : 프로세스가 어떤 페이지를 참조했다면 이후 가상 주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미함. 배열 순례(Array Traversal), 프로그램의 순차적 수행 등이 있음

워킹 셋(Working Set)

  • 운영체제의 가상 기억 장치 관리에서 프로세스가 일정시간 동안 자주 참조하는 페이지들의 집합

스레싱(Thrashing)

  • 하나의 프로세스가 작업 수행 과정에 수행하는 기억 장치 접근에서 지나치게 페이지 부재가 발생하여 프로세스 수행에 소요되는 시간보다 페이지 이동에  소용되는 시간이 더 커지는 현상

페이지 부재(Page Fault)

  • 참조할 페이지가 주기억 장치에 없는 현상
728x90
반응형

'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글

정보 관리  (1) 2023.08.05
디스크 스케줄링  (0) 2023.08.05
프로세스 스케줄링  (0) 2023.08.05
프로세스 관리  (0) 2023.08.04
운영체제의 개요  (1) 2023.08.04