РефератыИнформатикаФаФайловая система 2

Файловая система 2

Файловая система

Лекция 4


• Введение

Файловая система -
это часть ОС, обеспечивающей


- организацию хранения и доступа к информации на различных носителях


- пользовательский интерфейс при работе с данными


- совместное использование файлов несколькими пользователями и процессами.


2. Имена файлов Файлы

- Файловая система берет на себя организацию взаимодействия программ с файлами, расположенными на дисках.


- Для идентификации файлов используются имена.


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


2. Имена файлов Переход от коротких имен файлов к длинным

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


- Файловая система должна уметь предоставлять эквивалентные короткие имена (псевдонимы) файлам, имеющим длинные имена.


2. Имена файлов Символьные имена файлов

- Обычно разные файлы могут иметь одинаковые символьные имена.


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


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


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


- Уникальное имя представляет собой числовой идентификатор и используется программами операционной системы ( inode в Unix ).


3. Типы файлов

Файлы бывают разных типов:


- обычные файлы


- специальные файлы


- файлы-каталоги


3. Типы файлов Обычные файлы

- Обычные файлы в свою очередь подразделяются на текстовые и двоичные.


- Текстовые файлы
состоят из строк символов, представленных в ASCII-коде. Это могут быть документы, исходные тексты программ и т.п. Текстовые файлы можно прочитать на экране и распечатать на принтере.


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


3. Типы файлов Специальные файлы

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


- Эти команды обрабатываются вначале программами ФС, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством.


- Специальные файлы, так же как и устройства ввода-вывода, делятся на блок-ориентированные и байт-ориентированные.


3. Типы файлов Каталоги

- Каталог – это


- группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет)


- файл, содержащий системную информацию о группе файлов, его составляющих.


- В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).


3. Типы файлов Каталоги

В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:


- информация о разрешенном доступе,


- пароль для доступа к файлу,


- владелец файла,


- создатель файла,


- признак "только для чтения",


- признак "скрытый файл",


- признак "системный файл",


- признак "архивный файл",


3. Типы файлов Каталоги

- признак "двоичный/символьный",


- признак "временный" (удалить после завершения процесса),


- признак блокировки,


- длина записи,


- указатель на ключевое поле в записи,


- длина ключа,


- времена создания, последнего доступа и последнего изменения,


- текущий размер файла,


- максимальный размер файла.


3. Типы файлов Каталоги

- Каталоги могут непосредственно содержать значения характеристик файлов (MS-DOS) или ссылаться на таблицы, содержащие эти характеристики (ОС UNIX)


3. Типы файлов Каталоги

- Каталоги могут образовывать иерархическую структуру за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня.


- Иерархия каталогов может быть деревом или сетью.


- Каталоги образуют дерево, если файлу разрешено входить только в один каталог (MS-DOS), и сеть - если файл может входить сразу в несколько каталогов (UNIX)


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


3. Типы файлов Каталоги
4. Логическая организация файла

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


- Логическая запись
- это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством


4. Логическая организация файла

- Записи могут быть фиксированной длины или переменной длины.


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


- Для идентификации записи может быть использовано специальное поле записи, называемое ключом.


- В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей.


4. Логическая организация файла
5. Физическая организация и адрес файла

- Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске.


- Файл состоит из физических записей - блоков.


- Блок - наименьшая единица данных, которой внешнее устройство обменивается с оперативной памятью.


5. Физическая организация и адрес файла
5. Физическая организация и адрес файла

- Непрерывное размещение

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


- Для задания адреса файла в этом случае достаточно указать только номер начального блока.


- Другое достоинство этого метода - простота.


- Но имеются и два существенных недостатка:


- во время создания файла заранее не известна его длина, а значит не известно, сколько памяти надо зарезервировать для этого файла


- при таком порядке размещения неизбежно возникает фрагментация, и пространство на диске используется не эффективно, так как отдельные участки маленького размера (минимально 1 блок) могут остаться не используемыми


5. Физическая организация и адрес файла

- Размещение в виде связанного списка блоков дисковой памяти

(рисунок б ).


- В начале каждого блока содержится указатель на следующий блок.


