메모리 페이징이란?
: 컴퓨터 운영체제에서 메모리 페이징은 주 메모리에서 사용하기 위해 보조 저장소에서 데이터를 저장하고 검색하는 메모리 관리 체계이다.
메모리는 알겠지만,,,그래서 페이징한다는 것이 뭘까?
페이징: 논리 주소의 고정된 페이지라고 불리는 블록들로 분할 관리하는 기법이다.
(대충 논리 주소를 일정 크기(?)의 블록들로 분할하여 사용한다는 뜻 같다.)
그렇다면, 이 페이징 기법이 어떤 구조이고, 왜 쓰이는가를 알아보자.
프로세스를 연속할당하면 외부 단편화가 발생하고, 그로인해서 자투리 공간이 남아서 못 쓰는 부분이 생긴다.
위의 상황은 들어가려는 PROCESS가 빈 부분(HOLE)보다 커서 못 들어가는 것 같다.
그래서 이러한 경우를 없애기 위해 개발자들은 페이징 방법을 했다.
논리주소를 동일한 크기로 자른 후 물리 주소도 동일한 크기로 자르는 것이다.
위와 같이 배치를 하게 되면 외부단편화가 발생하지 않는다.
단, 그렇다고 해서 논리주소와 물리주소가 동일한 크기로 잘랐을 때 위 그림처럼 딱 맞아 떨어지리라는 법은 없다.
그러므로 메모리를 100%를 다 쓰는 것이 목적이 아닌 100%에 최대한 가깝게 사용할 수 있는 방법이다.
반응형
'gyub's 공부일기 > 그저 내 공부' 카테고리의 다른 글
[Android] 프로세스 라이프사이클 (0) | 2022.03.20 |
---|---|
[Android] 프로세스 (0) | 2022.03.20 |
배열 vs 리스트 (0) | 2022.02.14 |
Synchronized (0) | 2021.04.08 |
Serialization (0) | 2021.04.08 |