Задачи подсистемы ввода-вывода

Подсистема ввода-вывода (Input-Output Subsystem) должна решать ряд общих задач.

1. Организация параллельной работы устройств ввода-вывода и процессора. Каждое устройство ввода-вывода снабжено специализированным блоком управления, называемым контроллером. Контроллер взаимодействует с драйвером — системным программным модулем, предназначенным для управления этим устройством.

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

3. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы. Практически все современные операционные системы поддерживают в качестве основы такого интерфейса файловую модель периферийных устройств, с которыми можно работать с помощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства. Привлекательность модели файла-устройства состоит в ее простоте и унификации для устройств любого типа.

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

5. Поддержка нескольких файловых систем. На дисках хранится большая часть как пользовательских, так и системных данных. Данные на дисках организуются в файловые системы, и свойства файловой системы во многом определяют свойства самой ОС — ее отказоустойчивость, быстродействие, максимальный объем хранимых данных. Популярность файловой системы часто приводит к ее миграции из «родной» ОС в другие операционные системы — например, файловая система FAT появилась первоначально в MS-DOS, но затем была реализована в OS/2, семействе MS Windows и многих реализациях UNIX. Ввиду этого поддержка нескольких популярных файловых систем для подсистемы ввода-вывода также важна, как и поддержка широкого спектра периферийных устройств. Важно также, чтобы архитектура подсистемы ввода-вывода позволяла достаточно просто включать в ее состав новые типы файловых систем, без необходимости переписывания кода


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: