Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция1.о.с..docx
Скачиваний:
1
Добавлен:
19.11.2019
Размер:
20.18 Кб
Скачать

Устройства ввода-вывода.

В принципе, устройство ввода не необходимо для простейшего компьютера. Однако, выполнять на таком компьютере можно будет только одну программу, не принимающую никаких сведений от внешнего мира, соответственно и польза от такого компьютера будет чисто декоративная. Например, компьютер без устройства ввода мог бы рисовать на мониторе красивые картинки (как это делают скринсэйверы). Компьютер без устройства вывода мог бы выполнять разнообразные программы, но проявить себя никак бы не смог. В компьютерах предусмотрены разнообразные устройства ввода и вывода, а так же для хранения больших объемов информации.

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

Прерывания и драйверы.

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

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

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

При прерывании, первым делом процессору надо выяснить, кто и по какому поводу его беспокоит, поэтому через имеющийся (три шины) интерфейс он выясняет номер прерывания. Далее, в памяти по известному процессору адресу (например, по адресу 0) должна находиться таблица прерываний. В ней должно быть описано соответствие номера прерывания адресу в памяти, где лежит его обработчик. Существуют и программируемые (посылаемые не устройством, а процессором самому себе) прерывания. Например, они используются для отладки программ.