가상기억 장치의 구성
본 자료는 9페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
해당 자료는 9페이지 까지만 미리보기를 제공합니다.
9페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

가상 기억 장치의 구성

동적 주소 변환

블록 사상

순수 페이징 기법

직접 사상 방법

연관 사상 방법

연관/직접 사상 혼용에 의한 페이징 방법

페이징 시스템의 공유

페이징 시스템의 예

세그먼테이션

순수 세그멘테이션

직접 사상방법

세그먼트 시스템에서의 공유

페이징/세그먼테이션

세그먼트/페이지 혼용

혼용 시스템에서의 공유

페이지/세그먼트 혼용 시스템의 예

본문내용

주소변환 과정
직접 사상방법
정상적일 때 주소변환 과정
▶ 실행되는 프로세스는 가상 주소 S = (s, d)를 참조하여,
▶ 세그먼트 s에 세그먼트 사상표 시작점 레지스터 b와 더해져 s'를 얻음.
▶ 변위 d는 s'와 더해져 실제주소 r = s' + d 생성.
예외 발생 상황에 따른 주소변환 과정
▶ 실행되는 프로세스는 가상 주소 S = (s, d)를 참조하여,
▶ 세그먼트 s에 세그먼트 사상표 시작점 레지스터 b와 더해져 s'를 얻음.
▶ 변위 d는 s'와 더해져 실제주소 r=s'+d 생성.
예외 발생 상황에 따른 주소변환 과정
● 세그먼트가 주기억 장소에 있는지 검사하여,
▶ 없으면(r=0 이면) 세그먼트 부재(segment fault)를 발생하고,
- 운영체제는 제어권을 넘겨 받아 보조기억 장치 주소
a를 참조,
- 세그먼트를 주기억 장치로 적재.
▶ 있으면(r=1 이면) 다음 단계인 세그먼트 길이와 비교.
● 세그먼트가 주기억 장소로 옮겨지면 주소 변환은 변위 d가 세그먼트 길이 l보다 작거나 같은 지를 점검.
▶ 만약 d가 l보다 크면(d>l),
(세그먼트 오버플로우 예외(overflow exeption)가 발생하고,
운영 체제로 제어가 넘어가서 프로세스의 실행이 종료.)
▶ 변위가 세그먼트의 범위내에 있으면(d<= l),
- 의도하는 동작이 허락되는지 확인하기 위해 보호 비트를 조사,
(의도하는 동작이 허락되면, s'와 변위 d가 더해져서 마침내 실주소 r=s'+d를 생성.의도하는 동작이 허락되지 않으면 세그먼트 보호 예외(segment protection exception)이 발생하고 운영 체제로 제어가 넘어가서 프로세스의 실행이 종료.)
세그먼트가 주기억 장치 내에 없는 경우 r=0 / 있는 경우 r=1
R : read access W : write access E : execute access A : append access
세그먼트 기법에서 주소 변환 과정
그림 16 세그먼트 기법에서의 주소 변환 과정
세그먼트 시스템에서의 공유
두 프로세스는 단순히 세그먼트 사상표에 주기억 장치내에 있는 동일한 세그먼트를 지정하는 항목을 가짐으로써 세그먼트를 공유.
▶ 이 시스템에서 일단 어떤 세그먼트가 공유된다고 선언되고 자료 구조는 이것이 공유된 세그먼트 내에서 있다는 논리적인 사실을 바꾸지 않고도 그 크기를 임의로 늘이거나 줄일 수 있음.
▶ 문서 편집기와 같은 여러 사용자에 의해서 공유될 수 있는 프로그램 세그먼트가 순수 세그멘테이션 시스템에서 공유.
그림 17
페이징/세그먼테이션
혼용 기법
세그먼트가 너무 가변적이고, 때로는 그 크기가 지나치게 커서 주기억 장치에 적재할 수 없는 경우의 문제점을 극복하기 위한 방안
▶ 하나의 세그먼트를 정수배의 페이지로 다시 분할하는 페이지/세그먼트 기법을 제공.
▶세그먼트를 페이지화.
● 가상주소는 3 차원의 요소 즉, V = (s, p, d)로 표현.
가상 주소:V = (s, p, d) s:세그먼트 번호, p:페이지 번호, 변위:d
● 순수 세그멘테이션과의 차이는 세그먼트 사상표의 항이 세그먼트의 기준주소를 가지지 않고, 페이지 사상표의 기준주소를 가지고 있다는 점.
● 각 세그먼트의 마지막 페이지는 일반적으로 완전히 차지는 않음.
▶ 평균적으로 세그먼트당 비어 있는 페이지에 대한 내부 단편화.
▶ 외부 단편화는 제거되었지만, 내부 단편화가 생겨났고,
▶ 사상표가 차지하는 공간(table space)의 오버헤드도 증가.
세그먼트/페이지 혼용
시스템에서의 동적 주소변환
연관 사상인 경우
▶ (s, p)를 찾기 위해 연관 사상표를 탐색하여 발견되면,
▶ 해당 페이지가 들어 있는 주기억 장치 내의 페이지 프레임 p'와 변위 d를 더하여 실주소 r을 구하여 주소 변환.
직접 사상인 경우
▶ 세그먼트 사상표의 시작주소 b와 세그먼트 번호 s 를 더하여 s'를 구함.
▶ 페이지 번호 p가 s'와 더해져서 세그먼트 s의 페이지 p에 대한 페이지 표의 항목의 주소 p + s'를 형성.
▶ 프레임 번호 p'는 변위 d와 합쳐져서 가상주소 v = (s, p, d)에 사상하는 실 주소 r을 형성.
그림 18 페이징/세그먼테이션의 혼용시스템에서의 주소변환 과정
혼용 시스템에서의 공유
서로 다른 프로세스의 세그먼트 사상표의 항목들이 동일 페이지 사상표를 공유.
▶ 주기억 장치에 새로이 적재되는 페이지가 여러 프로세스에 의해 공유되는 페이지를 대체할 때 발생할 수 있는 문제점을 신중히 고려.
그림 19 페이징/세그먼테이션 혼용시스템의 공유
페이지/세그먼트 혼용 시스템의 예
64K 세그먼트는 실행되는 프로그램에 속한 프로시쥬어(코드), 데이터, 스택, 힙으로 고정.
▶ MMU 하드웨어는 0번 프로세스부터 16번 프로세스에 대한 16개 부분으로된 세그먼트 사상표를 가지고 있음.
▶ 각 부분은 64개 세그먼트 서술자를 가지며,
▶ 각 4M 프로세스의 주소 공간은 각각 16 페이지를 포함하는 64 세그먼트로 나누어 짐.
▶ 각 세그먼트 서술자는 세그먼트의 길이, 보호비트, 페이지 사상표에 대한 포인터로 구성.
▶ 페이지 테이블(사상표)은 16개 항목으로 되어 있고 각 항목은 기억장치의 각 페이지 프레임을 가르킴.
운영 체제가 프로세스를 시작하면, 4비트 프로세스 번호를 특수 하드웨어 레지스터로 적재.
그림7-20 MC68000에서의 MMU와 4M 가상주소
▶ 이 프로세스가 기억 장치를 참조할 때마다 MMU는 다음과 같은 과정에 의해 가상주소를 변환
1) 4비트 프로세스 번호와 22비트 가상 주소중 상위 6비트를 취하여 10비트로 결합함으로써, 세그먼트 사상표의 인덱스로 사용하여 적절한 세그먼트 서술자를 위치.
2) 접근이 허용되는지 세그먼트 서술자의 보호 비트를 검사.
3) 만약 접근이 허용되면, MMU는 세그먼트 서술자의 세그먼트 길이 필드와 가상주소로 부터 추출한 페이지 번호를 검사하여 세그먼트의 길이가 충분한 지를 알아 봄.
4) 길이가 충분하면, 페이지 번호는 사상표의 인덱스로 사용.
5) 일단 페이지 프레임 번호가 찾아 지면, 물리 주소를 생성하기 위해 가상 주소의 변위 필드와 결합되어 버스에 실림.
요약
  • 가격3,000
  • 페이지수27페이지
  • 등록일2010.03.03
  • 저작시기2007.7
  • 파일형식한글(hwp)
  • 자료번호#586906
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니