본문 바로가기
OS

가상메모리 가상기억장치 : 주소 매핑, 페이징, 세그먼테이션

by tovantablack 2020. 8. 28.
728x90
728x90

가상기억장치: 보조기억장치인 하드디스크의 일부를 주기억장치처럼 사용하는 것

-> 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법

 

원리

프로그램을 여러 개의 작은 블록 단위로 나눠서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리하는 것

 

사용목적

주기억장치의 용량보다 큰 프로그램을 실행하기 위해

주기억장치의 이용률과 다중 프로그래밍의 효율을 높이기 위해

단편화 해결 위해

 

가상기억장치에 저장된 프로그램을 실행하려면?

가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소변환 작업을 해야 함

 

주소변환?

= 주소 사상, 주소 매핑

가상기억장치에 있는 프로그램이 주기억장치에 적재되어 실행될 때 논리적인 가상주소를 물리적인 실기억주소로 변환하는 것

연속적인 가상주소가 반드시 연속적인 실기억주소로 변환되지 않아도 됨! => 인위적 연속성 Arificial Contiguity이라고 함

 

가상기억장치의 구현방법: 블록 종류에 따라, 페이징 기법 / 세그먼테이션 기법
나는 페이징은 책의 페이지처럼 딱 동일하게 정해져 있는 것! 세그먼테이션은 모르는 단어니까 안 정해져있는 거! 라고 외움 ㅋㅋㅋ

 

 

- 주소 매핑을 위해서 세그먼트의 위치정보를 갖고 있는 세그먼트 맵 테이블 필요. segment map table

- 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 Storage Protection Key가 필요함 => 근데 이 기법을 쓰는 궁극적인 이유는 기억공간 절약이라고 함,,(??)

- 내

 

728x90
728x90

댓글