AMIGA # 1
Драйвер может быть встроенным, т.е. находиться в постоянном запоминающем устройстве (ПЗУ), либо загружаемым с диска. В последнем случае, если маршрут драйвера не указан явно, считается, что он находится в каталоге \"DEVS:\". Драйвер является программой-мостиком нижнего уровня между системой и конкретным устройством. Система воспринимает устройство на уровне \"чёрного ящика\", посылая драйверу команды достаточно общего характера и только драйвер знает, что и как надо делать с устройством, чтобы добиться желаемых результатов. Это сравнимо с тем, что вы просите водителя такси подвезти вас до аэропорта, а дело водителя уметь рычаги дергать и педали нажимать — на то он и знаток конкретного устройства, которым управляет. Может там вообще не машина, а, скажем, самокат — неважно, лишь бы довёз куда надо. Поэтому пусть вас не удивляет, что в псевдодисковых устройствах типа \"RAD:\" или \"SD:\" присутствуют такие чисто дисковые параметры, как, например, число поверхностей или размер сектора, хотя никаких таких дисков в памяти компьютера, разумеется, нет — можете вскрыть по очереди все микросхемы памяти и убедиться сами. Подобные параметры введены исключительно ради того, чтобы достигнуть максимального единообразия команд, которые система посылает драйверу, что в конечном счёте сильно экономит системные ресурсы. Это его, драйверовы проблемы, что конкретно надо сделать, чтобы прочесть 3-й сектор 5-й дорожки по просьбе системы. Команда MOUNT совершенно необязательно должна иметь дело с устройствами, хранящими данные в виде файлов. В AmigaOS есть, например, монтируемое устройство \"AUX:\", которое позволяет использовать компьютер в многопользовательском режиме, подключив к нему один или несколько удаленных терминалов. Описание \"AUX:\" имеет следующий вид:
Handler = L:aux-handler
Stacksize = 1000
Priority = 5
# Здесь в первой строке вместо имени драйвера устройства стоит имя хэндлера устройства. Хэндлер, который, в принципе, делает то же самое, что и драйвер, на самом деле является программой более высокого уровня, нежели драйвер, и зачастую сам общается с устройствами, используя драйверы — ну всё равно, что мы бы разговаривали с уже упомянутым водителем такси через переводчика.
|