운영 체제- 가상 기억장치 구성
가상 기억장치 구성
블록 매핑
동적 주소변환(Dat) 기법은 가상기억장치의 어느 부분이 현재 실 기억장치내에 존재하는가 여부와 만일 존재한다면 실 기억장치내의 어디에 위치하는가를 나타내기 위한 대응 관계표(map)를 가지고 있어야 한다.
블록들을 모두 같은 크기로 할 것인지, 아니면 서로 다른 크기로 할 것인가에 따라 가상기억장치 운영기법이 달라진다.
가상기억장치의 구현(페이징 기법)
가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지프레임)에 적재시켜 실행하는 기법.
외부 단편화는 발생하지 않으나 내부 단편화가 발생할 수 있다.
주소 변환을 위해서 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블이 필요하다.
페이지 맵 테이블 사용으로 비용이 증가되고, 처리속도가 감소된다.
페이징 기법의 주소 변환
* 각 주소와 페이지 맵 테이블 구성
- 가상 주소 형식
▶ 변위값 d = 페이지 내에서 실제 내용이 위치하고 있는 곳 까지의 거리.
- 실기억 주소 형식
▶ 변위값 d = 페이지 프레임 내에서 실제 참조하는 위치까지의 거리.
- 페이지 맵 테이블
▶상태 비트 : 사용할 페이지가 주기억장치에 존재하는지의 여부를 나타
▶ 디스크 주소 : 페이지가 주기억장치에 없을 때의 보조기억장치 주소를 나타냄
▶ 프레임 번호 : 페이지가 주기억장치에 있을 때의 페이지 프레임 번호
페이징 기법의 주소 변환
주소 변환 순서
1. 가상 주소의 페이지 번호에 해당하는 페이지 프레임 번호와 가상 주소의 변위값을 이용하여 실기억 주소를 만든다.
2. 만들어진 실기억 주소를 이용하여 주기억장치를 엑세스 한다.
블록 사상의 개념
블록 사상(Block Mapping) 이란 프로그램을 블록(묶음) 단위로 구분하고 블록단위로 주소 사상 정보를 기록하여 사용하는 기법 이다.
블록 사상(Block Mapping) 기법을 이용하는 이유 주소 사상 시 가상주소의 어느 위치가 실 주소 어디에 적재되는 지에 대한 정보가 필요하며 이러한 정보들을 유지 하기 위해 사상 테이블로 유지 관리 한다.
이때 Byte 단위나, word단위를 사용 할 경우 사상 테이블로 인한 기억용량 소모가 커지며 사상 테이블에 대한 탐색시간이 길어져 오버헤드(부담)가 커진다.
이러한 단점을 극복하기 위해서 일반적으로 사용자 프로그램을 블록 단위로 구분하고 블록 단위로 주기억장치에 적재하며 사상 테이블에서도 블록 단위로 주소 사상 정보를 저장하므로 주기억장치의 낭비와 사상 테이블 탐색시간을 줄일 수 있으므로 오버헤드
(부담) 를 줄일 수 있다.
블록 사상 기법의 예
가상주소 V = (b, d)
b=block 번호 = 프로그램을 블록 단위로 분할 때의 블록 번호
d=displacement(변위) = 해당 블록 내에서 변위(이동 범위)
존재 비트 : 주기억장치에 해당 블록이 적재 유무 표시
(1=적재, 0=적재 불)
실 주소 : 해당 블록이 주기억장치의 몇 번째 번지에 적재되어
있는지 표시 한다.(실 주소 a 번지에 적재)
세그먼테이션 시스템
세그먼트(segment) : 서로 다른 크기로 분할되는 프로그램 블록
세그먼테이션 시스템(segmentation system) : 가상기억장치 시스템 중 프로그램을 논리적인 개념을 가지고 프로그램을 서로 다른 크기의 블록들로 분할하는 시스템.
세그먼테이션 시스템의 장단점
장점
사용자 프로그램을 분할할 때 모듈(Module) 단위 또는 함수(Function) 단위의 논리적인 개념에 의해 분할하므로, 세그먼트 공유나 보호에 있어서 페이징 시스템에서 만큼 복잡한 문제들이 발생하지 않는다.
단점
서로 다른 크기의 다른 세그먼트들을 관리해야 하므로 주소사상 기법이나 주기억장치 관리 기법 등에서 오버헤드 (부담) 가 발생 한다.
세그먼테이션을 위한 하드웨어
세그먼테이션 시스템의 가상 주소 v=(s, d)
S(segment)= 참조될 항목이 있는 가상 기억장치에서의 세그먼트 번호D = 세그먼트 s내에서 참조될 항목이 위치해 있는 곳까지의 변위⇒ 실제의 주소 R=(s′+ d)′
혼합 기법
세그먼트/페이지 혼용 시스템에서의 동적주소변환
연관 사상인 경우 :
(s, p)를 찾기 위해 연관 사상 표 를 탐색하여 발견되면,
해당 페이지가 들어 있는 주 기억 장치 내의 페이지 프레임 p'와 변위 d를 더하여 실 주소 r을 구하여 주소 변환.
직접 사상인 경우 :
세그먼트 사상표의 시작주소 b와 세그먼트 번호 s 를 더하여 s'를 구함.
페이지 번호 p가 s'와 더해져서 세그먼트 s의 페이지 p에 대한 페이지 표의 항목의 주소 p + s'를 형성.
프레임 번호 p'는 변위 d와 합쳐져서 가상주소 v = (s, p, d)에 사상하는 실 주소 r을 형성.
페이지/세그먼트 혼용 시스템의 예
64K 세그먼트는 실행되는 프로그램에 속한 프로시쥬어(코드), 데이터, 스택 , 힙 으로 고정.
MMU 하드웨어는 0번 프로세스부터 16번 프로세스에 대한 16개 부분으로 된 세그먼트 사상 표 를 가지고 있음.
각 부분은 64개 세그먼트 서술자를 가지며,
각 4M 프로세스의 주소 공간은 각각 16 페이지를 포함하는 64 세그먼트로 나누어 짐.
각 세그먼트 서술자는 세그먼트의 길이, 보호비트, 페이지 사상 표에 대한 포인터로 구성.
페이지 테이블(사상 표)은 16개 항목으로 되어 있고 각 항목은 기억장치의 각 페이지 프레임을 가 르 킴.
페이지 크기
페이지 크기를 결정할때 고려해야 할 사항
단편화
페이지 크기가 작으면 작을수록 보다 많은 페이지와 페이지 프레임이 존재하게 되고, 이를 관리하기 위한 페이지 테이블의 크기가 증가하여 기억공간이 낭비된다. 이러한 기억장소의 낭비 현상을 테이블 단편화 라고 한다.
페이지 크기가 큰 경우는 참조되는 정보와는 무관한 많은 양의 정보가 함께 주 기억장치에 적재되므로 작은 페이지를 필요
프로그램들은 지역성을 가지므로 비교적 작은 크기의 페이지를 만듬.
디스크의 입출력 작업이 많은 시간을 소요하므로 페이지 크기가 클수록 좋다.
페이지 내의 내부 단편화를 줄이기 위해서는 페이지 크기가 작을수록 좋다.
'myPPT' 카테고리의 다른 글
수질오염 - 정의, 지표, 방지 기술(처리방법에 따라 설명) (0) | 2018.12.13 |
---|---|
The Chronicles Of Narnia: The Lion, The Witch And The Wardrobe (0) | 2018.12.09 |
Rise of the Planet of the Apes < Director: Rupert Wyatt> (0) | 2018.11.17 |
생산성 혁신의 역사 (0) | 2018.11.11 |
미국 한국의 사회복지행정 발전과 영역 (0) | 2018.11.09 |