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



 

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

 

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

 

Логические принципы организации ввода-вывода

 

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

 

Структура системы ввода-вывода

 

Если поручить неподготовленному пользователю сконструировать систему ввода-вывода, способную ра-ботать со всем множеством внешних устройств, то, скорее всего, он окажется в ситуации, в которой на-ходились биологи и зоологи до появления трудов Линнея [Linnaes, 1789]. Все устройства разные, отли-чаются по выполняемым функциям и своим характеристикам , и кажется , что принципиально невозможно создать систему, которая без больших постоянных переделок позволяла бы охватывать все многообразие видов. Вот перечень лишь нескольких направлений (далеко не полный), по которым различаются устрой-ства.

 

• Скорость обмена информацией может варьироваться в диапазоне от нескольких байтов в секунду (клавиатура) до нескольких гигабайтов в секунду (сетевые карты).

• Одни устройства могут использоваться несколькими процессами параллельно (являются разде-ляемыми), в то время как другие требуют монопольного захвата процессом.

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

• Часть устройств умеет передавать данные только по одному байту последовательно (символьные устройства), а часть устройств умеет передавать блок байтов как единое целое (блочные устройст-ва).

• Существуют устройства, предназначенные только для ввода информации, устройства, предназна-ченные только для вывода информации, и устройства, которые могут выполнять и ввод, и вывод.


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

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






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