Программирование на JAVA

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

Как правило, операционные системы строятся так, чтобы все программное обес­печение, связанное с конкретным устройством, заключалось в отдельный модуль, называемый драйверам устройства. Такой модуль легко добавить в операцион­ную систему и легко из нее удалить. Мы предположили, что драйвер клавиатуры состоит из двух подпрограмм, KBDINIT и KBDDATA (рис. 7.10, в). Подпрограм­ма IOINIT вызывает KBDINIT, выполняющую инициализацию устройства и его интерфейсной схемы. Кроме того, подпрограмма KBDINIT разрешает прерыва­ния от данного устройства, установив соответствующий бит в управляющем ре­гистре


<< назад вперед >>