Операционные системы: Подсистема ввода вывода

Содержание

Слайд 2

В.А.Серков "Операционные системы" 5 Задачи 1. Обеспечение интерфейса между устройствами ввода/вывода

В.А.Серков "Операционные системы" 5

Задачи

1. Обеспечение интерфейса между устройствами ввода/вывода и остальными

устройствами вычислительной системы.
2. Передача устройствам команд ввода/вывода.
3. Перехват прерываний.
4. Обработка ошибок.
Слайд 3

Физическая организация устройств ввода-вывода

Физическая организация устройств ввода-вывода

Слайд 4

В.А.Серков "Операционные системы" 5 Процессор выставляет на адресную шину системного интерфейса

В.А.Серков "Операционные системы" 5

Процессор выставляет на адресную шину системного интерфейса номер

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

Обмен данными между процессором и оперативной памятью

Слайд 5

В.А.Серков "Операционные системы" 5 Если выставленный на шине адрес соответствует адресу

В.А.Серков "Операционные системы" 5

Если выставленный на шине адрес соответствует адресу одного

из регистров внешнего устройства, дешифратор подключает соответствующий регистр к шине данных. Таким образом, регистры устройства получают адреса в физическом адресном пространстве процессора.
Слайд 6

В.А.Серков "Операционные системы" 5 Можно выделить два основных подхода к адресации

В.А.Серков "Операционные системы" 5

Можно выделить два основных подхода к адресации регистров

внешних устройств:
- отдельное адресное пространство ввода-вывода в этом случае для обращения к регистрам устройств используются специальные команды IN и OUT;
- отображенный в память ввод-вывод (memory-mapped I/O), когда память и регистры внешних устройств размещаются в одном адресном пространстве тогда могут использоваться любые команды, способные работать с операндами в памяти.
Слайд 7

В.А.Серков "Операционные системы" 5 Существует два основных подхода к выделению адресов

В.А.Серков "Операционные системы" 5

Существует два основных подхода к выделению адресов внешним

устройствам:
- фиксированная адресация, когда одно и то же устройство всегда имеет одни и те же адреса регистров;
- географическая адресация, когда каждому разъему периферийной (или системной, если внешние устройства подключаются непосредственно к ней) шины соответствует свой диапазон адресов. Географически можно распределять не только адреса регистров, но и другие ресурсы — линии запроса прерывания, каналы ПДП.
Слайд 8

В.А.Серков "Операционные системы" 5 Устройства ввода-вывода делятся на два типа: Блок-ориентированные

В.А.Серков "Операционные системы" 5

Устройства ввода-вывода делятся на два типа:
Блок-ориентированные устройства

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

Организация программного обеспечения ввода-вывода

Организация программного обеспечения ввода-вывода

Слайд 10

В.А.Серков "Операционные системы" 5 Основная идея организации программного обеспечения ввода-вывода состоит

В.А.Серков "Операционные системы" 5

Основная идея организации программного обеспечения ввода-вывода состоит в

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

В.А.Серков "Операционные системы" 5 Независимость от устройств Вид программы не должен

В.А.Серков "Операционные системы" 5

Независимость от устройств

Вид программы не должен зависеть

от того, читает ли она данные с гибкого диска или с жесткого диска.
Слайд 12

В.А.Серков "Операционные системы" 5 Единообразное именование Для именования устройств должны быть приняты единые правила.

В.А.Серков "Операционные системы" 5

Единообразное именование

Для именования устройств должны быть приняты

единые правила.
Слайд 13

В.А.Серков "Операционные системы" 5 Обработка ошибок Ошибки следует обрабатывать как можно

В.А.Серков "Операционные системы" 5

Обработка ошибок

Ошибки следует обрабатывать как можно ближе

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

В.А.Серков "Операционные системы" 5 Использование блокирующих (синхронных) и неблокирующих (асинхронных) передач

В.А.Серков "Операционные системы" 5

Использование блокирующих (синхронных) и неблокирующих (асинхронных) передач

Большинство

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

В.А.Серков "Операционные системы" 5 Наличие разделяемых и выделенных устройств Диски -

В.А.Серков "Операционные системы" 5

Наличие разделяемых и выделенных устройств

Диски - это разделяемые

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

В.А.Серков "Операционные системы" 5 Многоуровневая организация подсистемы ввода-вывода

В.А.Серков "Операционные системы" 5

Многоуровневая организация подсистемы ввода-вывода

Слайд 17

В.А.Серков "Операционные системы" 5 Приложения Приложения (программы) используют для выполнения операций

В.А.Серков "Операционные системы" 5

Приложения

Приложения (программы) используют для выполнения операций ввода/вывода набор

стандартных функций (операторов) типа READ, WRITE.
Слайд 18

В.А.Серков "Операционные системы" 5 Библиотечные функции Операторы ввода/вывода (READ, WRITE) на

В.А.Серков "Операционные системы" 5

Библиотечные функции

Операторы ввода/вывода (READ, WRITE) на этапе компиляции

программы вызывают в объектный код программы подпрограммы из библиотеки стандартных функций.
Слайд 19

В.А.Серков "Операционные системы" 5 Системные вызовы Библиотечные функции в процессе работы

В.А.Серков "Операционные системы" 5

Системные вызовы

Библиотечные функции в процессе работы программы порождают

системные вызовы, которые через интерфейс прикладного программирования направляются к подсистеме ввода/вывода на дальнейшую обработку.
Слайд 20

В.А.Серков "Операционные системы" 5 Системные вызовы Библиотечные функции в процессе работы

В.А.Серков "Операционные системы" 5

Системные вызовы

Библиотечные функции в процессе работы программы порождают

системные вызовы, которые через интерфейс прикладного программирования направляются к подсистеме ввода/вывода на дальнейшую обработку.
Слайд 21

В.А.Серков "Операционные системы" 5 Драйверы устройств Драйвер (driver) представляет собой специализированный

В.А.Серков "Операционные системы" 5

Драйверы устройств

Драйвер (driver) представляет собой специализированный программный модуль,

управляющий внешним устройством.
Слово driver происходит от глагола to drive (вести) и переводится с английского языка как извозчик или шофер: тот, кто ведет транспортное средство.
Драйверы обеспечивают единый интерфейс для доступа к различным устройствам, тем самым, устраняя зависимость пользовательских программ и ядра ОС от особенностей аппаратуры.