logo

OS(운영 체제)의 페이징

운영 체제에서 페이징은 보조 저장소의 프로세스를 페이지 형식으로 주 메모리로 검색하는 데 사용되는 저장 메커니즘입니다.

페이징의 주요 아이디어는 각 프로세스를 페이지 형식으로 나누는 것입니다. 메인 메모리도 프레임 형태로 나누어집니다.

자바 날짜 현재

프로세스의 한 페이지는 메모리 프레임 중 하나에 저장됩니다. 페이지는 메모리의 다른 위치에 저장될 수 있지만 우선순위는 항상 인접한 프레임이나 구멍을 찾는 것입니다.

프로세스의 페이지는 필요할 때만 주 메모리로 가져오고 그렇지 않으면 보조 저장소에 상주합니다.

운영 체제에 따라 프레임 크기가 다르게 정의됩니다. 각 프레임의 크기는 동일해야 합니다. Paging에서는 페이지가 프레임에 매핑된다는 점을 고려하면 페이지 크기는 프레임 크기와 동일해야 합니다.


OS 페이징

주 메모리 크기가 16Kb이고 프레임 크기가 1KB라고 가정하면 주 메모리는 각각 1KB의 16개 프레임 모음으로 나누어집니다.

문자를 문자열로 변환

시스템에는 각각 4KB의 P1, P2, P3 및 P4 프로세스가 4개 있습니다. 각 프로세스는 각각 1KB의 페이지로 나누어져 하나의 페이지가 하나의 프레임에 저장될 수 있습니다.

처음에는 모든 프레임이 비어 있으므로 프로세스 페이지가 연속적으로 저장됩니다.

프레임, 페이지 및 둘 사이의 매핑은 아래 이미지에 표시됩니다.


OS 페이징 예

잠시 후 P2와 P4가 대기 상태로 이동한다고 가정해 보겠습니다. 이제 8개의 프레임이 비어 있으므로 그 빈 곳에 다른 페이지를 로드할 수 있습니다. 크기가 8KB(8페이지)인 프로세스 P5가 준비 대기열 내부에서 기다리고 있습니다.

이를 감안할 때 메모리에는 연속되지 않은 8개의 프레임을 사용할 수 있으며 페이징은 프로세스를 다른 위치에 저장할 수 있는 유연성을 제공합니다. 따라서 P2와 P4 대신 프로세스 P5의 페이지를 로드할 수 있습니다.


OS 페이징 예 2

메모리 관리 장치

MMU(Memory Management Unit)의 목적은 논리 주소를 물리 주소로 변환하는 것입니다. 논리 주소는 CPU가 모든 페이지에 대해 생성하는 주소이고, 물리 주소는 각 페이지가 저장될 프레임의 실제 주소입니다.

행과 열

CPU가 논리 주소를 사용하여 페이지에 접근하려면 운영체제는 해당 페이지에 물리적으로 접근하기 위해 물리 주소를 얻어야 합니다.

논리 주소는 두 부분으로 구성됩니다.

Arduino의 전송 속도
  1. 페이지 번호
  2. 오프셋

OS의 메모리 관리 장치는 페이지 번호를 프레임 번호로 변환해야 합니다.

위 이미지를 고려하여 CPU가 프로세스 P3의 4번째 페이지의 10번째 단어를 요구한다고 가정해 보겠습니다. 프로세스 P1의 페이지 번호 4는 프레임 번호 9에 저장되므로 9번째 프레임의 10번째 워드가 물리적 주소로 반환됩니다.