264
управления (синхронный или асинхронный). Очень часто, при проектировании
ОС РВ смешивают DFD и CFD в рамках одного рисунка.
В качестве примеров процесса можно предложить: процесс или поток
(нить, thread), использующийся в Windows или Unix, обработчик прерывания в
учебном стенде SDK-1.1.
Для примера рассмотрим потоковую модель драйвера последовательного
канала, работающего по прерыванию (асинхронный обмен по прерыванию).
Рисунок 98. Потоковая модель драйвера последовательного канала для SDK-1.1
В этой модели есть три процесса:
• Контроллер последовательного канала UART;
• Обработчик прерывания;
• Пользовательский процесс.
Информация, полученная от UART, записывается процессом «Обработчик
прерываний» в очередь RFIFO. Пользовательский процесс может забрать байт
из FIFO тогда, когда у него для этого будет возможность (т.е. очередь не будет
пуста). После записи байт в WFIFO пользовательский процесс может
заниматься своими делами. Обработчик прерывания заберет байт из WFIFO
тогда, когда буфер передатчика UART опустеет (при этом обработчик будет
вызван).
Достарыңызбен бөлісу: