Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_Drobin_doc.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.87 Mб
Скачать
  1. Задачи операционной системы по управлению файлами и устройствами ввода/вывода. Синхронный и асинхронный ввод/вывод.

Компоненты подсистемы ввода/вывода:

  • Драйверы

  • Файловая система (активно использует остальные части подсистемы ввода/вывода)

  • Частично диспетчер прерываний (ввод/вывод – основная нагрузка)

Задачи:

• Организация параллельной работы устройств ввода-вывода и процессора

• Согласование скоростей обмена и кэширования данных

• Разделение устройств и данных между процессами

• Обеспечение удобного логического интерфейса между устройствами и остальной частью системы

• Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера

• Динамическая загрузка и выгрузка драйверов

• Поддержка нескольких файловых систем

Поддержка синхронных и асинхронных операций ввода-вывода

Синхронный режим – модуль приостанавливает свою работу до завершения операции ввода-вывода. Характеризуется тем, что задача, выдавшая запрос на операцию ввода/вывода, переводится супервизором в состояние ожидания завершения указанной операции.

Асинхронный режим – модуль продолжает выполнятся в мультипрограммном режиме одновременно с операцией ввода-вывода. Простейший вариант– буферизованный вывод данных на внешнее устройство, при котором данные из приложения передаются не непосредственно на устройство ввода/вывода, а в специальный системный буфер.

Условия асинхронного вывода:

• в запросе на вывод было указано на необходимость буферизации данных;

• устройство вывода допускает асинхронные операции.

Для организации асинхронного ввода необходимо:

• выделить область памяти для временного хранения считываемых с устройства данных;

• связать выделенный буфер с задачей, заказавшей операцию ввода;

• запрос на операцию ввода разбить на две части (два запроса).

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

  1. Многослойная модель подсистемы ввода/вывода.

• Вертикальные и горизонтальные слои

• Менеджер ввода-вывода

• Многоуровневые драйверы (OSI)

- Входит в состав ядра, работает в привилегированном режиме

- Непосредственно управляет внешним устройством, взаимодействуя с контроллером

- Обрабатывает прерывания от контроллера

- Представляет прикладному прораммисту удобный логический интерфейс, изолируя от деталей

- Взаимодействует с другими модулями ядра ОС, через строго оговоренный интерфейс

Исключения: дисковый кэш, диспетчер графических окон и т.п.

  • Специальные файлы – унифицированное представление устройств ввода-вывода (логическая модель устройств)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]