키보드워리어

【컴퓨터과학개론】가상 기억장치의 페이징 기법과 세그먼테이션 기법 본문

Universirty/1-2

【컴퓨터과학개론】가상 기억장치의 페이징 기법과 세그먼테이션 기법

꽉 쥔 주먹속에 안경닦이 2022. 9. 19. 13:11
728x90

안녕하세요 【키보드 워리어】

 

⌨🗡🧑


블로그 방문자 여러분, 안경닦이입니다.

 

 


 

가상 기억장치

 

 

가상 기억장치란 주기억장치에서 이용 가능한 영역보다 큰 프로그램을 작은 단위로 쪼개어 실행시키기 위해 보조기억장치의 주소를 주기억장치의 주소로 변환하여 프로그램에 제공되는 가상의 기억장치를 말하며, 보조 기억장치의 주소를 주기억장치의 주소로 변환하는 기법을 가상 기억장치 관리 기법이라고 합니다

 

 

가상 기억장치에서 가장 중요한 부분은 실행 중인 프로그램(프로세스)에 의해 참조되는 주소(가상 주소)를 변환하여 주기억장치에서 사용하는 주소 (실 주소, 물리적 주소)로 연결시켜 주는 것입니다

프로그램은 실제로 실 기억장치에서 실행되어야 하므로 운영체제가 가상 주소를 실 주소로 바꾸는 주소 변환 절차가 필요합니다

 

※참고

가상 기억장치 시스템에서는 실행 프로그램이 참조할 주소가 반드시 주기억장치의 주소일 필요는 없습니다

 

 

또한, 실제 가상주소의 범위는 주기억장치에서 사용할 수 있는 실 주소보다 더 크며 사용자의 논리적으로 통합된 주소 공간과 컴퓨터의 물리적 공간(주기억장치의 주소와 보조기억장치의 주소)을 연결시켜 주는 개념입니다

 

페이징 기법 | 세그먼테이션 기법

 

 

가상기억장치를 구현하는 가장 일반적인 방법으로는 페이징(paging) 기법과 세그먼테이션(segmentation) 기법이 있습니다

 

 

페이징 기법  보조 기억장치로부터 프로그램 코드나 데이터를 페이지라고 불리는 동일한 크기의 블록으로 쪼개어서 주기억장치에 적재하여 접근하는 기법입니다

 

 

이때 주기억장치도 페이지 크기와 같은 크기로 분할되며 이를 주기억장치의 페이지 프레임(page frame)이라고 부릅니다

 

 

CPU에서 프로세스를 실행하기 위해서는 프로세스의 실행될 페이지가 주기억장치에 적재되어 있어야 하는데요 페이지는 보조기억장치로부터 주기억장치로 옮겨져서 페이지 프레임에 적재되며, 이때 페이지는 사용 가능한 페이지 프레임을 할당받아 주기억장치에 적재됩니다

 

 

또한 페이지 프레임은 고정된 페이지 크기의 정수배에 해당하는 주기억장치 주소에서 시작합니다

즉 페이지 사상 주소는  [페이지 번호] [변위]를 더하여 가상의 페이지 주소를 만들어내는 겁니다

 

 

세그먼테이션 기법은 프로그램 코드나 데이터를 일정하지 않은 서로 다른 크기로 분할하여 주기억장치에 적재하여 접근한다. 프로그램 코드나 데이터를 서로 다른 크기로 분할한 블록을 세그먼트(segment)라고 부릅니다

 

 

개발자들은 프로그램을 모듈 단위로 작성하는 습관에 기반을 두고 있기 때문에 사용자가 직접 작성한 프로그램 모듈이나 데이터의 모듈은 논리적 개념에 의해서 다른 크기의 블록으로 나뉠 수 있으며, 이 블록을 세그먼테이션이라고 합니다

 

 

그리고 보조기억장치에서 세그먼트 전체가 하나의 논리적 단위로 주기억장치의 연속된 장소에 적재됩니다 하지만 서로 다른 모듈이 인접하여 배치될 필요가 없는 기법으로, 세그먼트 사상 표의 시작 주소와 세그먼트 번호를 더하면 세그먼트 사상 표에서의 주소값을 찾아내고, 세그먼트 사상표에서의 주소 값과 가상 주소의 변위를 더하면 실제 주소를 찾아낼 수 있습니다

 

 

페이지나 세그먼트를 보조기억 장치로부터 주기억장치에 적재하는 방법은 페이지 반입 기법, 배치 기법, 교체 기법을 사용하기 때문에 페이징 기법과 세그먼테이션 기법은 서로 동일한 크기인지 다른 크기로 분할하는지의 여부를 통해 비교할 수 있겠다고 할 수 있겠습니다

728x90