질문이 있는데 잘 모르겠습니다. 누군가 도와 주면 감사하겠습니다. 질문은 다음과 같습니다 :페이지 교체 알고리즘
프로그램에 대한 다음 요청 순서는 10, 11, 104, 170, 73, 309, 185, 245, 246, 434, 458, 364 ((즉, 메모리에 하나의 프로그램이 460 바이트 길이이고 텍스트 내의 바이트를 참조하고 10은 프로그램의 10 번째 바이트를 참조하며 10은 상대 주소입니다.) 주 메모리는 총 이 프로그램에 대해 200 바이트 페이지 폴트를 초래하는 요청과 FIFO (선입 선출)를 사용하는 페이지 폴트 수 및 50 바이트의 페이지 크기에 대한 최적 페이지 교체 알고리즘을 나타냅니다.
여기에 있습니다 내가 생각했던 것. 첫째, 메모리에 아무 것도 없으므로, 첫 번째 요청 (10)은 페이지 폴트를 일으킨다. 그리고 바이트 10에서 60까지가 lo 인 경우 페이지 크기가 50 바이트이기 때문에 메모리에 저장됩니다. 두 번째 요청이 오면 (11) 이미 메모리에 있기 때문에 페이지 오류가 아닙니다. 그러면 104가 페이지 폴트를 일으키고 104-154 사이의 바이트가 메모리에로드됩니다. 170 또한 페이지 오류를 일으키고 170-220은 메모리에로드됩니다. 내 논리는 사실입니까?
미리 감사드립니다.
페이지가 50 바이트 경계에 정렬되어야하는지 여부에 따라 달라질 수 있습니다 ... –
또한 미리보기/명령 프리 페치가 있으므로 실제 실행과 병렬로 프리 페치가 발생할 수 있습니다. (그래서 (조건부 점프가 너무 비싸다) – wildplasser