컴퓨터의 가상기억장치의 개념은 Atlas 컴퓨터시스템에서 처음 나타났다. 이러한 가상기억장치를 구현하는 가장 일반적인 두 가지 방법은 페이지 기법과 세그먼트기법이다
◎ 페이지 기법(PAGING) : 블럭의 크기가 동일한 고정된 크기로 가상 기억장소를 구성하는 방법
◎ 세그먼트기법(SEGMENTATION) : 블럭의 크기가 다른 가변적인 크기로 가상기억장소를 구성하는 방법
2. 가상기억장치의 개념
- 실행 프로세스가 참조하는 주소를 가상주소(virtual address)
- 주기억장소에서 사용할 수 있는 주소를 실주소(real address)라 한다.
◉ 프로세스는 오직 가상주소만을 참조하지만, 그들은 실제로 실기억장치에서 실행되어야 하므로, 프로세스가 실행되면 가상주소는 실주소에 사상되어야 한다.
◉ 프로세스가 실행되는 동안 가상주소를 실주소로 바꾸는 절차를 동적주소 변환(DAT:Dynamic Address Translation)이라고 하고 프로세스의 가상주소공간에서 연속인 주소가 실주소에서 연속일 필요가 없다는 인위적 연속성을 가지고 있으며, 사용자는 프로시쥬어와 데이타가 실기억장치의 어디에 위치할 것에 대해 염려할 필요가 없다.
3. 블록사상
◎ 동적주소변환은 가상기억장소 위치가 현재 실기억장치의 어디에 위치 하는지를 나타내 주는 주소변환사상을 유지해야한다.
◎ 정보를 블럭으로 분류하며 시스템은 여러 가상기억장소 블럭이 실기억 장치의 어느 곳에 위치하는지만을 관리하기 위해서는 블럭사상이 필요하게 된다.
◎ 블럭사상 시스템의 주소는 이차원적으로 특정항목을 참조하기 위해 프로그램은 그 항목이 들어 있는 블럭과 그 블럭의 시작 부분으로부터 항목까지의 변위(displacement)를 지정한다.
- 각각의 프로세스는 실기억장치내의 시스템에 의해 유지되는 블럭사상 테이블을 가지고 있다.
....