The design of the UNIX Operating System 100 страница
В области технического обеспечения удалось выделить несколько основных принципов взаимодействия внешних устройств с вычислительной системой, т. е. создать единый интерфейс для их подключения, возложив все специфические действия на контроллеры самих устройств. Тем самым конструкторы вы-числительных систем переложили все хлопоты, связанные с подключением внешней аппаратуры, на раз-работчиков самой аппаратуры, заставляя их придерживаться определенного стандарта.
|
|
Похожий подход оказался продуктивным и в области программного подключения устройств ввода-вывода. Подобно тому как Линнею удалось заложить основы систематизации знаний о растительном и
Основы операционных систем | 136 |
животном мире, разделив все живое в природе на относительно небольшое число классов и отрядов, мы можем разделить устройства на относительно небольшое число типов, отличающихся по набору опера-ций, которые могут быть ими выполнены, считая все остальные различия несущественными. Мы можем затем специфицировать интерфейсы между ядром операционной системы, осуществляющим некоторую общую политику ввода-вывода, и программными частями , непосредственно управляющими устройства-ми, для каждого из таких типов. Более того, разработчики операционных систем получают возможность освободиться от написания и тестирования этих специфических программных частей, получивших на-звание драйверов, передав эту деятельность производителям самих внешних устройств. Фактически мы приходим к использованию принципа уровневого или слоеного построения системы управления вводом-выводом для операционной системы (см. рис. 13.1).
|
|
|
|
|
|
Два нижних уровня этой слоеной системы составляет hardware: сами устройства, непосредственно вы-полняющие операции, и их контроллеры, служащие для организации совместной работы устройств и ос-тальной вычислительной системы. Следующий уровень составляют драйверы устройств ввода-вывода, скрывающие от разработчиков операционных систем особенности функционирования конкретных при-боров и обеспечивающие четко определенный интерфейс между hardware и вышележащим уровнем – уровнем базовой подсистемы ввода-вывода, которая, в свою очередь, предоставляет механизм взаимо-действия между драйверами и программной частью вычислительной системы в целом.
Рис. 13.1. Структура системы ввода-выводаВ последующих разделах мы подробнее рассмотрим организацию и функции набора драйверов и базовой подсистемы ввода-вывода.
Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
Как и система видов Линнея, система типов устройств является далеко не полной и не строго выдержан-ной. Устройства обычно принято разделять по преобладающему типу интерфейса на следующие виды:
• символьные (клавиатура, модем, терминал и т. п.);
• блочные (магнитные и оптические диски и ленты, и т. д.);
• сетевые (сетевые карты);
• все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);
Такое деление является весьма условным. В одних операционных системах сетевые устройства могут не выделяться в отдельную группу, в некоторых других – отдельные группы составляют звуковые устройст-
Основы операционных систем | 137 |
ва и видеоустройства и т. д. Некоторые группы в свою очередь могут разбиваться на подгруппы: под-группа жестких дисков, подгруппа мышек, подгруппа принтеров. Нас такие детали не интересуют . Мы не ставим перед собой цель осуществить систематизацию всех возможных устройств, которые могут быть подключены к вычислительной системе. Единственное, для чего нам понадобится эта классификация, так это для иллюстрации того положения, что устройства могут быть разделены на группы по выполняемым ими функциям , и для понимания функций драйверов, и интерфейса между ними и базовой подсистемой ввода-вывода.
Дата добавления: 2021-01-21; просмотров: 119; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!