2) 기억장치 관리
- 주기억 장치
> 반입기법(Fetch) : 언제 보조기억장치의 데이터를 주기억장치로 옮기는 지 결정하는 방법
- 요구 반입 정책(Demand Fetch Strategic) : 실행 프로그램이 특정 프로그램, 데이터 등의 참조를 요구 할 때 적재 하는 방법
- 예상 반입 정책(Anticipatory Fetch Strategic) : 실행 프로그램이 참조할 프로그램, 데이터 등을 미리 예상하여 적재하는 방법
> 배치 기법(Placement) : 보조 기억 장치의 데이터를 주기억장치 어디로 위치 할 지 결정하는 방법
- 최초 적합(First Fit)
- 최적 적합(Best Fit)
- 최악 적합(Worst Fit)
> 교체 기법(Replacement) : 공간 확보를 위해 어떤 데이터를 제거하며, 새로운 데이터를 어디에 위치 할 지 결정하는 방법
- FIFO(First In First Out)
- LRU(Least Recently Used) : 가장 오랫동안 사용하지 않은 것을 바꿈
> 한 프로세스에서 사용되는 각 페이지마다 카운터를 두어현 시점에서 가장 오랫동안 사용되지 않은 페이지를 제거 하는 방법
> 단점 : 불러왔던 시간을 기록해야 하기 때문에 시간 오버헤드가 발생하고, 실제로 구현하기가 매우 어렵다.
- LFU(Least Frequently Used) : 가장 사용 빈도가 낮은 걸 바꿈
> 구역성 문제 발생한다(Locality)
> 단점 : 바로 불러온 페이지가 교체되어 질 수 있다.
* 구역성(Loaclity)
-- 지역성은 캐시 메모리, 연관기억장치의 성립 이유가 되고, Working Set LRU 등의 페이지 교체 기법을 뒷받침 함
- 시간 지역성(Temporary Locality)
: 최근 참조된 기억장소가 가까운 미래에도 계속 참조될 가능성이 높음
- 공간 지역성(Spatial Locality)
: 하나의 기억장소가 참조되면 그 근처의 기억장소가 계속 참조될 가능성이 높음
- NUR(Not Used Recently) : 최근 전혀 사용하지 않은 것을 바꿈
> LRU 방법의 단점인 시간 오버헤드를 적게 하는 방법
> 2개의 비트를 두어 구분한다.
* 참조비트 : 0(페이지가 참조되지 않았을 때) / 1(페이지가 참조된 적이 있을 때)
* 변형비트 : 0(페이지 내용이 변형되지 않았을 때) / 1 (페이지 내용이 변형되었을 때)
- 스레싱(Thrashing)과 워킹 셋(Working Set)
> 스레싱
-- 너무 페이지의 교체가 자주 일어나는 현상
-- 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 처리시간보다 페이지 교체시간이 더 많아지는 현상
> 워킹 셋
-- 실행 중인 프로세스가 일정시간 동안 참조하는 페이지들의 집합
-- 한 프로그램이 효율적으로 수행되려면 그 프로그램의 워킹 셋이 주기억장치 내에 유지되어야 함
댓글 없음:
댓글 쓰기