
- •Тема 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

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода Внутренние вызовы операций ввода-вывода из
модулей ядра обычно выполняются в виде асинхронных процедур, так как кодам ядра нужна свобода в выборе дальнейшего поведения после запроса ввода-вывода.
Операционные системы |
131 |

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода Асинхронный ввод-вывод характерен для
большинства мультипрограммных операционных систем, особенно если операционная система поддерживает мультизадачность с помощью механизма потоков выполнения.
Если асинхронный ввод-вывод в явном виде отсутствует, его можно реализовать программно, организовав для вывода данных отдельный поток выполнения.
Операционные системы |
132 |

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода Аппаратуру ввода-вывода можно рассматривать как
совокупность аппаратных процессоров, способных работать параллельно друг другу, а также параллельно центральному процессору (процессорам).
На таких «процессорах» выполняются так называемые внешние процессы.
Операционные системы |
133 |

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

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода
Внешние процессы, используя аппаратуру ввода- вывода, взаимодействуют как между собой, так и с обычными «программными» процессами, выполняющимися на центральном процессоре.
Скорости выполнения внешних процессов существенно (порой на порядок или больше) отличаются от скорости выполнения обычных (внутренних) процессов.
Операционные системы |
135 |

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода
Для своей нормальной работы внешние и внутренние процессы должны синхронизироваться.
Для сглаживания эффекта значительного несоответствия скоростей между внутренними и внешними процессами используют буферизацию.
Операционные системы |
136 |

4.3. Многослойная модель подсистемы ввода/вывода 4.3.1. Общая схема
При большом разнообразии устройств ввода- вывода, обладающих существенно различными характеристиками, иерархическая структура подсистемы ввода-вывода позволяет соблюсти баланс между двумя противоречивыми требованиями.
С одной стороны, необходимо учесть все особенности каждого устройства, а с другой стороны, обеспечить единое логическое представление и унифицированный интерфейс для устройств всех типов.
Операционные системы |
137 |

4.3.Многослойная модель подсистемы ввода/вывода
4.3.1.Общая схема
При этом нижние слои подсистемы ввода- вывода должны включать индивидуальные драйверы, написанные для конкретных физических устройств, а верхние слои должны обобщать процедуры управления этими устройствами, предоставляя общий интерфейс если не для всех устройств, то по крайней мере для группы устройств, обладающих некоторыми общими характеристиками, например, для принтеров определенного производителя или для всех матричных принтеров и т. п.
Операционные системы |
138 |

|
|
4.3. Многослойная модель подсистемы ввода-вывода |
||||||||
|
|
|
Дисковые |
устройства |
Графические устройства |
Сетевые |
устройства |
|||
|
|
|
|
Системные |
|
вызовы |
|
|
|
|
|
буферизация, синхронизация, к другим |
|
Блок-ориентированный интерфейс |
Байт-ориентированный интерфейс |
|
|||||
Межмодульный обмен, связывание, |
|
|
VFS |
|
Диспетчер окон |
HTTP |
FTP |
SMB |
||
|
|
|
|
|
Высокоуровневые |
|
|
|
||
|
UFS |
NTFS |
FAT |
графические драйверы |
TCP/UDP |
SPX |
||||
|
|
|||||||||
|
Дисковый кэш |
Низкоуровневые |
IP |
IPX |
NetBEUI |
|||||
|
|
|
|
|||||||
подсистемам |
|
|
|
|
графические |
|
|
|
||
|
|
|
|
драйверы |
|
|
|
|||
Драйвер HD |
Драйвер FD |
|
Ethernet |
FR |
ATM |
|||||
|
|
|
|
|
|
|
|
|||
|
|
|
Диспетчер прерываний, |
функции доступа к |
аппаратуре |
|
|
|||
Контроллеры |
|
|
|
|
|
|
|
|||
устройств ввода- |
|
|
|
|
|
|
|
|||
|
вывода |
|
|
|
|
|
|
|
||
|
|
|
|
|
Диски |
Операционные системы |
|
|
|
|
|
|
|
|
|
|
|
|
|

4.3.Многослойная модель подсистемы ввода/вывода
4.3.1.Общая схема
Как видно из рисунка, программное обеспечение подсистемы ввода-вывода делится не только на горизонтальные слои, но и на вертикальные. В данном случае в качестве примера приведены три вертикальные подсистемы управления дисками, графическими устройствами и сетевыми адаптерами. Естественно таких подсистем может быть больше.
Операционные системы |
140 |