Безопасность операционных систем. Безбогов А.А - 60 стр.

UptoLike

5.5. СИСТЕМА ВВОДА-ВЫВОДА
5.5.1. Общие положения
В состав любой операционной системы входят программные модули, обеспечивающие управление устройствами ввода-
вывода ЭВМ. Эти программные модули называют драйверами устройств, а совокупность драйверов ввода-вывода образует
систему ввода-вывода, входящую в состав операционной системы.
Драйвер устройства (Device driver) – программа, обеспечивающая взаимодействие операционной системы с физическим
устройством.
Система ввода-вывода (Input-Output System) – часть операционной системы, обеспечивающая управление внешними
устройствами, подключенными к ЭВМ.
Основной задачей системы ввода-вывода является обеспечение непрерывной организации (планирования, управления)
и двусторонней передачи данных между основной памятью и внешними устройствами с целью достижения максимального
перекрытия во времени работы этой аппаратуры и процессора.
Состав систем ввода-вывода и, следовательно, перечень драйверов устройств в различных операционных системах не
совпадают, что объясняется имеющимися отличиями в аппаратуре ввода-вывода, а также множеством методов, используе-
мых для управления этой аппаратурой. Вместе с тем в большинстве операционных систем существует некоторое ядро сис-
темы ввода-вывода, получившее название базовой системы ввода-вывода.
Базовая система ввода-вывода (BIOS – Basic Input Output System) – часть программного обеспечения ЭВМ, поддержи-
вающая управление адаптерами внешних устройств и представляющая стандартный интерфейс для обеспечения переноси-
мости операционных систем между ЭВМ с одинаковым процессором. Базовая система ввода-вывода, как правило, разраба-
тывается изготовителем ЭВМ, хранится в постоянном запоминающем устройстве и рассматривается как часть ЭВМ.
При построении систем ввода-вывода аппаратура ввода-вывода рассматривается как совокупность аппаратурных про-
цессоров, которые способны работать параллельно и независимо друг от друга, а также относительно центрального процес-
сора. На таких процессорах развиваются так называемые внешние процессы.
Внешние процессы, используя аппаратуру ввода-вывода, могут взаимодействовать как между собой, так и с внутренни-
ми процессами, которые развиваются на центральном процессоре. Важным фактом является то, что скорости развития
внешних и внутренних процессов существенно различаются, причем эти различия могут достигать нескольких порядков.
Система управления вводом-выводом представляет собой один или несколько системных процессов (т.е. процессов,
принадлежащих операционной системе), обеспечивающих информационное и управляющее взаимодействие внутренних и
внешних процессов. Через эту систему происходит инициализация, управление развитием и уничтожение внешних процес-
сов.
С точки зрения внутренних (программных) процессов-пользователей система управления вводом-выводом представля-
ет собой программный интерфейс с необходимыми для этих процессов внешними устройствами. В составе этого интерфейса
пользователь имеет возможность выражать запросы на выполнение действий в отношении внешних устройств. При этом
различают три типа действий: операции чтения и записи данных, операции управления устройством, операции по проверке
состояния устройств. При построении систем управления вводом-выводом руководствуются стремлением сделать большин-
ство ее компонентов "невидимыми" для пользователей, что достигается созданием развитых драйверов внешних устройств с
понятным интерфейсом и доступными из любой системы программирования.
Для сглаживания эффекта несоответствия скоростей между внутренними и внешними процессами в системах управле-
ния вводом-выводом применяют три основных метода: синхронизация по прерываниям ввода-вывода, буферизация ввода-
вывода, блокирование данных.
Для синхронизации параллельной работы могут применяться различные методы, среди которых наиболее совершенны-
ми являются средства, основанные на использовании системы прерывания. Канал ввода-вывода через систему прерываний
прерывает работу центрального процессора всякий раз при завершении операции ввода-вывода или при возникновении
ошибки. Такие сигналы прерывания являются по своему смыслу синхронизирующими, так как они используются для опо-
вещения определенного внутреннего процесса о событии, которое произошло при работе канала ввода-вывода или внешнего
устройства.
Одной из главных функций ОС является управление всеми устройствами ввода-вывода компьютера. ОС должна пере-
давать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс
между устройствами и остальной частью системы. В целях развития интерфейс должен быть одинаковым для всех типов
устройств (независимость от устройств).
5.5.2. Физическая организация устройств ввода-вывода
Устройства ввода-вывода делятся на два типа: блок-ориентированные и байт-ориентированные устройства. Блок-
ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собст-
венный адрес. Самое распространенное блок-ориентированное устройстводиск. Байт-ориентированные устройства не ад-
ресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. При-
мерами являются терминалы, строчные принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся ни
к одному классу, например часы, которые, с одной стороны, не адресуемы, а с другойне порождают потока байтов. Это уст-
ройство только выдает сигнал прерывания в некоторые моменты времени.
Внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называет-
ся контроллером устройства или адаптером. Механический компонент представляет собственно устройство. Некоторые кон-