본문 바로가기

cs

OS - 세그먼테이션 기법 (segmentation)

세그먼테이션 기법


* 가상기억장치에 보관된 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법
* 논리적인 크기로 나눈 단위를 세그먼트라 하며 각 세그먼트는 고유한 이름과 크기를 갖는다
* 각 세그먼트는 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 (storage protection key)를 사용한다
* 프로그램이 여러 개의 분리된 주기억장치 블록을 차지할 수 있도록 하되 각 블록은 같은 크기일 필요는 없으나 연속된 기억장소로 구성되어야 한다
* 세그먼트 기법의 위치지정 방법은 first-fit, best-fit, worst-fit 방법과 동일하다

 

세그먼테이션 사상

 

 

  1. 실행 프로세스가 가상기억장소의 주소를 V=(s,d)로 참조한다
  2. 세그먼트 사상기법은 우선 세그먼트 사상테이블에서 세그먼트 s를 찾고 실기억장치의 s'위치에서 시작을 결정
  3. 가상기억주소 V=(s,d)와 사상하는 실기억장치 주소는 s'와 변위 d와 더해져서 실제 주소 r을 생성

1. 세그먼트 기법에서의 엑세스 제어


각 프로세스에게 세그먼트를 엑세스할 권한을 부여하거나 엑세스를 하지 못하도록 권한을 제한하는 것을 의미

1.1 종류

  1. 읽기 (Read)
    • 세그먼트에 대해 판독할 수 있는 권한을 부여
    • 기호 R로 표시
  2. 쓰기 (Write)
    • 세그먼트를 수정할 수 있는 권한을 부여
    • 기호 W로 표시
  3. 실행 (Excute)
    • 세그먼트를 실행할 수 있는 권한을 부여
    • 기호 E로 표시
  4. 추가 (Append)
    • 세그먼트 끝에 정보를 추가할수 있는 권한을 주는 것
    • 기호 A로 표시

 

엑세스 유형 기호 기능
Read R 읽을 수 있는 권한
Write W 수정 할 수 있는 권한
Excute E 실행 할 수 있는 권한
Append A (끝에)추가 할 수 있는 권한

 

2. 직접사상에 의한 세그먼테이션 기법


고속 캐시 기억장치에 전체 세그먼트 사상표를 기억시키고 직접사상을 하는 세그먼트 주소 변환기법이다

 

세그먼트 존재 비트 보조기억장치 주소 세그먼트 길이 보호 비트 주기억장치 세그먼트 시작주소
i a l RWEA s'

 

의미 오류발생 시기 및 종류
i 0: 주기억장치 내에 없을 때, 1: 주기억장치 내에 있을 때 i=0일때, 세그먼트 부재(fault)
a 세그먼트가 주기억장치 내에 없을 때 보조기억장치로부터 검색되어야 할 주소 i=0일때 (세그먼트 부재 일때) 운영체제는 제어권을 받아서 주소 a에서 참조된 세그먼트를 주 기억장치로 옮김
l 세그먼트의 총 길이. 변위 d와 비교하여 그 세그먼트의 범위 내에 있는지 검사 d > l일 때 세그먼트 오버플로우
R W E A 세그먼트 엑세스 제어 보호 비트를 조사하여 허락되지 않을 때, 세그먼트 보호 예외
s' 세그먼트가 주기억장치 내에 있을 때, 세그먼트가 시작되는 주기억장치의 주소 주기억장치에서 곧 바로 세그먼트의 위치를 찾을 수 있음

'cs' 카테고리의 다른 글

OS - 페이지 호출기법  (0) 2022.05.13
OS - 페이징 / 세그먼테이션 혼용기법  (0) 2022.05.12
OS - 페이징 기법  (0) 2022.05.11
OS - 블록사상  (0) 2022.05.10
OS - 가상기억장치  (0) 2022.05.10