В моем классе операционных систем мы перебираем таблицы страниц. Я вижу эти преимущества подкачки, будь то с линейными или многоуровневыми таблицами страниц, поскольку они могут уменьшить внешнюю фрагментацию.
Однако у меня есть два вопроса, которые не очень хорошо рассмотрены моей книгой или лекцией.
Физический размер страницы также определяет размер виртуальной страницы? Это может показаться логичным, поскольку это приведет к переписке один на один при переводе страниц. Меньший размер виртуальной страницы не имеет большого смысла, так как смещение не будет охватывать всю физическую страницу, а большее смещение позволит вам сместиться на следующую физическую страницу, которая может быть не выделена вам. Однако, насколько я понял, мои рассуждения.
Предположим, что пользовательский код запрашивает выделение, превышающее размер виртуальной страницы. Может ли этот запрос быть удовлетворен ТОЛЬКО, если существует непрерывное количество свободных физических страниц И виртуальных страниц, так что эти непрерывные выделения больше или равны запросу?
например, предположим, что пользователь запрашивает 6000 байтов, размер виртуальной страницы равен 4094, и нет двух свободных виртуальных страниц подряд, может ли этот запрос не быть удовлетворен, даже если существует два физическихсвободной памяти что рядом друг с другом?