- Адрес файла также может быть задан одним числом - номером первого блока.


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


- Недостатком является сложность реализации доступа к произвольно заданному месту файла
: чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков.


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


5. Физическая организация и адрес файла

- Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является использование связанного списка индексов

.


- С каждым блоком связывается некоторый элемент - индекс.


- Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT).


- Если некоторый блок распределен некоторому файлу, то индекс этого блока содержит номер следующего блока данного файла.


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


- для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока


- данные файла занимают блок целиком, а значит имеют объем, равный степени двойки.


6. Права доступа к файлу

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


- В разных файловых системах может быть определен свой список дифференцируемых операций доступа.


6. Права доступа к файлу

Список прав доступа к файлу может включать:


- создание файла,


- уничтожение файла,


- открытие файла,


- закрытие файла,


- чтение файла,


- запись в файл,


- дополнение файла,


- поиск в файле,


- получение атрибутов файла,


- установление новых значений атрибутов,


- переименование,


- выполнение файла,


- чтение каталога,


- и другие операции с файлами и каталогами.


6. Права доступа к файлу

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


- В некоторых системах пользователи могут быть разделены на отдельные категории.


- Для всех пользователей одной категории определяются единые права доступа.


Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.


6. Права доступа к файлу
6. Права доступа к файлу

Различают два основных подхода к определению прав доступа:


- избирательный доступ
, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;


- мандатный подход
, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.


6. Права доступа к файлу Linux

Особенности:


- Linux - это многопользовательская система: каждый файл является исключительной собственностью одного пользователя и одной группы.


- Каждый пользователь владеет личным каталогом (называемым домашним каталогом).


- Пользователь является владельцем этого каталога и всех создаваемых в нем файлов.


- С ними также ассоциируется группа, которая является основной группой, к которой принадлежит пользователь.


- Пользователь может быть членом нескольких групп одновременно.


- Как владелец файла, пользователь может устанавливать права на файлы.


6. Права доступа к файлу Linux

права распределяются между тремя категориями пользователей:


- владельцем файла;


- всеми пользователями, являющимися членами группы, ассоциированной с файлом (также называемой группой владельца), но не являющимися владельцами;


- остальными, куда входят все остальные пользователи, которые не являются ни владельцами, ни членами группы владельца.


6. Права доступа к файлу Linux

- Существует три разновидности прав:


- Права на чтение
(Read, r): пользователю разрешается читать содержимое файла. По отношению к каталогу это означает, что пользователь может просмотреть его содержимое (т.е. список файлов этого каталога).


- Права на запись
(Write, w): разрешает изменять содержимое файла. По отношению к каталогу право на запись дает пользователю возможность добавлять или удалять файлы из этого каталога, даже если он не является владельцем этих файлов.


- Права на выполнение
(eXecute, x): разрешает запуск файла (обычно только исполняемые файлы имеют этот тип прав доступа). По отношению к каталогу это дает пользователю возможность проходить его, что означает войти в этот каталог или пройти сквозь него. Обратите внимание, что это отличается от доступа на чтение: вы в состоянии пройти через каталог, но прочитать его содержимое все-таки не можете!


6. Права доступа к файлу Linux

- Возможны любые комбинации этих прав.


- Ниже представлено выполнение команды ls -l в командной строке:


ls -l


total 1


-rw-r----- 1 queen users 0 Jul 8 14:11 a_file


drwxr-xr-- 2 peter users 1 024 Jul 8 14:11 a_directory/


6. Права доступа к файлу Linux

- Есть одно исключение из этих правил - root.


- r oot может изменять атрибуты (права доступа, владельца и группу) всех файлов, даже если он не является владельцем, и поэтому сможет сделать себя владельцем файла!


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


- Если root'у не хватает прав, ему нужно просто добавить их.


- root имеет полный контроль над системой, что влечет за собой определенный уровень доверия к человеку, знающего его пароль.


6. Права доступа к файлу Linux

- Имя файла может содержать любые символы
, включая непечатаемые, за исключением ASCII-символа 0, который означает конец строки, и /, который является разделителем каталога. Кроме того, вследствие чувствительности к регистру в UNIX® файлы readme и Readme будут разными, потому что под буквами r и R в системах на базе UNIX® подразумеваются два разных символа.


