
- •Тема 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.9. Поддержка синхронных и асинхронных операций ввода-вывода
При асинхронном режиме ввода-вывода процесс продолжает выполняться в мультипрограммном режиме одновременно с операцией ввода-вывода (нижняя диаграмма).
Операционные системы |
121 |

4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
ПроцессорP2 |
|
|
|
|
Завершение операции |
|
|
|
|
ввода-вывода |
|
P1 |
P2 |
P3 |
P2 |
P3 |
P1 |
Контроллер |
|
Операция ввода- |
|
Синхронизация (событие, |
|
Процессор |
|
|
вывода |
|
|
|
|
|
Мьютекс) |
||
|
|
|
|
|
|
P1 |
P1 |
P2 |
P3 |
P1 |
P1 |
Контроллер |
Операция ввода- |
|
|
вывода |
|
|
Операционные системы |
122 |

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

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

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

4.2.8. Поддержка синхронных и асинхронных
операций ввода-вывода В первом запросе указывается операция на
считывание данных, подобно тому как это делается при синхронном вводе-выводе, однако тип (код) запроса используется другой, и в запросе указывается еще по крайней мере один дополнительный параметр
— имя (код) системного объекта, которое получает процесс в ответ на запрос и которое идентифицирует выделенный буфер.
Операционные системы |
126 |

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

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

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

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