Операционные системы. Учебное пособие. Марапулец Ю.В. - 121 стр.

UptoLike

Составители: 

Два нижних уровня этой системы составляет аппаратную часть, т.е. сами устройст-
ва, непосредственно выполняющие операции, и их контроллеры, служащие для органи-
зации совместной работы устройств и остальной вычислительной системы. Следующий
уровень составляют драйверы устройств ввода-вывода, скрывающие от разработчиков
операционных систем особенности функционирования конкретных устройств и обеспе-
чивающие четко определенный интерфейс между аппаратными средствами и следую-
щем уровнем - базовой подсистемой ввода-вывода, которая, в свою очередь, предостав-
ляет механизм взаимодействия между драйверами устройств и ядром операционной
системы.
Управление вводом-выводом осуществляется следующим образом. Центральный
процессор посылает устройству управления команду выполнить некоторое действие для
устройства ввода-вывода. Устройство управления исполняет команду, транслируя сиг-
налы центрального процессора в сигналы, понятные устройству ввода/вывода. К сожа-
лению, быстродействие устройства ввода-вывода намного меньше быстродействия цен-
трального процессора, поэтому сигнал готовности приходилось ожидать достаточно
долго, постоянно опрашивая соответствующую линию интерфейса на наличие или от-
сутствие нужного сигнала. В первых ОС в это время центральный процессор простаи-
вал. В современных ОС во время ожидания сигнала готовности от устройства ввода-
вывода центральный процессор переключается на выполнение другой программы. При
появлении сигнала готовности генерируется прерывание от соответствующего устройст-
ва ввода/вывода. Вышесказанное продемонстрировано на рис.5.2 [2].
Рис.5.2. Механизм управления вводом-выводом
Все системные вызовы, связанные с осуществлением операций ввода-вывода, по
способам реализации взаимодействия процесса и устройства ввода-вывода можно раз-
бить на три группы.
К первой, наиболее привычной для большинства программистов группе относятся
блокирующиеся системные вызовы. Как следует из самого названия, применение тако-
го вызова приводит к блокировке инициировавшего его процесса, т. е. процесс перево-
дится операционной системой из состояния исполнение в состояние ожидание. Завер-
шив выполнение всех операций ввода-вывода, предписанных системным вызовом,
операционная система переводит процесс из состояния ожидание в состояние готов-
ность. После того как процесс будет снова выбран для исполнения, в нем произойдет
окончательный возврат из системного вызова.
123
      Два нижних уровня этой системы составляет аппаратную часть, т.е. сами устройст-
ва, непосредственно выполняющие операции, и их контроллеры, служащие для органи-
зации совместной работы устройств и остальной вычислительной системы. Следующий
уровень составляют драйверы устройств ввода-вывода, скрывающие от разработчиков
операционных систем особенности функционирования конкретных устройств и обеспе-
чивающие четко определенный интерфейс между аппаратными средствами и следую-
щем уровнем - базовой подсистемой ввода-вывода, которая, в свою очередь, предостав-
ляет механизм взаимодействия между драйверами устройств и ядром операционной
системы.
      Управление вводом-выводом осуществляется следующим образом. Центральный
процессор посылает устройству управления команду выполнить некоторое действие для
устройства ввода-вывода. Устройство управления исполняет команду, транслируя сиг-
налы центрального процессора в сигналы, понятные устройству ввода/вывода. К сожа-
лению, быстродействие устройства ввода-вывода намного меньше быстродействия цен-
трального процессора, поэтому сигнал готовности приходилось ожидать достаточно
долго, постоянно опрашивая соответствующую линию интерфейса на наличие или от-
сутствие нужного сигнала. В первых ОС в это время центральный процессор простаи-
вал. В современных ОС во время ожидания сигнала готовности от устройства ввода-
вывода центральный процессор переключается на выполнение другой программы. При
появлении сигнала готовности генерируется прерывание от соответствующего устройст-
ва ввода/вывода. Вышесказанное продемонстрировано на рис.5.2 [2].




                       Рис.5.2. Механизм управления вводом-выводом

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


                                          123