Лабораторная работа на тему: «Система управления вводом-выводом»


Лабораторная работаТема: «Система управления вводом-выводом»1 ОБЩИЕ МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ
Цель работы: знакомство с организацией ввода-вывода средствами операционной системы.
1.2 В результате выполнения лабораторной работы студент должен знать:
•понятие «канал управления»;
•типы управления периферийными устройствами;
•понятие «супервизор ввода-вывода».
1.3 Используемые программно-технические средства:
Персональная ЭВМ класса IBM PC стандартной конфигурации; операционная система Windows XP/7, Microsoft Office 2007.
1.4 В процессе выполнения лабораторной работы студент должен:
изучить теоретический материал;
подготовить отчет по лабораторной работе;
отчитаться по исполненному заданию.
Перед выполнением лабораторной работы каждый студент обязан изучить правила техники безопасности при работе в помещении с электронно-вычислительной техникой.
1.5 Указания по оформлению отчета:
Отчет должен содержать: титульный лист, цель работы; ответы на контрольные вопросы; описание последовательности действий необходимых для выполнения задания на лабораторную работу; выводы.
1.6 Указания по сдаче зачета преподавателю
Для сдачи зачета необходимо:
1) предъявить отчет;
2) ответить на контрольные вопросы.
2 ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ
Периферийные устройства (ПУ) можно разделить на устройства ввода-вывода и запоминающие устройства. И те, и другие могут осуществлять ввод и/или вывод.
Ввод – это считывание данных с носителей информации в оперативную память. Вывод – перенос данных из ОП на носители информации.
Аппаратура различных ЭВМ существенно отличается по техническим и функциональным характеристикам, часто возникает потребность менять её количество и состав. В составе любой ОС имеется специальная подсистема управления аппаратурой ввода-вывода, избавляющая пользователя от необходимости знания множества деталей взаимодействия между программами и ПУ. Основной задачей этой подсистемы в мультипрограммном режиме является организация двусторонней высокоскоростной передачи данных между ОП и ПУ с целью достижения максимального перекрытия во времени работы аппаратуры ввода-вывода и ЦП. При этом реализуется принцип независимости от устройств, подразумевающий унифицированный интерфейс для доступа к различным по своим физическим характеристикам ПУ.Несмотря на различия в подсистемах управления вводом-выводом, все ОС включают следующую концепцию: устройства ввода-вывода рассматриваются как совокупность аппаратурных процессоров, способных работать параллельно относительно друг друга и относительно ЦП. На таких процессорах развиваются внешние процессы, взаимодействующие между собой и с программными процессами, при этом скорости развития внешних и программных процессов могут различаться на порядок.
Система управления вводом-выводом (СУВВ) представляет собой один или несколько системных процессов, обеспечивающих информационное и управляющее взаимодействие между внутренними и внешними процессами. Через эту подсистему происходит инициация, управление и уничтожение внешних процессов. С точки зрения программных процессов пользователей СУВВ представляет собой программный интерфейс с необходимыми для них ПУ. В рамках этого интерфейса пользователь формирует запросы на выполнение следующих действий в отношении ПУ:
операции чтения и записи данных в отношении адресуемого ПУ;
операции управления устройством;
операции по проверке состояния устройства.
Большинство компонентов СУВВ «невидимы» для пользователя.
В зависимости от степени автономности от ЦП можно выделить два типа управления ПУ.
Прямой метод основан на непосредственной связи ЦП и ПУ и предполагает наличие в составе команд процессора специальных команд по инициированию работы, проверке готовности, останову, записи информации и т.д.
Состояние устройства определяется с помощью так называемого флажка занятости, программно доступного ЦП. Если устройство занято (флажок установлен), то адресуемая этому устройству команда блокируется до его освобождения. ЦП в это время может выполнять счетную работу.
Этот метод управления нельзя использовать в мультипрограммном режиме. Задача совмещения работы ЦП и ПУ ложится на программиста.
Косвенный метод состоит в том, что между ЦП и ПУ помещается канал – специальный процессор, который фактически управляет вводом-выводом. С ЦП снимаются несвойственные ему функции по управлению ПУ, остаются лишь функции управления каналом. ЦП только инициирует ввод-вывод, а затем может выполнять свои программы (до момента окончания процесса ввода-вывода). При этом ЦП, канал и ПУ по мере развития внешнего процесса работают параллельно.
Для синхронизации параллельной работы ЦП и канала используют различные средства. В простейшем случае это флажок, в других случаях ЦП может быть доступна расширенная статусная информация о состоянии канала, контроллера и устройства. Такие средства предполагают некоторую периодичность проверок занятости канала со стороны ЦП.
Более совершенным механизмом является использование прерываний. Канал через систему прерываний прерывает работу ЦП всякий раз при завершении операции ввода-вывода или при возникновении ошибки. Здесь сигнал прерывания является по смыслу синхронизирующим, т.к. используется для оповещения определенного программного процесса о событии, которое произошло при работе канала или ПУ (например, при завершении печати страницы на принтере, ошибке записи на диск и т.д.).
При возникновении прерывания ЦП временно «отвлекается» от основной работы. В соответствии с централизованной схемой управления ПУ после определения причины прерывания управление передается системной программе управления вводом-выводом – супервизору ввода-вывода. При оповещении через прерывание о событии в некотором внешнем процессе супервизор ввода-вывода планирует и осуществляет через канал дальнейшие действия по организации ввода-вывода (обновление данных, инициирование следующей операции и т.д.).
Помимо управления прерываниями супервизор ввода-вывода выполняет и другие функции, из которых, в первую очередь, рассмотрим сглаживание эффекта несоответствия скоростей между программными и внешними процессами с помощью одного или нескольких буферов, роль которых выполняют непрерывные области оперативной памяти.
Через буфер данные либо посылаются от некоторого программного процесса к адресуемому внешнему, либо от внешнего процесса передаются программному. На супервизор ввода-вывода возлагаются функции выделения и уничтожения буферов в оперативной памяти, определения их количества, размеров и назначения (для ввода или для вывода).
Супервизор ввода-вывода производит синхронизацию программных и внешних процессов, взаимодействующих через буфер – устраняет возможность одновременного обращения этих процессов к буферу.
577850127635Внешний
процесс
ОП
Программный
процесс
Буфер
00Внешний
процесс
ОП
Программный
процесс
Буфер

