3학년/운영체제

Chapter4-2

김야키 2018. 4. 17. 09:59

가상 메모리 관리(Paging)

Page Mapping

-      일정한 크기로 프로세스를 분할

-      크기를 고정

-      메인 메모리와 전체 프로세스를 동일한 크기로 분할

-      Offset - (x, y) 좌표로 페이지위치를 찾는 것

n  (page, offset)

n  2단계 주소체계를 만들기 위함

n  메인 메모리에 올릴 때 page번호는 변할 수 있지만 offset번호는 변하지 않는다.

-      Page table

n  Page의 번호가 메인 메모리에 올리면 번호가 바뀌기 때문에 테이블에 적어 둔다.

n  프로세스 당 1- page번호는 모든 프로세스가 동일함, 0번부터 시작 함

n  그때 그때 만들어 준다. (이유 : 프로세스당 매칭 되는 메인 메모리의 주소가 겹치면 안됨)

n  페이지 테이블의 값이 메인 메모리에 올라와 있는지를 확인 해 보기 위해서 0,1의 비트로 표시를 해준다. (Residence Bit - 1인경우 메인 메모리에 올라가 있는 것)

n  메인 메모리의 한 세션에 저장되어 있음

 

직접 사상(Direct Mapping)

-      캐시 메모리를 사용하여 메모리 위치를 찾는 데에 걸리는 시간이 가장 빠르다.

-      페이지 테이블을 직접 접근함

-      Memory 접근 시간이 100n/sec라고 한다면 총 접근 시간은 200n/sec.

-      페이지 테이블이 직접사상

-      2번의 메모리 접근이 필요함

-      프로세스 -> 메인 메모리의 페이지테이블 접근 -> 다시 메인 메모리의 해당 테이블의 값의 위치에 접근

 

연관 사상(Associative Mapping)

-      매핑된 값들을 캐쉬 메모리에 저장

-      프로세스 번호와 페이지 번호, 매칭된 메인 메모리의 주소가 함께 매칭되어 입력되어 있음

-      캐시 메모리에 없다면 프로세스의 페이지 테이블로 들어가서 확인 한다.

-      한 번 이라도 접근이 있었다면 캐시 메모리에 저장

-      프로세스 -> 캐시 메모리에 연관 사상 테이블 접근 -> 저장된 값의 위치에 접근

-      캐시 메모리에 없는 경우 (직접 / 연관 사상 작용)

n  프로세스 -> 캐시 메모리(저장되지 않음) -> 메인 메모리(페이지 테이블 세션) -> 메인 메모리


 

공유(Page Sharing)

-      동일한 내용을 접근할 때 한 위치에 두고 공유해서 접근하는 방법

-      메모리를 최소화 시킴

 

페이지 크기

-      페이지 크기가 작을 때(보통 페이지가 큰 경우는 반대)

n  단점

u  테이블 단편화

u  페이지의 개수가 많아 짐

u  메모리를 많이 차지함

u  한 페이지에 다 안 들어 가는 경우가 발생

n  장점

u  작업 세트를 확보하는 데 도움

u  특정 부분을 사용해야 하는 경우 여러 페이지에 접근 할 필요가 없음

u  페이지 크기가 크면 페이지별로 걸쳐서 존재하는 경우가 있음

-      페이지의 크기는 고정 크기로 나누기 때문에 내부 단편화가 많이 발생하게 된다.

n  페이지를 할당 받고 남는 부분이 내부 단편화

-      페이지 크기가 큰 경우

n  단점

u  내부 단편화가 크게 발생하게 됨

n  장점

u  한꺼번에 한 페이지만 올라오면 된다.

 

페이지 인출 기법

-      요구 페이징 기법

n  요청이 되면 페이지를 메모리 상에 올림

-      예상 페이징 기법

n  운영체제가 예측해서 메모리 상에 페이지를 올림

 

페이지 양도

더 이상 사용하지 않는 페이지는 다른 페이지로 양도


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

Chapter4-4  (0) 2019.06.23
Chapter4-3  (0) 2019.06.23
Chapter4-1  (0) 2018.04.17
Chapter3  (0) 2018.04.13
Chapter2-3  (0) 2018.04.12