반응형

Address Translation 3

[ OS ] Paging

1. Paging 1.1 Segmentation의 문제점 세그멘테이션은 가변적인 메모리 조각들을 다루기 때문에 항상 Memory compaction를 해줘야한다. 하지만 이 과정이 마냥 간단하지는 않다. 1.2 paging 페이징은 실제 메모리를 페이지 프레임이라고 하는 고정 크기의 슬롯의 배열로 보는 방법이다. 프로세스가 주소 공간을 사용한느 방법에 관계없이 주소 공간의 추상화를 효과적으로 사용할 수 있다. 어떤 용도로 쓸건지에 대한 정보가 필요 없다. free 공간을 다루를 것이 더 간단해 질 수 있다. 1.3 Address Translation (Page table) Page table 에는 주소 공간의 각 가상페이지에 대한 물리 주소가 저장되어있다. 가상 주소는 인덱스 번호와 같으므로 생략하고 물..

[ OS ] Segmentation

1. Segmentation 1.1 base and bounds registers의 문제점 전에 배운 가상 공간 배치방법의 문제점은 프로그램이 크다면 물리메모리에 자리 찾아주기 힘들고(연속적이어야 하기 때문). 사용되지 않은구간이 너무 많다는 것이다 (free) 1.2 Segment 1) 세그먼트는 특정 길이의 주소공간의 연속된 부분이다 (코드, 스택, 힙) 2) 각각에 base and bounds가 존재하며 세그먼트 각각이 연속적일 필요는 없다. 1.3 Segmentation 1) 물리적 메모리의 서로 다른 부분에 세그먼트를 배치한다 2) 물리적 메모리를 free로 채우지 않는다. - 사용된 메모리만 공간을 할당한다 - 사용하지 않는 주소 공간에 다른 공간을 수용할 수 있음 왼쪽은 기존의 물리 메모리이..

[ OS ] Address Spaces

1. Address Spaces 1.1 Multiprogramming and Time Sharing Multiplrogramming - 여러개의 프로세스들이 동시에 메모리에 적제되어 실행되는 프로그램 하나 끝나고 하나 실행 시키려면 메모리를 넘겨주기 전에 실행중인 프로세스의 메모리를 저장하고 넘겨줘야한다. 이는 속도 저하를 일으킨다. 하지만 Multiplrogramming을 하면 context swich 를 할 필요가 없다. 하지만 마냥 위 방법이 효율적인 것은 아니다. 크기가 다 똑같게 지정되어있어 모자를 때도 남을 때도 있다. 또, 이는 프로세스 간의 메모리 접근을 막아야한다. 1.1 Address space 우리가 주소 공간을 정의하여 가상주소를 사용하면 메모리 추상화가 쉽고, 프로그램 입장에서 어..

반응형