
- •Тема 4: Подсистема ввода/вывода
- •Тема 4: Подсистема ввода/вывода
- •Тема 4: Подсистема ввода/вывода и файловые системы
- •4.1. Устройства ввода-вывода
- •Различия в характеристиках устройств ввода-вывода
- •Gigabit Ethernet
- •Состав устройств ввода/вывода
- •Состав устройств ввода/вывода
- •Состав устройств ввода/вывода
- •Контроллер
- •Контроллер
- •4.2. Основные функции подсистемы ввода-вывода
- •4.2. Основные функции подсистемы ввода-вывода
- •4.2. Основные функции подсистемы ввода-вывода
- •4.2. Основные функции подсистемы ввода-вывода
- •4.2.1.Основные функции подсистемы ввода-вывода
- •4.2.1. Основные функции подсистемы ввода-вывода
- •4.2.1. Основные функции подсистемы ввода-вывода
- •4.2.2. Организация параллельной работы устройств ввода-вывода и процессора
- •Текущая команда программы
- •1.Программируемый ввод-вывод без прерываний
- •Текущая команда программы
- •2. Ввод вывод, управляемый
- •2. Ввод вывод, управляемый прерываниями
- •2. Ввод вывод, управляемый прерываниями
- •2. Ввод вывод, управляемый прерываниями
- •Текущая команда программы
- •Работа1 DMA-контроллера
- •Работа1 DMA-контроллера
- •Работа1 DMA-контроллера
- •Работа1 DMA-контроллера
- •Этот механизм называется захватом цикла, потому что контроллер устройства периодически забирает случайный цикл
- •Работа1 DMA-контроллера
- •Работа1 DMA-контроллера
- •Работа1 DMA-контроллера
- •Устройства ввода
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •Время обработки блока данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование данных
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.3. Согласование скоростей обмена и кэширование
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.4. Разделение устройств и данных между процессами
- •4.2.5.Обеспечение логического интерфейса между устройствами
- •4.2.5.Обеспечение логического интерфейса между устройствами
- •4.2.6. Поддержка широкого спектра драйверов Разнообразный набор драйверов для широкого
- •4.2.6. Поддержка широкого спектра драйверов Поэтому существует два вида интерфейсов:
- •4.2.6. Поддержка широкого спектра драйверов Интерфейс «драйвер-ядро» должен быть
- •4.2.6. Поддержка широкого спектра драйверов Эти интерфейсы включают наборы процедур,
- •Функции драйвера
- •4.2.6. Поддержка широкого спектра драйверов
- •4.2.6. Поддержка широкого спектра драйверов
- •4.2.6. Поддержка широкого спектра драйверов
- •4.2.6. Поддержка широкого спектра драйверов
- •4.2.7. Динамическая выгрузка и загрузка драйверов
- •4.2.7. Динамическая выгрузка и загрузка драйверов
- •4.2.7. Динамическая выгрузка и загрузка драйверов
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8.Основные системные таблицы ввода вывода
- •4.2.8.Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8.Основные системные таблицы ввода вывода
- •4.2.8.Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8.Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.8. Основные системные таблицы ввода вывода
- •4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода
- •4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода
- •4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.2.8. Поддержка синхронных и асинхронных
- •4.3. Многослойная модель подсистемы ввода/вывода 4.3.1. Общая схема
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.Многослойная модель подсистемы ввода/вывода
- •4.3.2. Драйверы
- •4.3.2. Драйверы
- •4.3.2. Драйверы
- •4.3.2. Драйверы
- •4.3.2. Драйверы
- •4.3.2. Драйверы
- •4.3.2.Драйверы
- •4.3.2. Драйверы Однако не все устройства, управляемые
- •4.3.2. Драйверы
- •Драйверы
- •4.4.Файловая система
- •4.4.Файловая система
- •Задачи файловой системы
- •Требования к файловой системе со стороны пользователя диалоговой системы общего назначения
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.2. Архитектура файловой системы
- •4.4.3.Организация файлов и доступ к ним
- •4.4.3.Организация файлов и доступ к ним
- •4.4.3.Организация файлов и доступ к ним
- •4.4.3.Организация файлов и доступ к ним
- •4.4.3.Организация файлов и доступ к ним
- •4.4.3.Организация файлов и доступ к ним
- •Атрибут
- •4.4.3.2.Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •4.4.3.2. Логическая организация файлов
- •Индексно-последовательный файл
- •Индексно-последовательный файл
- •Индексно-последовательный файл
- •Индексно-последовательный файл
- •Индексированный файл
- •Полный
- •4.4.4. Каталоговые системы
- •4.4.4. Каталоговые системы
- •4.4.4.Каталоговые системы
- •4.4.4. Каталоговые системы
- •4.4.4.Каталоговые системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •Адресация блоков данных диска
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •Первичный раздел
- •4.6.Физическая организация файловой системы
- •4.6.Физическая организация файловой системы
- •4.6.2. Физическая организация и адресация файла
- •Связный список индексов
- •Связный список индексов - FAT
- •Связный список индексов - FAT
- •I- узел (index node)
- •Файловая система ОС UNIX ufs
- •Файловая система ОС UNIX ufs
- •Файловая система ОС UNIX ufs
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Пример
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Файловая система Windows 2000
- •Структура тома NTFS
- •Загрузочный блок
- •Структура файлов NTFS
- •Файлы NTFS в зависимости от способа размещения делятся на небольшие, большие, очень большие
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Структура файловой системы NTFS
- •Основные характеристики файловых систем
- •4. 7. Операции управления каталогами и файловые операции
- •4.7. Операции управления каталогами и файловые операции
- •4.7. Операции управления каталогами и файловые операции
- •4.7. Операции управления каталогами и файловые операции
- •4. 7. Операции управления каталогами и файловые операции
- •4.7. Операции управления каталогами и файловые операции
- •4. 7. Операции управления каталогами и файловые операции
- •4.7.2. Способы выполнения файловых операций
- •4.7.2. Способы выполнения файловых операций
- •4.7.2. Способы выполнения файловых операций
- •4.7.2. Способы выполнения файловых операций
- •Примеры системных вызовов для работы с файлами
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3.Контроль доступа к файлам и каталогам
- •4.7.3.Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •4.7.3. Контроль доступа к файлам и каталогам
- •Квоты дискового пространства
- •Квоты дискового пространства
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista
- •Системный загрузчик Windows NT/2000/XP/Vista

Физическая организация FAT
Загрузочный сектор раздела содержит:
•блок параметров диска, в котором содержится информация о разделе (размер, количество секторов, размер кластера, метка тома и др.);
•загрузочный код - программа, с которой начинается процесс загрузки операционной системы (для MS DOS и Windows 9x -файл Io.sys).
Загрузочные секторы логических дисков создаются программой Format. Они похожи на загрузочные диски разделов. Однако при загрузке выполняется код только того сектора, который находится в активном разделе.
Операционные системы |
223 |

Физическая организация FAT
Логический диск, отформатированный программой FORMAT, состоит из следующих областей:
•загрузочный сектор;
•основная FAT-таблица, содержащая информацию о размещении файлов и каталогов на диске;
•копия FAT-таблицы;
•корневой каталог - фиксированная область (16 Кбайт для жесткого диска), позволяющая хранить 512 записей о файлах и каталогах (каждая запись состоит из 32 байтов);
•область данных для размещения всех файлов и каталогов, кроме корневого каталога.
Первые две записи FAT зарезервированы и содержат информацию о самой FAT, все остальные указывают на соответствующие кластеры диска.
Операционные системы |
224 |

Физическая организация FAT
Размер FАТ-таблицы определяется количеством кластеров. Разрядность индексного указателя FАТ-таблицы должна быть такой, чтобы можно было задать максимальный номер кластера диска определенного объема.
В соответствии с разрядностью дискового указателя существует несколько разновидностей FAT: FAT12, FAT16, FAT32 (соответственно 212, 216 и 232 кластеров). Тип используемой FAT определяется программой Fdisk, хотя и записываются они в процессе форматирования высокого уровня программы Format.
На всех дискетах применяется FAT12, на жестких дисках до 512 Мбайт - FAT16, на жестких дисках, имеющих большую емкость при использовании Windows 95 OSR2 и Windows98 -FAT32 (вообще размер кластера может быть от 1 до 128 секторов или от 512 байт до 64 Кбайт).
Операционные системы |
225 |

