Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Современные архитектуры файловых систем



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

Новая ФС имеет многоуровневую структуру (см. рис. 7), на верхнем уровне которой располагается так называемый переключатель ФС.

Рис. 7. Архитектура современной файловой системы.

Он обеспечивает интерфейс между запросами приложения и конкретной ФС, к которой обращается это приложение. Переключатель ФС преобразует запросы в формат, воспринимаемый следующим уровнем – уровнем ФС.

Каждый компонент уровня ФС выполнен в виде драйвера соответствующей ФС и поддерживает определенную организацию ФС. Переключатель является единственным модулем, который может обращаться к драйверу ФС. Приложение не может обращаться к нему напрямую. Каждый драйвер ФС в процессе собственной инициализации регистрируется у переключателя, передавая ему таблицу точек входа, которые будут использоваться при последующих обращениях к ФС.

Для выполнения своих функций драйверы ФС обращаются к подсистеме ввода-вывода, образующей следующий слой ФС новой архитектуры. Подсистема ввода-вывода – это составная часть ФС, которая отвечает за загрузку, инициализацию и управление всеми модулями низших уровней ФС. Обычно эти модули представляют собой драйверы портов, которые непосредственно занимаются работой с аппаратными средствами. Кроме этого подсистема ввода-вывода обеспечивает некоторый сервис драйверам ФС, что позволяет им осуществлять запросы к конкретным устройствам. Подсистема ввода-вывода должна постоянно присутствовать в памяти и организовывать совместную работу иерархии драйверов устройств. В эту иерархию могут входить драйверы устройств определенного типа (драйверы жестких дисков или накопителей на лентах), драйверы, поддерживаемые поставщиками (такие драйверы перехватывают запросы к блочным устройствам и могут частично изменить поведение существующего драйвера этого устройства, например, зашифровать данные), драйверы портов, которые управляют конкретными адаптерами.

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

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

Внесенная в цепочку вызова процедура драйвера может решить передать запрос дальше – в измененном или в неизмененном виде – на следующий уровень, или, если это возможно, процедура может удовлетворить запрос, не передавая его дальше по цепочке.





Дата публикования: 2014-12-28; Прочитано: 246 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...