Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7. Обработка информации и операции ввода...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
287.95 Кб
Скачать
  1. ОБРАБОТКА ИНФОРМАЦИИ И ОПЕРАЦИИ ВВОДА-ВЫВОДА. ОСНОВНЫЕ ПОНЯТИЯ И КОНЦЕПЦИИ ОРГАНИЗАЦИИ ВВОДА-ВЫВОДА. КЛАССИФИКАЦИЯ УСТРОЙСТВ ВВОДА-ВЫВОДА. ФИЗИЧЕСКИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ ВВОДА-ВЫВОДА. ОПРОС УСТРОЙСТВ И ПРЕРЫВАНИЯ. ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ И СИСТЕМНЫЕ ВЫЗОВЫ. ЛОГИЧЕСКИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ ВВОДА-ВЫВОДА. ФУНКЦИИ БАЗОВОЙ ПОДСИСТЕМЫ ВВОДА-ВЫВОДА

    1. Обработка информации и операции ввода-вывода. Основные понятия и концепции организации ввода-вывода в операционной системе.

Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработке информации и операций по осуществлению ее ввода-вывода.

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

Сложность проектирование ввода-вывода возникает из-за огромного числа устройств различной природы и назначения. Разработчик ввода-вывода должен решить две задачи:

  • обеспечить эффективное управление устройствами ввода-вывода;

  • создать удобный и эффективный интерфейс устройств ввода-вывода, позволяющий прикладным программистам просто считывать или сохранять данные.

Система ввода-вывода должна быть универсальной.

Главный принцип ввода/вывода – любые операции по управлению вводом-выводом объявляются привилегированными и могут выполняться только самой операционной системой.

Для обеспечения этого принципа в большинстве процессоров вводятся два режима:

  • режим пользователя, выполнение команд ввода/вывода запрещено;

  • режим супервизора, выполнение команд ввода/вывода разрешено.

Использование команд ввода/вывода в пользовательском режиме вызывает исключение (прерывание) и управление передается операционной системе.

Для мультипрограммных операционных систем одним из основных видов ресурсов являются устройства ввода-вывода и обслуживающие их программы. Операционные системы должны управлять разделяемыми и неразделяемыми устройствами и позволять параллельно выполняющимися задачам использовать различные устройства ввода-вывода.

Непосредственное обращение к внешним устройствам из пользовательских программ не разрешено по трем причинам:

  • возможные конфликты при доступе к устройствам ввода-вывода;

  • повышение эффективности использование этих ресурсов;

  • ошибки в программах ввода-вывода могут привести к разрушению системы.

Компонента операционной системы, выполняющая ввод-вывод называется супервизором ввода-вывода. Основные задачи супервизора следующие:

  • модуль супервизора операционной системы, иногда называемый супервизором задач, получает запросы от прикладных задач на выполнение тех или иных операций, в том числе на ввод-вывод. Эти запросы проверяются на корректность и, если они соответствуют спецификациям и не содержат ошибок, то обрабатываются дальше. В противном случае пользователю (задаче) выдается соответствующее диагностическое сообщение о недействительности (некорректности) запроса;

  • супервизор ввода-вывода получает запросы на ввод-вывод от супервизора задач или от программных модулей самой операционной системы;

  • супервизор ввода-вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод-вывод (определяет очередность предоставления устройств ввода-вывода задачам, затребовавшим эти устройства). Запрос на ввод-вывод либо тут же выполняется, либо ставится в очередь на выполнение;

  • супервизор ввода-вывода инициирует операции ввода-вывода (передает управление соответствующим драйверам) и в случае управления вводом-выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;

  • при получении сигналов прерываний от устройств ввода-вывода супервизор идентифицирует эти сигналы и передает управление соответствующим программам обработки прерываний;

  • супервизор ввода-вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода-вывода;

  • супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции.

Если устройство ввода-вывода является инициативным, управление со стороны супервизора ввода-вывода заключается в активизации соответствующего вычислительного процесса. Инициативное устройство – устройство, по сигналу прерывания от которого запускается соответствующая ему программа.

Имеются два основных режима ввода-вывода:

  • режим обмена с опросом готовности;

  • режим обмена с прерываниями.