Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
43
Добавлен:
30.04.2013
Размер:
16.33 Mб
Скачать

Примечания к физической организации vfs

  • Так как в разных системах Unix используются разные размеры блоков, то это может привести к некоторой несовместимости файловых систем на отдельных устройствах.

  • Программы, выполняемые под управлением системы Unix, не содержат никакой информации относительно внутреннего формата, в котором ядро хранит данные и, следовательно, данные в программах представляются как бесформатный поток данных.

  • Программы могут интерпретировать поток 6айтов по своему желанию, при этом любая интерпретация никак не будет связана с фактическим способом хранения данных в операционной системе.

  • Файловая система создается специальной командой mkfs, с помощью которой происходит организация файловой системы на некотором уст­ройстве, при этом пользователь должен указать количество блоков, по которому система рассчитает необходимое количество индексных узлов.

  • Поскольку при работе файловой системы происходит обмен между па­мятью и файлами, перед демонтированием файловой системы необхо­димо произвести принудительное сохранение информации из буферов на носители. Эта операция выполняется с помощью системной команды sync.

  • Поскольку каждому устройству в системе соответствует некоторый об­раз, называемый специальным файлом, то все специальные файлы принято размещать в катологе /dev. Связь между такими специальными фай­лами и системой осуществляется с помощью драйверов. Каждое добав­ление устройства в систему требует также добавления драйвера и специального файла описания, сопровождаемого системной командой добавления специального узла mknod.

  • Характерной чертой файловой системы Unix является проблема восстановления файловой системы. Эта проблема возникает оттого, что при некоторых ситуациях возможно нарушение адресации в индексных уз­лах с появлением висячих ссылок, то есть неадресуемых блоков. И на­оборот –появление блоков с множественными ссылками. Возможно также дублирование индексации блока в списке свободных и занятых блоков. Устранение таких сбоев ограниченно возможно путем длитель­ного тестирования файловой системы программой fsck. Работа этой про­граммы осуществляется в несколько этапов: проверка блоков и их коли­чества, тестирование системы ссылок, проверка свободных и занятых блоков и узлов.

Внутренняя структура VFS

Рис. 3.12 показывает внутреннюю структуру виртуальной файловой сис­темы.

На рисунке показаны в виде блоков: драйверы устройств вместе со своими компонентами; буфер-кэш вместе со своим демоном kflushd; вир­туальная файловая система, составленная из физических файловых систем, и системный интерфейс, предназначенный для организации взаимодейст­вия с VFS.

Зависимости от других подсистем ядра

На рис. 3.1 з показано, что файловая подсистема зависит от всех подсистем ядра. В частности, ее связи с сетевой подсистемой основаны на том, что фактически сокеты представляют собой дескрипторы файлов. Кон­троллер памяти зависит от файловой системы, так как она поддерживает процесс свопинга. IРС подсистема зависит от файловой системы вследст­вие поддержки каналов. Планировщик загружает процессы из файловой системы и т.п.

Кроме того, файловая система использует интерфейс сетевой подсисте­мы для поддержки сетевой файловой системы NFS; она также использует буферный кэш для организации работы виртуального диска; она использу­ет подсистему IPC для поддержки работы загружаемых модулей, и, нако­нец, она использует планировщик для размещения приостановленных про­цессов, пока они ожидают готовности оборудования.