2016년 7월 1일 금요일

시스템 보안 - 주기억장치 관리

ㅇ ㅂㅇ

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)
   > 스레싱
    -- 너무 페이지의 교체가 자주 일어나는 현상
    -- 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 처리시간보다 페이지 교체시간이 더 많아지는 현상

   > 워킹 셋
    -- 실행 중인 프로세스가 일정시간 동안 참조하는 페이지들의 집합
    -- 한 프로그램이 효율적으로 수행되려면 그 프로그램의 워킹 셋이 주기억장치 내에 유지되어야 함

댓글 없음:

댓글 쓰기