Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Теоретический материал. Периферийные устройства (ПУ) можно разделить на устройства ввода-вывода и запоминающие устройства



Периферийные устройства (ПУ) можно разделить на устройства ввода-вывода и запоминающие устройства. И те, и другие могут осуществлять ввод и/или вывод.

Ввод – это считывание данных с носителей информации в оперативную память. Вывод – перенос данных из ОП на носители информации.

Аппаратура различных ЭВМ существенно отличается по техническим и функциональным характеристикам, часто возникает потребность менять её количество и состав. В составе любой ОС имеется специальная подсистема управления аппаратурой ввода-вывода, избавляющая пользователя от необходимости знания множества деталей взаимодействия между программами и ПУ. Основной задачей этой подсистемы в мультипрограммном режиме является организация двусторонней высокоскоростной передачи данных между ОП и ПУ с целью достижения максимального перекрытия во времени работы аппаратуры ввода-вывода и ЦП. При этом реализуется принцип независимости от устройств, подразумевающий унифицированный интерфейс для доступа к различным по своим физическим характеристикам ПУ.

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

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

1) операции чтения и записи данных в отношении адресуемого ПУ;

2) операции управления устройством;

3) операции по проверке состояния устройства.

Большинство компонентов СУВВ «невидимы» для пользователя.

В зависимости от степени автономности от ЦП можно выделить два типа управления ПУ.

Прямой метод основан на непосредственной связи ЦП и ПУ и предполагает наличие в составе команд процессора специальных команд по инициированию работы, проверке готовности, останову, записи информации и т.д.

Состояние устройства определяется с помощью так называемого флажка занятости, программно доступного ЦП. Если устройство занято (флажок установлен), то адресуемая этому устройству команда блокируется до его освобождения. ЦП в это время может выполнять счетную работу.

Этот метод управления нельзя использовать в мультипрограммном режиме. Задача совмещения работы ЦП и ПУ ложится на программиста.

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

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

Более совершенным механизмом является использование прерываний. Канал через систему прерываний прерывает работу ЦП всякий раз при завершении операции ввода-вывода или при возникновении ошибки. Здесь сигнал прерывания является по смыслу синхронизирующим, т.к. используется для оповещения определенного программного процесса о событии, которое произошло при работе канала или ПУ (например, при завершении печати страницы на принтере, ошибке записи на диск и т.д.).

При возникновении прерывания ЦП временно «отвлекается» от основной работы. В соответствии с централизованной схемой управления ПУ после определения причины прерывания управление передается системной программе управления вводом-выводом – супервизору ввода-вывода. При оповещении через прерывание о событии в некотором внешнем процессе супервизор ввода-вывода планирует и осуществляет через канал дальнейшие действия по организации ввода-вывода (обновление данных, инициирование следующей операции и т.д.).

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

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

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

 
 


Рисунок 12 - Использование буферов для организации информационного взаимодействия внешнего и программного процессов

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

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. На какие типы делятся периферийные устройства?

2. Что такое ввод и вывод?

3. Что такое СУВВ и какова ее основная задача?

4. Какие действия могут выполняться в отношении ПУ?

5. Охарактеризуйте прямой метод управления ПУ.

6. Охарактеризуйте косвенный метод управления ПУ.

7. Что такое канал управления вводом-выводом?

8. Какие средства могут использоваться для синхронизации параллельной работы ЦП и канала? Кратко опишите принцип работы этих средств.

9. Какие функции выполняет супервизор ввода-вывода?

10. Что из себя представляет буфер, и для чего он используется?





Дата публикования: 2014-11-04; Прочитано: 846 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...