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

Возврат из подпрограммы

в

Рис. 7.10. Некоторые из программ операционной системы:

программы инициализации ОС, сервисов и планировщика (а);

программы ввода-вывода (б); драйвер клавиатуры (а)

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


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