Внесенная в цепочку вызова процедура драйвера может решить передать запрос дальше - в измененном или в неизмененном виде - на следующий уровень, или, если это возможно, процедура может удовлетворить запрос, не передавая его дальше по цепочке.
Приложение 1. Файловая система FAT
Файловая система FAT (FileAllocationTable) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 году и первоначально использовалась в операционной системе 86- DOS. Чтобы добиться переносимости программ из операционной системы СР/М в 86-DOS. в ней были сохранены ранее принятые ограничения на имена файлов. В дальнейшем 86-DOSбыла приобретена Microsoftи стала основой для ОС MS-DOS1.0. выпущенной в августе 1981 года. FATбыла предназначена для работы с гибкими дисками размером менее 1 Мбайта, и вначале не предусматривала поддержки жестких дисков. В настоящее время FATподдерживает файлы и разделы размеров до 2 Гбайт.
В FATприменяются следующие соглашения по именам файлов:
• имя должно начинаться с буквы или цифры и может содержать любой символ ASCII, за исключением пробела и символов "А[]:;|=,А*?
• Длина имени не превышает 8 символов, за ним следует точка и необязательное расширение длиной до 3 символов.
• регистр символов в именах файлов не различается и не сохраняется.
Структура раздела FATизображена на рисунке 1. В блоке параметров BIOSсодержится необходимая BIOSинформация о физических характеристиках жесткого диска. Файловая система FATне может контролировать отдельно каждый сектор, поэтому она объединяет смежные сектора в кластеры(clusters).Таким образом, уменьшается общее количество единиц хранения, за которыми должна следить файловая система. Размер кластера в FATявляется степенью двойки и определяется размером тома при форматировании диска (табл. 1.1). Кластер представляет собой минимальное пространство, которое может занимать файл. Это приводит к тому, что часть пространства диска расходуется впустую. В состав операционной системы входят различные утилиты (DoubleSpace, DriveSpace), предназначенные для уплотнения данных на диске.
Загрузочный сектор FATКорневой Область
Блок параметров BIOS(ВРВ)FAT(копия) каталог файлов
Свое название FATполучила от одноименной таблицы размещения файлов. В таблице размещения файлов хранится информация о кластерах логического диска. Каждому кластеру в FATсоответствует отдельная запись, которая показывает, свободен ли он. занят ли данными файла, или помечен как сбойный (испорченный). Если кластер занят под файл, то в соответствующей записи в таблице размещения файлов указывается адрес кластера, содержащего следующую часть файла. Из-за этого FATназывают файловой системой со связанными списками. Оригинальная версия FAT, разработанная для DOS1.00. использовала 12-битную таблицу размещения файлов и поддерживала разделы объемом до 16 Мб (в DOSможно создать не более двух разделов FAT). Для поддержки жестких дисков размером более 32 Мб разрядность FATбыла увеличена до 16 бит. а размер кластера - до 64 секторов (32 Кб). Так как каждому кластеру может быть присвоен уникальный 16-разрядный номер, то FATподдерживает максимально 2*6, или 65536 кластеров на одном томе.
Размер раздела | Размер кластера | Тин FAT |
< 16 Мб | 4 Кб | FAT 12 |
16 Мб- 127 Мб | 2 Кб | FAT 16 |
128 Мб-255 Мб | 4 Кб | FAT 16 |
256 Мб-511 Мб | 8 Кб | FAT 16 |
512 Мб-1023 Мб | 16 Кб | FAT 16 |
1 Г6-2Г6 | 32 Кб | FAT 16 |
Таблица 1. |
Поскольку загрузочная запись слишком мала для хранения алгоритма поиска системных файлов на диске, то системные файлы должны находиться в определенном месте, чтобы загрузочная запись могла их найти. Фиксированное положение системных файлов в начале области данных накладывает жесткое ограничение на размеры корневого каталога и таблицы размещения файлов. Вследствие этого общее число файлов и подкаталогов в корневом каталоге на диске FATограничено 512.
Каждому файлу и подкаталогу в FATсоответствует 32-байтный элемент каталога (directoryentry), содержащий имя файла, его атрибуты (архивный, скрытый, системный и "только для чтения"), дату и время создания (или внесения в него последних изменений), а также прочую информацию (табл. 2).
Содержание | Размер(байт) |
Имя файла | 8 |
Расширение | 3 |
Байт атрибутов | 1 |
Зарезервировано | 10 |
Время | 2 |
Дата | 2 |
Номер начального кластера с | 2 |
данными | |
Размер файла | 4 |
Табл. 2 Элемент каталога |
Файловая система FATвсегда заполняет свободное место на диске последовательно от начала к концу. При создании нового файла или увеличении уже существующего она ищет самый первый свободный кластер в таблице размещения файлов. Если в процессе работы одни файлы были удалены, а другие изменились в размере, то появляющиеся в результате пустые кластеры будут рассеяны по диску. Если кластеры, содержащие данные файла, расположены не подряд, то файл оказывается фрагментированным. Сильно фрагментированные файлы значительно снижают эффективность работы, так как головки чтения/записи при поиске очередной записи файла должны будут перемещаться от одной области диска к другой. В состав операционных систем, поддерживающих FAT, обычно входят специальные утилиты дефрагментации диска, предназначенные повысить производительность файловых операций.
Еще один недостаток FATзаключается в том, что ее производительность сильно зависит от количества файлов, хранящихся в одном каталоге. При большом количестве файлов (около тысячи), выполнение операции считывания списка файлов в каталоге может занять несколько минут. Это обусловлено тем, что в FATкаталог имеет линейную неупорядоченную структуру, и имена файлов в каталогах идут в порядке их создания. В результате, чем больше в каталоге записей, тем медленнее работают программы, так как при поиске файла требуется просмотреть последовательно все записи в каталоге.
Поскольку FATизначально проектировалась для однопользовательской операционной системы DOS, то она не предусматривает хранения такой информации, как сведения о владельце или полномочия доступа к файлу/каталогу.
FATявляется наиболее распространенной файловой системой и ее в той или иной степени поддерживают большинство современных ОС. Благодаря своей универсальности FATможет применяться на томах, с которыми работают разные операционные системы.
Хотя нет никаких препятствий использовать при форматировании дискет любую другую файловую систему, большинство ОС для совместимости используют FAT. Отчасти это можно объяснить тем, что простая структура FATтребует меньше места для хранения служебных данных, чем остальные системы. Преимущества других файловых систем становятся заметны только при использовании их на носителях объемом более 100 Мб.
Надо отметить, что FAT- простая файловая система, не предотвращающая порчи файлов из- за ненормального завершения работы компьютера. В состав операционных систем, поддерживающих FAT, входят специальные утилиты проверяющие структуру и корректирующие несоответствия в файловой системе.
Приложение 2. Файловая системаFAT32 FAT32
FAT32 - файловая система, производная системы FAT. FAT32 поддерживает меньшие размеры кластеров, что позволяет более эффективно использовать дисковое пространство по сравнению с FAT. Это файловая система используется в современных операционных системах на DOSоснове - Windows98 и WindowsMe.
FAT- FileAllocationTable(таблица размещения файлов) - этот термин относится к одному из способов организации файловой системы на диске. Эта таблица хранит информацию о файлах на жестком диске в виде последовательности чисел, определяющих, где находится каждая часть каждого файла. С ее помощью операционная система выясняет, какие кластеры занимает нужный файл. FAT- является самой распространенной файловой системой и поддерживается подавляющим большинством операционных систем. Сначала FATбыла 12- разрядной и позволяла работать с дискетами и логическими дисками объемом не более 16 Мбайт. В MS-DOSверсии 3.0 таблица FATстала 16-разрядной для поддержки дисков большей емкости, а для дисков объемом до 2 047 Гбайт используется 32-разрядная таблица FAT.
Система FAT32 - более новая файловая система на основе формата FAT, она поддерживается Windows95 OSR2. Windows98 и WindowsMillenniumEdition. FAT32 использует 32-разрядные идентификаторы кластеров, но при этом резервирует старшие 4 бита, так что эффективный размер идентификатора кластера составляет 28 бит. Поскольку максимальный размер кластеров FAT32 равен 32 Кбайт, теоретически FAT32 может работать с 8-терабайтными томами. Windows2000 ограничивает размер новых томов FAT32 до 32 Гбайт, хотя поддерживает существующие тома FAT32 большего размера (созданные в других операционных системах). Большее число кластеров, поддерживаемое FAT32, позволяет ей управлять дисками более эффективно, чем FAT16. FAT32 может использовать 512-байтовые кластеры для томов размером до 128 Мбайт.
Файловая система FAT32 в Windows98 используется в качестве основной. С этой операционной системой поставляется специальная программа преобразования диска из FAT16 в FAT32. Windows2000 и WindowsХР тоже могут использовать файловую систему FAT, 1-1 поэтому можно загрузить компьютер с DOS-диска и иметь полный доступ ко всем файлам. Однако некоторые из самых прогрессивных возможностей Windows2000 и WindowsХР обеспечиваются ее собственной файловой системой NTFS (NTFileSystem). NTFSпозволяет создавать на диске разделы объемом до 2 Тбайт (как и FAT32), но. кроме этого, в нее встроены функции сжатия файлов, безопасности и аудита, необходимые при работе в сетевой среде. А в Windows2000, как и в WindowsХР реализуется поддержка файловой системы FAT32. Данные этих операционных систем можно хранить на диске FAT, но по желанию пользователя диск может быть конвертирован в формат NTFS.