- •Синхронизация скоростей обмена данными
- •Разделение устройств и данных между процессами
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Менеджер ввода-вывода
- •Способы доступа к устройствам ввода-вывода
- •Способы реализации ввода - вывода
- •Драйверы
- •Функции драйвера
- •Многоуровневые драйверы
- •Байт и Блок -ориентированность
- •Динамическая загрузка и выгрузка драйверов
- •Типы файлов
- •Создавать,
- •Иерархия файловой системы
- •Имена файлов
- •Монтирование
- •Атрибуты файлов
- •Вопросы по модулю №2
Типы файлов
Обычно ФС поддерживают несколько различных типов файлов:
Обычные файлы.
Каталоги.
Специальные файлы.
Конвейеры.
Отображаемые в память файлы и др.
Обычные файлы содержат произвольную информацию, изменяются прикладными или системными программами. ОС не ограничивает и не контролирует содержимое обычного файла. Все ОС должны уметь распознавать хотя бы один тип файлов — их собственные исполняемые файлы.
Каталоги — это тип файлов, содержащих системную справочную информацию о наборе файлов, сгруппированных пользователями по какому-либо признаку (например, в одну группу объединяются файлы, содержащие документы одного договора, или файлы, составляющие один программный пакет). В каталоги могут входить файлы любых типов, в том числе другие каталоги, за счет чего образуется древовидная структура, удобная для поиска. Каталоги устанавливают соответствие между именами файлов, их характеристиками и адресами на носителе, используемыми ФС для управления файлами.
Это следующая информация.
Тип файла.
Расположение его на диске.
Права доступа к файлу.
Дата его создания и модификации.
Во всех остальных случаях каталоги рассматриваются ФС как обычные файлы.
Специальные файлы
Понятие специального файла появилось в операционной системе UNIX.
Специальные файлы (виртуальные) - это унифицированное представление устройств I/O.
Они всегда связаны с некоторым устройством I/O и представляют его для остальной части ОС и прикладных процессов в виде набора байт.
Хранятся они, как и все остальные файлы во всех видах памяти.
Со специальным файлом можно работать так же, как и с обычным, то есть:
Создавать,
открывать,
считывать из него определенное количество байт,
записывать в него определенное количество байт,
закрывать после завершения операции.
Иерархия файловой системы
Большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет вложенности каталогов.
Граф, описывающий иерархию каталогов, может быть деревом или сетью.
Типы иерархии:
Дерево, если файлу разрешено входить только в один каталог.
Сеть — если файл может входить сразу в несколько каталогов.
Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX — сетевую.
Каталог самого верхнего уровня называется корневым каталогом, или корнем (root).
Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог.
Имена файлов
Все типы файлов имеют символьные имена. В иерархических ФС обычно используются три типа имен файлов:
простые,
составные,
относительные.
Простое, или короткое, идентифицирует файл в пределах одного каталога, и ограничиваются ОС на номенклатуру символов и на длину имени.
До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не может содержать более 14 символов, зато символы могут быть хоть «перевод каретки». В Linux имя ограничивается длиной блока на диске. А в файловых системах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.
Разным файлам разрешено иметь одинаковые простые имена только в разных каталогах.
Составное или Полное имя - цепочка простых имен всех каталогов от корня до файла. В нем простые имена отделены принятым в ОС разделителем. Часто в качестве разделителя используется прямой или обратный слеш, при этом принято не указывать имя корневого каталога.
В древовидной ФС у одного файла одно полное имя.
В сетевых ФС у одного файла много полных имен.
В обоих случаях файл однозначно идентифицируется полным именем.
Относительное имя файла определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов ФС является текущим.
Относительное имя = полное имя - имя текущего каталога.
В некоторых операционных системах разрешено присваивать одному и тому же файлу несколько простых имен, которые можно интерпретировать как псевдонимы.
ОС проще работать с файлом, если между файлом и именем имеется взаимно однозначное соответствие.
Уникальное имя. Это числовой идентификатор, предназначенный только для ОС.
Уникальное имя существует наряду с одним или несколькими символьными именами, присваиваемыми файлу пользователями или приложениями. Примером такого уникального имени файла является номер индексного дескриптора в системе UNIX.