- Имя файла не обязательно должно иметь расширение
, если только вам не захочется так называть свои файлы. В GNU/Linux расширения файлов не определяют их содержимого, а также на большинстве операционных систем. Тем не менее, так называемые «расширения файлов» довольно удобны. В UNIX® точка (.) - это просто один из символов, но он также имеет одно специальное назначение. В UNIX® фай

лы с именами, начинающимися с точки, являются «скрытыми»; это также касается и каталогов, чьи имена начинаются с .


7. Кэширование диска

- Кэш-память
, или просто кэш (cache), — это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, а с другой стороны, экономить более дорогую быстродействующую память.


7. Кэширование диска
7. Кэширование диска

- Неотъемлемым свойством кэш-памяти является ее прозрачность для программ и пользователей. Система не требует никакой внешней информации об интенсивности использования данных; ни пользователи, ни программы не принимают никакого участия в перемещении данных из ЗУ одного типа в ЗУ другого типа, все это делается автоматически системными средствами.


- Кэш-памятью, или кэшем, называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств — «быстрое» ЗУ
. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем. «Медленное» ЗУ далее будем называть основной памятью, противопоставляя ее вспомогательной кэш-памяти.


7. Кэширование диска

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


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


- Каждый буфер пула имеет размер, равный одному блоку.


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


- Операция ввода-вывода считается выполненной, хотя физического обмена с устройством не происходило.


- Очевиден выигрыш во времени доступа к файлу.


- Если же нужный блок в буферном пуле отсутствует, то он считывается с устройства и одновременно с передачей запрашивающему процессу копируется в один из буферов подсистемы буферизации.


- При отсутствии свободного буфера на диск вытесняется наименее используемая информация.


- Таким образом, подсистема буферизации работает по принципу кэш-памяти.


8. Общая модель файловой системы

Функционирование любой ФС можно представить многоуровневой моделью:


- Каждый уровень модели предоставляет некоторый интерфейс (набор функций) вышележащему уровню


- Каждый уровень модели для выполнения своей работы использует интерфейс (обращается с набором запросов) нижележащего уровня


8. Общая модель файловой системы
8. Общая модель файловой системы Символьный уровень

- Задача: определение по символьному имени файла его уникального имени.


- В ФС, в которых каждый файл может иметь только одно символьное имя (MS-DOS), этот уровень отсутствует, так как символьное имя является одновременно уникальным и может быть использовано ОС.


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


- В ФС UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).


8. Общая модель файловой системы Базовый уровень

- По уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.


- Характеристики файла могут входить в состав каталога или храниться в отдельных таблицах.


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


- В некоторых ФС (например, HPFS) при открытии файла вместе с его характеристиками в оперативную память перемещаются несколько первых блоков файла, содержащих данные.


8. Общая модель файловой системы Уровень проверки прав доступа

- Сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу


- Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается


- Если нет – выдается сообщение о нарушении прав доступа


8. Общая модель файловой системы Логический уровень

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


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


- Алгоритм работы данного уровня зависит от логической организации файла. Например, если файл организован как последовательность логических записей фиксированной длины l, то n-ая логическая запись имеет смещение l (n-1)
байт.


- Для определения координат логической записи в файле с индексно-последовательной организацией выполняется чтение таблицы индексов (ключей), в которой непосредственно указывается адрес логической записи.


8. Общая модель файловой системы Физический уровень

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


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


- Задача физического уровня решается независимо от того, как был логически организован файл.


8. Общая модель файловой системы Физический уровень
8. Общая модель файловой системы Обращение к подсистеме ввода-вывода

- После определения номера физического блока, ФС обращается к системе ввода-вывода для выполнения операции обмена с внешним устройством
.


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


9. Отображаемые в память файлы

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


- По этой причине некоторые ОС, обеспечивают отображение файлов в адресное пространство выполняемого процесса.


- Это выражается в появлении двух новых системных вызовов
: MAP (отобразить) и UNMAP (отменить отображение).


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


9. Отображаемые в память файлы Пример