Рисунок 12 - Использование буферов для организации информационного взаимодействия внешнего и программного процессовДля устранения задержек в ожидании наполнения буфера используется несколько буферов. Например, с точки зрения временных затрат для операции чтения рационально использовать два буфера. Пока один из них наполняется, другой в это время освобождается.
Другая важная функция супервизора ввода-вывода состоит в том, что по отношению к программным процессам он выступает в роли распределителя ресурсов, которыми в данном случае являются периферийные устройства. В соответствии с этим он должен воспринимать и интерпретировать запросы от программных процессов на использование ПУ и обеспечивать реализацию определенной стратегии распределения ПУ. Как правило, в запросах на ввод-вывод указываются символические имена или номера устройств. Супервизор ввода-вывода производит сопоставление символических имен устройств с конкретными их адресами, вызов и подготовку к работе соответствующих системных программ для обслуживания канала (канальных программ). В данном случае он выступает как транслятор запросов на ввод-вывод. При возникновении одновременно нескольких запросов от различных программных процессов супервизор помещает их в очередь к каналу, связанному с данным устройством. При освобождении канала супервизор извлекает из очереди запрос в соответствии с принятым правилом обслуживания очереди, после чего инициируется работа канала по программе, определенной в запросе.
3 КОНТРОЛЬНЫЕ ВОПРОСЫ
На какие типы делятся периферийные устройства?
Что такое ввод и вывод?
Что такое СУВВ и какова ее основная задача?
Какие действия могут выполняться в отношении ПУ?
Охарактеризуйте прямой метод управления ПУ.
Охарактеризуйте косвенный метод управления ПУ.
Что такое канал управления вводом-выводом?
Какие средства могут использоваться для синхронизации параллельной работы ЦП и канала? Кратко опишите принцип работы этих средств.
Какие функции выполняет супервизор ввода-вывода?
Что из себя представляет буфер, и для чего он используется?