
- •Тема 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.4. Разделение устройств и данных между процессами
Устройства ввода-вывода могут предоставляться процессам как в монопольном, так и в разделенном режиме.
При этом ОС должна обеспечивать контроль доступа теми же способами, что и при доступе процессов к другим ресурсам вычислительной системы - путем проверки прав пользователя или группы пользователей, от имени которых действует процесс, на выполнение той или иной операции над устройством.
Операционные системы |
71 |

4.2.4. Разделение устройств и данных между процессами
ОС может контролировать доступ не только к устройству в целом, но и к отдельным порциям данных, хранимых этим устройством (например, диск). В последнем случае непременным является задание режима совместного использования устройства в целом.
Одно и то же устройство в разные периоды времени может использоваться как в разделяемом, так и монопольном режимах.
Операционные системы |
72 |

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

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

4.2.4. Разделение устройств и данных между процессами
Понятие виртуального устройства шире понятия спулинга. Спулинг – это имитация работы с устройством в режиме непосредственного подключения к нему).
Основное назначение спулинга — создать видимость разделения устройства ввода-вывода, которое фактически является устройством с последовательным доступом и должно использоваться только монопольно и быть закрепленным за процессом.
Системные процессы, которые управляют спул- файлом, называются спулером чтения (spool-reader) или спулером записи (spool-writer).
Операционные системы |
75 |

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

4.2.4. Разделение устройств и данных между процессами
Достаточно рационально организована работа с виртуальными устройствами в системах Windows 9x/NT/2000/XP компании Microsoft.
Пример - подсистема печати.
Microsoft различает термины «принтер» и «устройство печати».
Принтер — это некоторая виртуализация, объект операционной системы, а устройство печати — это физическое устройство, которое может быть подключено к компьютеру.
Принтер может быть локальным или сетевым.
Операционные системы |
77 |

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

4.2.4. Разделение устройств и данных между процессами
Если же некоторый локальный принтер предоставить в сети в общий доступ с теми или иными разрешениями, то для других компьютеров и их пользователей он может стать сетевым. Компьютер, на котором имеется локальный принтер, предоставленный в общий доступ, называется принт-сервером.
Операционные системы |
79 |

4.2.4. Разделение устройств и данных между процессами
Для получения управляющих кодов принтера устанавливается программное обеспечение (компания Microsoft называет его высокоуровневым драйвером).
Эти управляющие коды посылаются на устройство печати по соответствующему интерфейсу через назначенные принтеру порты и управляют работой устройства печати.
При получении операционной системой от приложения запроса на печать она выделяет для этого процесса виртуальный принтер.
Операционные системы |
80 |