Пример последнего вопроса для моего класса операционных систем:
Большинство операционных систем поддерживают «отображаемые в память файлы»; это описывает файлы, которые отображаются в адресном пространстве запущенного процесса. Чтения и записи в файл преобразуются в память для чтения и записи. Мы можем представить существование двух новых системных вызовов, map () и unmap ().
а) Рассмотрим карту (); он принимает имя файла и виртуальный адрес, в результате чего операционная система отображает файл в адресное пространство, начиная с виртуального адреса. Опишите, как система виртуальной памяти может использоваться для поддержки этого вызова.
б) Рассмотрим unmap (); это разъединяет файл из виртуального адресного пространства. Опишите статистику, которая должна быть принята для реализации этого системного вызова. Перечислите все ваши предположения.
в) Во многих системах UNIX иноды хранятся в начале диска. Альтернативный дизайн состоит в том, чтобы выделить индекс при создании файла и поместить индекс в начало первого блока файла. Обсудите плюсы и минусы этой альтернативы.
d) Что произойдет, если растровое изображение или свободный список, содержащий информацию о свободных дисковых блоках, был полностью потерян из-за сбоя? Есть ли какой-нибудь способ восстановления после этой аварии или диск больше не используется? Обсудите ваш ответ для UNIX и FAT-стиля распределения дисковых блоков.
Любая информация о дискуссиях по этим вопросам приветствуется.