The design of the UNIX Operating System 100 страница



 

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


 

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


Основы операционных систем 136

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

 

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

 

Рис. 13.1. Структура системы ввода-выводаВ последующих разделах мы подробнее рассмотрим организацию и функции набора драйверов и базовой подсистемы ввода-вывода.

 

 

Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами

 

Как и система видов Линнея, система типов устройств является далеко не полной и не строго выдержан-ной. Устройства обычно принято разделять по преобладающему типу интерфейса на следующие виды:

 

• символьные (клавиатура, модем, терминал и т. п.);

 

• блочные (магнитные и оптические диски и ленты, и т. д.);

• сетевые (сетевые карты);

 

• все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);


 

Такое деление является весьма условным. В одних операционных системах сетевые устройства могут не выделяться в отдельную группу, в некоторых других – отдельные группы составляют звуковые устройст-


Основы операционных систем 137

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


Дата добавления: 2021-01-21; просмотров: 119; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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