Это мой первый вопрос здесь; Я не уверен, что это не по теме.Почему файлы с отображением памяти всегда отображаются на границах страниц?
В то время как самостоятельной учебы, я нашел следующее заявление в отношении операционных систем:
Операционные системы, которые позволяют отображаемые в память файлы всегда требуют файлы, которые будут отображаться на границах страниц. Например, с 4 КБ страницей, файл может быть отображен в начиная с виртуальным адресом 4096, но не начиная с виртуальным адресом 5000.
Это утверждение объясняется следующим образом:
Если файл может быть отображен в середине страницы, для одной виртуальной страницы потребуется две частичные страницы на диске для ее сопоставления. На первой странице, в частности, будет отображаться на страницу с царапинами, а также на страницу с файлом. Обработка ошибки была бы сложной и дорогостоящей операцией, требующей копирования данных . Кроме того, не будет возможности улавливать ссылки на неиспользуемые части страниц. По этим причинам этого избежать.
Я хотел бы попросить помощи, чтобы понять этот ответ. В частности, что означает сказать, что «для отображения одной виртуальной страницы потребуется две частичные страницы на диске»? Из того, что я нашел о файлах с отображением памяти, виртуальные страницы сопоставляются с файлами на диске, а не с файлом подкачки. Это то, что подразумевается под «частичной страницей»?
Кроме того, что подразумевается под «царапиной страницей» здесь? Я попытался найти этот термин в книгах («Современные операционные системы Таненбаума» и «Структурированная компьютерная организация») и в Интернете, но не нашел его.