3학년/운영체제

Chapter4-3

김야키 2019. 6. 23. 21:38

가상 메모리 관리(Segmentation)

 

Segmentation

-      고정으로 자르는 페이지의 개념을 동적인 상태로 변경

-      메모리에 올라갈 내용을 봐서 자른다.

 

세그먼트

-      논리적 단위가 되는 프로그램 모듈이나 자료구조

-      크기가 가변적

-      , 세그먼트(페이지)를 나누는 크기가 동적으로 바뀐다.

 

직접 사상

-      가상 주소 V = ( s, d ) -> CPU에서 만듦

-      s = segment번호

-      d = offset

-      메모리에는 연속으로 올라가야 함

-      페이지 테이블과 마찬가지로 세그먼트 테이블이 있음

-      존재 비트(Resident bit)

  • 메모리에 올라가 있는지를 표시
  • 가변 크기이기 때문에 조금 많다
  • 0이면 메모리에 없음, 1이면 존재
  • a = 보조 기억장치 주소
  • l = 세그먼트 길이(offset의 길이)
  • R,W,E,A = R읽기, W기록, E실행, A추가

공유 및 보호

-      공유

 

-      메모리 상의 크기가 세그먼트의 크기보다 작으면 해당 세그먼트는 메모리에 올라갈 수 없게 된다. 그로 인해서 내부 단편화가 생긴다.

세그먼트/페이징 혼용 기법

-      세그먼트로 자른다.

-      그 뒤에 큰 세그먼트를 페이지 단위로 자른다.

-      V(주소) = ( s, p, d )

-      s = 세그먼트 번호

-      p = 페이지 번호

-      d = offset

-      S/T -> P/T -> M/M접근 순서

 

순서

1.     PCB를 가상메모리에 올린다.

2.     우선 코드 세그먼트와 데이터 세그먼트로 나눈다.

3.     코드와 데이터 세그먼트를 다시 페이지로 나눈다.

 

'3학년 > 운영체제' 카테고리의 다른 글

Chapter4-5  (0) 2019.07.23
Chapter4-4  (0) 2019.06.23
Chapter4-2  (0) 2018.04.17
Chapter4-1  (0) 2018.04.17
Chapter3  (0) 2018.04.13