Физическая организация FAT
Максимальный размер раздела FAT16 ограничен объемом 4 Гбайт (216 = 65536 кластеров по 64 Кбайт).
Максимальный размер раздела FAT32 практически не ограничен (232 кластеров по 32 Кбайт).
За копией FAT-таблицы следует корневой каталог - база данных, содержащая информацию о записанных на диске данных. Каждая запись в ней имеет длину 32 байта и содержит всю информацию о файле, которой располагает операционная система. Формат записи приведен ниже.
Информация о расположении файла, т. е. о расположении оставшихся кластеров, содержится в FAT- таблице. В процессе работы системы кластеры файла могут оказаться не в смежных областях, а будут чередоваться с кластерами других файлов. Однако эту цепочку кластеров легко выделить, зная начальный кластер файлов.
Операционные системы |
226 |

Физическая организация FAT
Загрузочный сектор (512 байт)
0 1 2 3
FAT 1
FAT 2 (копия)
Запись каталога (32 байт)
Root directory (512 записей)
0 1 2 3
Data
Индексные указатели, связанные с кластерами принимают значения:
кластер свободен (0000h); последний кластер файла (fff8h – ffffh); кластер поврежден (fff7h); резервный кластер (fff0h - fff6h), кластер используется (любое другое значение)
Формат каталога |
|
Длина поля |
Описание |
8 байт |
Имя файла |
3 байт |
Расширение файла |
1 байт |
Атрибуты файла |
1 байт |
Зарезервировано |
3 байт |
Время создания |
2 байт |
Дата создания |
2 байт |
Дата последнего доступа |
2 байт |
Зарезервировано |
2 байт |
Время последней модификации |
2 байт |
Дата последней модификации |
2 байт |
Начальный кластер |
4 байт |
Размер файла |
Операционные системы |
227 |

Пример |
|
|
|
|
|
File 1 |
|
17 |
FAT - |
|
|
|
|
|
|
||
таблицы |
|
|
|
|
|
File 2 |
|
41 |
16 |
19 |
|
23 |
21 |
22 |
42 |
29 |
23 |
24 |
|
|
|
|
Посл. |
|
|
31 |
32 |
|
|
|
|
|
|
|
39 |
40 |
20 |
43 |
44 |
Посл. |
|
|
|
|
|
Элементы, |
|
|
Элементы, |
|
|
||
|
указывающие на |
|
|
|
|
|||
|
|
|
указывающие на |
|
||||
|
кластеры файла 1 |
|
|
|
||||
|
|
|
кластеры файла 2 |
|||||
|
|
|
|
|
Операционные системы |
228 |

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

Физическая организация FAT
Позиция бита в шестнадцатеричном |
Значени |
Описание |
|||||||
|
|
|
формате |
|
|
|
е |
|
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
о |
1 |
01h |
Только чтение |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
02h |
Скрытый |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
04h |
Системный |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
08h |
Метка тома |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
10h |
Подкаталог |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
20h |
Архивный |
|
|
|
|
|
|
|
|
|
(измененный) |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
40h |
Зарезервирова |
|
|
|
|
|
|
|
|
|
но |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
80h |
Зарезервирова |
|
|
|
|
|
|
|
|
|
но |
|
|
|
|
|
Операционные системы |
|
230 |

Физическая организация FAT
Файловые системы FAT 12 и FAT 16 оперируют с именами файлов, составленных по схеме 8.3 (имя, расширение). В Windows 95 с появлением 32-разрядной виртуальной FAT-VFAT (Virtual file allocation table) поддерживаются имена длиной 255 символов.
Для обеспечения обратной совместимости ОС создает его псевдоним, удовлетворяющий стандарту 8.3. Делается это следующим образом:
1.Первые 3 символа после последней точки в длинном имени файла становятся расширением псевдонима.
2.Первые шесть символов длинного имени файла, за исключением пробелов, которые игнорируются, преобразуются в символы верхнего регистра и становятся шестью символами стандартного имени файла.
Операционные системы |
231 |

Физическая организация FAT
Недопустимые символы (+ ,; - []), которые могут использоваться в Windows 95, преобразуются в символы подчеркивания.
3. Добавляются символы ~1 (седьмой и восьмой) к псевдониму имени файла.
Если первые шесть символов нескольких файлов одни и те же, то добавляются символы ~2, ~3 и т. д.
VFAT хранит псевдонимы длинных имен в поле стандартных имен файлов записи каталога файла.
Таким образом, все версии DOS и Windows могут получить доступ к файлу под длинным именем с помощью его псевдонима.
Для хранения символов длинных имени файлов были добавлены дополнительные записи каталога.
Операционные системы |
232 |