Технология ввода – вывода(с/без прерываний). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Технология ввода – вывода(с/без прерываний).



1) Способы ввода/вывода. Существует 3(2!по лекц) основных способа: 2 связанных с использованием центрального процессора и 1 без.

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

2) Режим обмена с прерыванием. В этом случае после выдачи очередной команды по управлению вводом/выводом происходит прерывание процесса. После выполнения ввода/вывода устройство ввода/вывода генерирует прерывание, сигнализирующее о завершении операции. В этом случае асинхронное управление. Для того, чтобы не потерять связь с устройством в/в чаще всего запускается некоторый отсчет времени, в течение которого устройство должно обязательно выполнить команду в/в и выдать сигнал запроса на прерывание (time out). Если прерывание не поступило, то ОС считает, что связь с устройством потеряна и сигнализирует об этом прикладному процессу.

3) Прямой доступ к памяти. В/в осуществляет специальное устройство, которое дублирует функции ЦП по в/в – это устройство (канал) прямого доступа (аппаратный способ).

Схема работы. Когда процессору необходимо произвести операцию чтения/ записи блока данных, он направляет запрос к модулю канала прямого доступа и передает ему информацию, необходимую для организации в/в. После этого происходит прерывание процесса и передача процессору следующего активного процесса. Модуль DMA, минуя процессор, передает данные непосредственно в ОП (или считывает из ОП). После выполнения операции модуль DMA выставляет сигнал прерывания для передачи управления ЦП. Таким образом, ЦП работает только в начале и в конце выполнения операции.

Синхронный и асинхронный ввод/вывод.

Различают синхронное и асинхронное управление в/в.

Синхронный в/в: программируемый в/в (в/в в режиме опроса готовности)

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

Асинхронный в/в: с использование прерываний. После того как процессор выдал команду на обмен данными, происходит прерывание процесса. После выполнения в/в устройство в/в генерирует прерывание, которое сигнализирует об окончании в/в. При выполнении в/в связь с устройством в/в практически отсутствует. Чтобы не потерять связь с устройством, выполняется специальная операция – установка TimeOut’а (максимальный интервал времени, в течение которого устройство должно выдать прерывание об окончании в/в). Если в течение этого времени прерывание не поступило, в/в прошел неудачно.

Драйверы, которые осуществляют в/в асинхронный и синхронный – отличаются. Синхронные драйверы проще. Асинхронные – многоуровневые, состоящие из нескольких секций. Используются и те и другие. Драйверы Windows – синхронные.

Прямой доступ к памяти

Использует канал прямого доступа. После передачи данных канал (DMA) Вырабатывает прерывание. Т.образом ценральный процессор участвует в начале и в конце операции.

Рис. 11.3. Ввод-вывод с использованием прямого доступа

Вопрос 20. Уровни управления вводом-выводом. Буферизация и синхронизация данных.

Уровни ввода – вывода.

1.Верхний уровень. ОС предоставляет приложению высокоуровневый интерфейс, позволяющий работать с созданными системами для некоторых виртуальных устройств. Этот интерфейс зависит от ОС.

2.Нижний уровень. Обеспечивает интерфейс (управление) с аппаратным обеспечением.

+ смотри предыдущий билет

Использование буферизации при вв/выв

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

Набор операций для работы должен включать:

§ Получить буфер

§ Освободить буфер

§ Записать в буфер

§ Считать из буфера

Для рассмотрения вопросов буферизации важным считается то что существует уст-ва вв/выв 2 типов:

1. блочноориентированные – сохраняющие информацию блоками фиксированного размера, информация передается блоками, ссылка на данные-ссылка на блок и смещение внутри блока. Пример: магн диски, устр-ва долговременного хранения инф-ии.

2. поточнооринтированные – передающие неструктурированный поток байтов. Пример: терминал клавиатуры, мыши, не запоминающие устройства.

Схема буферизации

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


Рис.1 Опережающее считывание.

Двойной буфер

При использовании двойного буфера процесс может выполнять передачу данных в один буфер, в то время как ОС записывает данные в др буфер- технология двойной (сменной) буферизации

 


Циклическая буферизация

Используется задача взаимного потребления (Задача производитель- потребитель (вопрос 7))

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

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

Вопрос 21. Принципы построения интерфейсов ОС. Интерфейс прикладного программирования(АРI). Варианты реализации АРI.


Принципы построения интерфейса ОС.

3 типа:

~ интерфейс пользователя (интерфейс командной строки)

~ графический пользовательский интерфейс

~ интерфейс прикладного программирования API (1)

Рис. 1. Интерфейс ОС.

Варианты реализации (1).

1. Реализация функции API на уровне ОС, ответственность за выполнение несет ОС (API на уровне системных вызовов). Достигается наибольшая эффективность исполнения, но объектные коды и исходные программы не переносятся на другую ОС. WinAPI – пример.

«-» отсутствие переносимости на ОСна Уровне объектного и исходного кода.

2. Реализация функции API на уровне системы программирования. Функции API предоставляются пользователю в виде библиотечных функций системного программирования (соответствующего языка программирования) (RTL-библиотеки). Эффективность реализации ниже, но переносимость исходной программы будет наилучшей. Для каждой ОС должна быть своя библиотека RTL.

3. Реализация функции API с помощью внешних библиотек (с помощью библиотек, созданных сторонними разработчиками). Эффективность наименьшая, т.к. эти библиотеки обращаются с библиотекой СП, а они обращаются к системным вызовам, но повышается эффективность создания программных продуктов. Переносимость «проблематична», т.к. может быть связано с ОС.Может быть сокращено время создания программ



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 541; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.209.95 (0.009 с.)