русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файловая система FAT, структура диска.


Дата добавления: 2013-12-23; просмотров: 1143; Нарушение авторских прав


III. СЕМЕЙСТВО OC WINDOWS

Типы драйверов

Драйвера различаются по возможностям, которые они предоставляют, а также по тому, каким образом обеспечивается к ним доступ и управление. Можно рассматривать три основные типы драйверов:

· Символьные драйвера. Этот тип обеспечивает работу с устройствами с побайтовым доступом и обменом данными. К таким устройствам можно отнести модемы, терминалы, принтеры, мышь и т.д. Доступ к таким драйверам не включает использование буферного кэша, таким образом ввод и вывод как правило не буферизуется.

· Блочные драйвера. Этот тип драйверов позволяет производить обмен данными с устройством фиксированными порциями (блоками). Например, для жесткого диска данные модно адресовать и, соответственно, читать только секторами, размер которых составляет несколько сотен байтов. Для блочных драйверов обычно используется буферный кэш, который и является интерфейсом между файловой системой и устройством.

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

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

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

 

Главная загрузочная запись жёсткого диска (Master Boot Record) (MBR) находится в физическом секторе 1 дорожки 0 стороны 0. MBR содержит описатели логических разделов диска, включающие следущие признаки размещения томов жесткого диска:



1 байт – признак активного раздела (загружаемый, незагружаемый).

1 байт – номер начальной стороны раздела.

2 байта – номер начальной дорожки (10 бит) и начального сектора раздела (6 бит).

1 байт – тип раздела (тип таблицы размещения файлов 12-битовая FAT, 16-битовая FAT).

1 байт – номер последней стороны раздела.

2 байта – номер последней дорожки (10 бит) и последнего сектора раздела (6 бит).

- номер первого (загрузочного) сектора раздела относительно первого сектора диска.

- длина раздела в секторах.

Длина раздела в секторах до версии MS-DOS 4.0 выражалась двух байтовым числом. Этим определялось 32-Мбайт ограничение на размер тома. При выражении длины раздела 4-байтовым числом в последних версиях MS-DOS, предельный размер логического раздела жесткого диска равняется 2 Гбайта. Итак, главная загрузочная запись “отсылает” к загрузчику конкретной ОС.

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

число байт на сектор, число секторов на кластер, число зарезервированных секторов, число копий FAT, число записей в корневом каталоге, число секторов на диске, байт описания носителя, число секторов в FAT, число секторов на дорожку, число сторон диска, число скрытых секторов, число секторов логического диска, номер физического дисковода, признак расширенного загрузчика, серийный номер логического диска, метка диска, идентификатор файловой системы FAT 16. Конец любой загрузочной записи отмечается словом 55Aah.

Таблица размещения файлов находится вслед за загрузочным сектором, в ней описано физическое расположение всех файлов на диске. За FAT обычно следует её копия – второй FAT. Такое дублирование повышает надёжность хранения данных на диске. Единицей выделения дискового пространства в системе MS-DOS служит кластер – группа секторов. Размер кластера может составлять 1,2,4,8,16 секторов. Все кластеры диска имеют одинаковый размер. В FAT ровно столько записей, сколько кластеров на диске. Для дисков объемом менее 16 Мбайт одна запись в FAT занимает 16 бит при этом кластер равен восьми секторам. Для дисков большего объёма принят 16-битовый формат FAT. Объём кластера диска от 16 до 128 Мбайт – 4 сектора, более 128 Мбайт – 16 секторов, т.к. 16-битовая FAT описывает не более 65536 (2 ) кластеров. Первые две записи в FAT зарезервированы для описания формата диска, поэтому первый кластер в области дисковых данных пронумерован числом 2 (а не 0 или 1).

Если в ячейке FAT записано значение (0), то кластер пуст, любое другое значение соответствует номеру следующего по счету кластера текущего файла – кроме чисел, применяемых для последнего кластера файла, а также обозначений дефектного кластера (FF7h) и зарезервированного кластера (FF0h-FF6h). Что касается начального кластера файла, то о его номере мы узнаем из соответствующей этому файлу записи в каталоге. При записи и удалении файлов, модификации файлов и каталогов вносятся изменения в обе FAT.

Поскольку каждый файл независимо от своего размера занимает целое число записей FAT и целое число кластеров на диске, то последний кластер каждого файла обычно используется не полностью. Неиспользованная часть кластера, естественно, недоступна и для других файлов, она называется “хвостом”. Например, на 503-Мбайт диске (кластеры по 8 Кбайт), содержащем 6500 файлов, в “хвостах” останется примерно 26 Мбайт дискового пространства. К другим негативным явлениям, связанным с системой FAT, относится фрагментация файлов. По мере удаления старой информации в пространстве данных будет образовываться всё больше “провалов”. Новые файлы заполняют эти провалы, что приводит к прерывистости (фрагментации) файлов. Чем сильнее фрагментирован файл, тем больше времени уходит на его чтение.

Корневой каталог всегда занимает фиксированное место за второй копией FAT и состоит из ограниченного количества 32-байтных записей, каждая из которых содержит информацию о файле или подкаталоге, может также присутсвовать одна запись с меткой диска. В корневом каталоге большинства жестких дисков не может быть больше 512 записей. Каждая запись содержит (Name, Расширение, размер, дата создания, время, начальный кластер, атрибуты).

При удалении файла или подкаталога соответствующая ему запись не освобождается – просто её первый символ заменяется на байт с номером 229 (русская “х”). Корневой каталог системного диска обязательно начинается с записей IO.SYS и MS-DOS.SYS. Под значение размера файла в записи каталога отведено 4 байта, значит размер файла в MS-DOS ограничен размером 4 Гбайта.

Подкаталоги представляют собой файлы с атрибутами Dir. В любом подкаталоге первыми являются записи “.” (текущий каталог) и “..” (подкаталог) с атрибутами Dir.



<== предыдущая лекция | следующая лекция ==>
 | Виды и особенности наружной рекламы.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.