Файловые системы - файлы с отображением в памяти - PullRequest
1 голос
/ 06 апреля 2011

Пример последнего вопроса для моего класса операционных систем:

Большинство операционных систем поддерживают «отображаемые в память файлы»; это описывает файлы, которые отображаются в адресном пространстве запущенного процесса. Чтения и записи в файл преобразуются в память для чтения и записи. Мы можем представить существование двух новых системных вызовов, map () и unmap ().

а) Рассмотрим карту (); он принимает имя файла и виртуальный адрес, в результате чего операционная система отображает файл в адресное пространство, начиная с виртуального адреса. Опишите, как система виртуальной памяти может использоваться для поддержки этого вызова.

б) Рассмотрим unmap (); это разъединяет файл из виртуального адресного пространства. Опишите статистику, которая должна быть принята для реализации этого системного вызова. Перечислите все ваши предположения.

в) Во многих системах UNIX иноды хранятся в начале диска. Альтернативный дизайн состоит в том, чтобы выделить индекс при создании файла и поместить индекс в начало первого блока файла. Обсудите плюсы и минусы этой альтернативы.

d) Что произойдет, если растровое изображение или свободный список, содержащий информацию о свободных дисковых блоках, был полностью потерян из-за сбоя? Есть ли какой-нибудь способ восстановления после этой аварии или диск больше не используется? Обсудите ваш ответ для UNIX и FAT-стиля распределения дисковых блоков.

Любая информация о дискуссиях по этим вопросам приветствуется.

1 Ответ

1 голос
/ 07 апреля 2011

для c) накладных расходов на получение каталога / файла и данных, особенно актуальных при выделении памяти для нового файла, что приводит к поиску каждого inode и получению их file_size, разрешения и т. Д., Хороших, когда большое количество маленьких файлов требует многоместа это может стоить много памяти в начале диска.

...