[기술공부]페이징

allnight5·2022년 12월 12일
0

기술공부

목록 보기
30/33

참조
페이징이란 논리주소의 고정된 페이지라고 불리는 블록들로 분할 관리하는 기법이다
각각의 페이지는 물리 메로리의 프레임과 맵핑한다.
페이지를 가리키는 논리주소에서 프레임을 가리키는 물리주소로 변환한다.

프로세스를 연속할당한다면 외부 단편화가 발생하고
그로인하여 값비싼 메모리 자원이 3분의 1까지 손실될 수 있는 현상에 처해진다.
자투리 공간이 남아서 못 쓰는 부분이 있으면 안되겠다라고 생각한 개발자들이
이걸 어떻게 써야 할까 해서 나온것이 페이징기법으로

logical address를 동일한 크기로 자르고, physical address도 동일한 크기로 잘라서 이것들을 이것을 이곳에 배치되고 이것은 저기에 배치되고 쭈욱 배치하게 되면 자투리 공간이 발생하지 않지 않을까?
라는 식으로 외부 단편화가 발생하지 않는 기법이 페이징(paging)기법으로

블록크기가 다 같다면 고정 분할이라고 하며
프로스세별 메모리에 할당하는 크기가 가 제각각일 경우 가변 분할이라고 한다.

페이징이란!

페이징을 프로세스를 일정 크기인 페이지로 잘라서 메모리에 적재하는 방식을 말한다.

내부 단편화란 무엇일까
내부 단편화 vs 외부 단편화

프로세스가 페이지 크기에 맞게끔 딱 동작하지 않을것이다
만약 공간이 남을 경우 이를 내부 단편화 라고 한다.

외부 단편화가 페이지에 들어오다가 들어 올수 없는 크기가 남는데 이 부분을
외부 단편화 라고부른다.

profile
공부기록하기

0개의 댓글