가상 기억장치의 구성
카테고리 없음
2022. 2. 1. 21:36










8.1 가상 기억장치의 개요
8.2 블록 맵핑
8.3 페이징 기법
8.4 세스먼트 기법
8.5 페이지/세그먼트 혼용 시스템
8.6 Working Set과 지역성
8.8 요구 페이징 기법과 예측 페이징 기법
8.9 페이지 크기
8.1 가상 기억장치의 개요
가상기억장치 : 주기억장치 용량보다 훨씬 더 큰 기억용량의 주소를 지정할 수 있게 하는 방법을 제공.
가상주소공간과 실제주소공간을 완전히 구분해 사용자는 실제주소공간의 용량에 제한 받지 않고 가상 주소 공간상에서 프로그래밍을 함. 이 때 가상주소공간을 구성하는 것 = 가상기억장치, 실제주소공간을 구성하는 것=실기억 장치
모든 가상기억장치 시스템은 수행중인 프로그램에서 사용된 주소가 반드시 주기억장치(실기억장치)에서 사용가능한 주소일 필요가 없다는 특징을 가진다.
가상기억장치가 구현되기 위해서는 항상 실행중인 프로세스가 요구하는 가상기억장치 위치가 현재 주기억장치의 어디에 위치하는가를 알기 위해 주소 변환과정이 필요한데 이러한 주소변환과정을 매핑이라 한다.
동적주소변환 기법 : 프로세스가 수행될 때 가상주소를 실제주소로 변환하는 방법.
인위적 연속성 : 모든 가상기억장치 시스템은 프로세스가 갖는 가상주소공간상의 연속적인 주소가 실기억장치에서도 연속적일 필요가 없다.
8.2 블록 맵핑
블록매핑기법 : 워드단위 혹은 바이트 단위로의 사상은 너무 비효율적, 정보를 블록단위로 처리하면 효과적. 블록매핑기법은 블록 단위로 가상기억장치를 실기억장치로 매핑 시키는 방법.
블록들을 모두 같은 크기로 할 것인지, 아니면 서로 다른 크기로 할 것인가에 따라 가상기억장치 운영기법이 달라짐
- 블록의 크기를 모두 같게 할 경우 : 각 블록들을 페이지라고 부르며 이렇게 운영하는 가상기억장치 기법을 페이징 기법이라 함.
- 블록의 크기를 서로 다르게 할 경우 : 각 블록들을 세그먼트라고 부르며 이렇게 가상기억장치를 운영하는 기법을 세그먼트테이션 기법이라 한다.
8.3 페이징 기법
블록의 크기를 모두 같게 하여 운영하는 가상기억장치 기법.
일정한 크기의 블록 = 페이지
주소공간을 페이지 단위로 나누고 실제기억공간은 페이지 크기와 같은 페이지 프레임으로 나누어서 사용.
만일 어느 프로세스가 현재 참조하는 페이지가 주기억장치에 있다면 그 프로세스는 수행, 그러나 참조되어야 하는 페이지가 실기억장치내에 없다면 그 해당 페이지는 보조기억장치로부터 실기억장치로 옮겨져서 페이지 프레임이라 불리는 실기억장치의 한 블록에 저장됨. 페이지 프레임은 실기억장치 주소에서 일정한 페이지 크기의 정수배가 되는 주소에서 시작하게 됨.
8.3.1 직접사상에 의한 페이지 주소 변환
- 페이지 사상 테이블에 가상기억장치를 구성하는 모든 프로세스의 페이지에 대한 항목이 있기 때문에 직접 사상이라 함. 고속 캐시기억장치를 이용해 구현해야 효용성을 지님.
8.3.2 연관사상에 의한 페이지 주소 변환
- 페이지 사상표를 주기억장치보다 빠른 연관기억장치를 사용하여 운영하는 방법.
8.3.3 연관/직접 매핑을 결함한 페이지 주소 변환
- 경제적인 방법.연관기억장치에는 페이지사상 테이블의 전체 항목 중 가장 최근에 참조된 일부 페이지 항목들만 수용, 나머지 항목들은 직접사상기법을 사용.
8.4 세그먼트 기법
세그먼트 기법 : 논리적으로 서로 관련이 있는 정보의 단위로 프로그램을 분할하여 운영하는 방법.
새로 들어오는 세그먼트는 세그먼트 크기보다 큰 주기억장치의 연속된 기억장소 어느 곳에나 들어갈 수 있음. 이 때 사용되는 배치 전략은 가변분할 다중프로그래밍에서 사용되는 최초적합, 최적적합, 최악적합 등이 있음.
세그먼트 주소를 변환하는 방법 : 직접사상, 연관사상, 직접/연관 혼용 사상 방법.
8.5 페이지/세그먼트 혼용 시스템
페이지/세그먼트 혼용기법 : 하나의 세그먼트를 정수배의 페이지로 분할하여 운영하는 방법. 이 기법에서는 세그먼트는 크기가 페이지의 정수배로 이루어지고 한 세그먼트의 모든 페이지들이 동시에 실기억장치에 존재할 필요가 없음. 따라서 가상기억장치에서 연속적인 페이지가 실기억장치에서는 연속적일 필요가 없음.
8.6 페이지 교체기법
적재되어 있는 페이지 프레임 중 실기억장치로부터 제거되어야 할 페이지를 결정하는 방법.
8.6.1 최적화 원칙과 무작위 원칙 페이지 교체 방법.
- 최적의 성과를 얻기 위해 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체.
8.6.2 FIFO 페이지 교체 방법.
- 페이지가 교체 되어야 할 때 가장 오래 주기억장치에 있었던 페이지를 교체.
8.6.3 LRU 페이지 교체 방법.
- 최근에 가장 오랫동안 사용되지 않은 페이지를 교체.
8.6.4 LFU 페이지 교체
- 호출된 횟수가 가장 적은 페이지를 교체.
8.6.5 NUR 페이지 교체
- 최근에 쓰이지 않은 페이즈들을 교체.
8.7 Working Set과 지역성
지역성 : “프로세스들은 기억장치내의 정보를 균일하게 접근하는 것이 아니라 국부적인 부분을 집중적으로 참조한다.”
Working set : 하나의 프로세스가 자주 참조하는 페이지들의 집합.
8.9 페이지 크기