가상 주소의 페이지 번호를 이용하여 해당 페이지 테이블 항목을 찾고 해당 페이지가 로드된 프레임의 번호를 얻는다. 페이지가 로드된 프레임 번호를 추출합니다. 가상 주소 공간의 크기가 증가함에 따라 페이지 테이블의 크기가 증가하고 메인 메모리에 더 많은 페이로드 공간이 필요합니다.
페이지 테이블 자체를 가상 메모리에 로드: 이 프로세스는 페이지 테이블의 일부만 메인 메모리에 로드하여 수행할 수 있습니다. 페이지당 하나가 아닌 프레임당 하나의 페이지 테이블 항목을 설정합니다. 프로세스당 할당된 프레임이 많을수록 페이지 부재율이 낮아집니다.
분할/페이지 시스템에서 주소 변환. 페이징과 세그먼테이션을 결합할 때의 테이블 항목. 세그먼트의 시작 페이지 테이블 주소 세그먼트의 시작 페이지 테이블 주소입니다.
로드 및 변경은 페이지 수준에서 관리되므로 세그먼트 테이블에 존재하거나 변경된 비트가 없습니다.
운영체제의 가상메모리 관리 정책
주 메모리에 로드할 블록을 배치할 위치를 정의하는 정책입니다. 주소 변환 하드웨어와 주 메모리 액세스 하드웨어가 모든 페이지/프레임 조합에 대해 동일한 효율성으로 작동하기 때문에 배치 정책은 의미가 없습니다. 참조하는 프로세서에 가까운 메모리 모듈의 각 페이지를 배치하는 배치 전략이 필요합니다.
새 페이지를 검색하기 위해 현재 로드된 페이지 중 교체해야 하는 페이지를 결정하는 정책입니다. 가까운 장래에 참조할 가능성이 가장 적은 페이지를 선택하여 나중에 참조합니다. 교체에 의한 교체는 교체 정책의 이상적인 목표입니다.
그렇게 함으로써 교체를 대체하는 것이 교체정책의 이상적인 이상목표입니다. 위치 원리를 가정하여 과거 참조 동작을 기반으로 향후 참조 기회 예측. 프레임 잠금을 교체에서 제외하도록 설정합니다.
각 프레임에 대해 잠금 비트를 설정하고 잠금 상태를 표시합니다. 잠금 비트는 프레임 테이블, 페이지 테이블 등에 보관할 수 있습니다.
FIFO 와 Clock
수정된 페이지를 구분하고 수정된 페이지 목록에서 디스크 쓰기를 기다릴 수 있습니다. 페이지 오류를 실제로 교체하기 전에 해결하면 저렴한 비용으로 페이지 오류를 수정할 수 있습니다. 로컬 범위: 페이지 폴트를 일으킨 프로세스의 로드 세트 내에서 대체 대상을 선택합니다.
전역 범위: 메인 메모리의 모든 페이지에서 대체 대상을 선택합니다. 응용 프로그램 또는 프로그램 요구 사항 유형에 따라 프로세스 할당량을 결정합니다. 페이지 오류가 발생하면 프로세스 로드 세트에 사용 가능한 프레임을 추가합니다. 사용 가능한 프레임이 없으면 잠긴 프레임을 제외한 모든 프레임을 대상으로 합니다.
교체할 페이지를 선택하고(선택한 페이지를 소유한 프로세스로 교체할 페이지를 선택하여 교체(선택한 페이지를 소유한 프로세스의 로드 세트 감소 Ö 이것은 최적의 프로세스가 아닐 수 있음) 교체할 때 페이지 폴트가 발생하면 이 프로세스에 대한 로드 세트는 페이지 폴트 수에 따라 로드된 세트의 크기를 결정합니다.
경과 시간이 정의된 임계값보다 작은 경우 해당 프로세스에 대한 로드 세트에 한 페이지를 추가하십시오. 그렇지 않으면 로드된 세트에서 사용된 비트가 0인 모든 페이지를 제거하여 누적된 세트를 축소합니다(제거되지 않은 페이지에 대해 사용된 모든 비트를 0으로 설정). 샘플링 기간 동안 페이지 폴트에 대한 작업 집합에 새 페이지 추가 – 페이지 폴트가 증가함에 따라 샘플링 간격을 줄여 미사용 페이지 제거 속도를 높입니다.
가상 시간 L이 만료되기 전에 Q 페이지 오류가 발생한 경우. 가상 시간 L이 만료되기 전에 Q 페이지 폴트가 발생하면 . 변경된 페이지가 교체 후보로 선정되면 변경 목록에 추가되고 주기적으로 일괄 로그인된 후 미변경 목록으로 이동됩니다.
페이지를 교체할 때 수정되지 않은 목록의 프레임을 사용하므로 교체 시점의 기존 페이지에 대한 기록은 없습니다. 각 프로세스의 로드 세트를 구성하는 평균 페이지 수가 부족하여 페이지 오류가 자주 발생하고 결국 스래싱이 발생합니다.
UNIX 와 Solaris 의 메모리 관리 (1/3)
다중 프로그래밍의 순서를 낮추기 위해 중단할 프로세스를 결정합니다. 팀을 위해 고려할 가치가 있는 프로세스. 우선 순위가 가장 낮은 프로세스: 계획 정책과 일관성을 유지합니다. - 우선 순위가 가장 낮은 프로세스: 계획 정책과 일관성을 유지합니다.
최소 부하 프로세스: 향후 재장전 비용 절감 - 최소 부하 프로세스: 향후 재장전 비용 절감. 그러나 이는 지역성이 강한 프로세스에는 불리합니다. 남은 실행 시간이 가장 긴 프로세스: 가장 짧은 처리 시간 - 일관성 우선 예약 및 유지(가장 짧은 처리 시간 우선) 일정 예약 및 일관성 유지.
UNIX 와 Solaris 의 메모리 관리 (2/3)
UNIX 와 Solaris 의 메모리 관리 (3/3)
LINUX 메모리 관리 (1/2)
LINUX 메모리 관리 (2/2)