- Предположим, что файл f имеет длину 64 К и отображается на область виртуального адресного пространства с начальным адресом 512 К.


- После этого любая машинная команда, которая читает содержимое байта по адресу 512 К, получает 0-ой байт этого файла и т.д.


- Очевидно, что запись по адресу 512 К + 1100 изменяет 1100 байт файла.


- При завершении процесса на диске остается модифицированная версия файла, как если бы он был изменен комбинацией вызовов SEEK и WRITE.


9. Отображаемые в память файлы Пример

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


- Таким образом, чтение по адресу 512 К вызывает страничный отказ, в результате чего страница 0 переносится в физическую память.


- Аналогично, запись по адресу 512 К + 1100 вызывает страничный отказ, в результате которого страница, содержащая этот адрес, перемещается в память, после чего осуществляется запись в память по требуемому адресу.


- Если эта страница вытесняется из памяти алгоритмом замены страниц, то она записывается обратно в файл в соответствующее его место.


- При завершении процесса все отображенные и модифицированные страницы переписываются из памяти в файл.


9. Отображаемые в память файлы Пример

- Отображение файлов лучше всего работает в системе, которая поддерживает сегментацию.


- В такой системе каждый файл может быть отображен в свой собственный сегмент, так что k-ый байт в файле является k-ым байтом сегмента.


- На рисунке (а) изображен процесс, который имеет два сегмента-кода и данных.


- Предположим, что этот процесс копирует файлы. Для этого он сначала отображает файл-источник, например, abc. Затем он создает пустой сегмент и отображает на него файл назначения, например, файл ddd.


9. Отображаемые в память файлы Пример
9. Отображаемые в память файлы Пример

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


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


9. Отображаемые в память файлы Пример

- Хотя отображение файлов исключает потребность в выполнении ввода-вывода и тем самым облегчает программирование, этот способ порождает и некоторые новые проблемы.


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


- Проще указать наибольший номер записанной страницы, но нет способа узнать, сколько байт в этой странице было записано.


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


- Быть может, файл состоит из 10 нулей. А может быть, он состоит из 100 нулей. Как это определить?


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


9. Отображаемые в память файлы Пример

- Вторая проблема проявляется (потенциально), если один процесс отображает файл, а другой процесс открывает его для обычного файлового доступа
.


- Если первый процесс изменяет страницу, то это изменение не будет отражено в файле на диске до тех пор, пока страница не будет вытеснена на диск.


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


9. Отображаемые в память файлы Пример

- Третья проблема состоит в том, что файл может быть больше, чем сегмент, и даже больше, чем все виртуальное адресное пространство
.


- Единственный способ ее решения состоит в реализации вызова MAP таким образом, чтобы он мог отображать не весь файл, а его часть. Хотя такая работа, очевидно, менее удобна, чем отображение целого файла.


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

- Разработчики ОС стремятся обеспечить пользователя возможностью работать сразу с несколькими ФС.


- В современном понимании ФС состоит из многих составляющих, в число которых входят и ФС в традиционном понимании.


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

- Современная файловая система имеет многоуровневую структуру (рисунок 4.9), на верхнем уровне которой располагается так называемый переключатель файловых систем (в Windows 95, например, такой переключатель называется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.


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

- Каждый компонент уровня файловых систем выполнен в виде драйвера соответствующей файловой системы и поддерживает определенную организацию файловой системы.


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


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


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

- Для выполнения своих функций драйверы файловых систем обращаются к подсистеме ввода-вывода, образующей следующий слой файловой системы новой архитектуры.


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


- Обычно эти модули представляют собой драйверы портов, которые непосредственно занимаются работой с аппаратными средствами.


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


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

- Подсистема ввода-вывода должна постоянно присутствовать в памяти и организовывать совместную работу иерархии драйверов устройств.


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


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

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


- Многоуровневый механизм работы файловой системы реализован посредством цепочек вызова.


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

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


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


- По мере выполнения запроса, подсистема ввода-вывода последовательно вызывает все функции, ранее помещенные в цепочку вызова.


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Файловая система 2

Слов:4502
Символов:32381
Размер:63.24 Кб.