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