자격증/정보처리기사

154~155. 가상기억장치 구현 기법 / 페이지 교체 알고리즘 / 기타 관리 사항(A)

환성 2023. 2. 5. 23:59
728x90

가상기억장치

  • 보조기억장치의 일부를 주기억장치처럼 사용하는 것
  • 프로그램을 여러 개의 작은 블록 단위로 나누어 가상기억장치에 보관, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당
  • 주소 변환 작업이 필요함
  • 페이징 기법, 세그멘테이션 기법

 

페이징 기법

  • 가상기억장치에 보관된 프로그램, 주기억장치의 영역을 동일한 크기로 나눈 후 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
  • 프로그램을 일정한 크기로 나눈 단위 = 페이지,  페이지 크기로 일정하게 나누어진 주기억장치 단위 = 페이지 프레임
  • 내부단편화 발생
  • 페이지 맵 테이블 필요
  • 비용 증가, 처리 속도 감소

 

 

세그멘테이션 기법

  • 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법
  • 논리적인 크기로 나눈 단위 = 세그먼트
  • 기억장치의 사용자 관점을 보존하는 기억장치 관리 기법
  • 세그먼트 맵 테이블 필요
  • 외부단편화 발생

 

페이지 교체 알고리즘

  • 페이지 부재 발생 시 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 기법
  • OPT, FIFO, LRU, LFU, NUR, SCR
  • OPT(최적 교체) : 가장 오랫동안 사용하지 않을 페이지 교체 기법, 페이지 부재 횟수 가장 적게 발생
  • FIFO(First In FIrst Out) : 가장 먼저 들어와서 가장 오래 있었던 페이지 교체
  • LRU(Least Recently Used) : 최근에 가장 오랫동안 사용하지 않은 페이지 교체기법 
  • LFU(Least Frequently Used) : 사용 빈도가 가장 적은 페이지 교체 기법
  • NUR(Not Used Recently) : 최근에 사용하지 않은 페이지 교체 기법
    • 참조 비트, 변형 비트 사용, 
    • 참조 0 변형 0 교체 순서 1, 참조 0 변형 1 교체 순서 2, 참조 1 변형 0 교체 순서 3, 참조 1 변형 1 교체 순서 4

 

페이지 크기

  • 페이지 크기 작을 경우
    • 페이지 단편화 감소, 효율적인 워킹 셋 유지, 기억장치 효율 높아짐, 전체적인 입출력 시간이 늘어남
  • 페이지 크기 클 경우
    • 페이지 단편화 증가, 불필요한 내용까지 주기억장치에 적재, 전체적인 입출력 시간 작아짐 

 

Locality

  • 프로세스가 실행하는 동안 주기억장치를 참조할 떄 일부 페이지만 집중적으로 참조하는 성질
  • 스레싱 방지
  • 시간 구역성, 공간 구역성
  • 시간 구역성(Temporal Locality)
    • 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스
    • 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음
    • 루프, 스택, 부 프로그램, 카운팅, 집계
  • 공간 구역성(Spatial Locality) 
    • 프로세스 실행 시 일정 위치의 페이지 집중적으로 액세스
    • 배열 순회, 순차적 코드 실행, 같은 영역에 있는 변수

 

워킹 셋(Working Set)

  • 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
  • Locality 특징 이용
  • 시간에 따라 변경됨

 

페이지 부재 빈도 방식

  • 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상, 페이지 부재 빈도(PFF)는 페이지 부재 횟수
  • 프리페이징 : 처음의 과도한 페이지 부재 방지를 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법

 

스래싱(Thrashing)

  • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
  • 전체 시스템 저하
  • 다중 프로그래밍 정도가 높아짐에 따라 CPU의 이용률이 특정 시점까지 높아지지만, 더 커지면 스래싱 발생, CPU의 이용률은 급격히 감소
  • 방지 방법 : 페이지 부재 빈도 조절, 워킹 셋 유지, 일부 프로세스 중단