Главная программа
Данное описание несколько упрощено. Как было отмечено в главе 2, уведомления могут быть посланы любому процессу. Уведомления идентифицируются особыми значениями в поле call_nr. В строках 18055-18062 выполняется проверка для двух типов уведомлений, которые может принимать менеджер процессов, и для каждого из них выполняется специальное действие.
Кроме того, в строке 18064 проверяется корректность значения call_nr, а затем делается попытка обслужить запрос (строка 18067). Хотя вероятность некорректного запроса невелика, проверить его несложно, в то время как последствия некорректности будут весьма серьезными.Еще один заслуживающий внимания момент — функция swap_in (строка 18073). Рассматривая файл proto.h, мы отметили, что в описываемой версии MINIX эта функция пустая. Тем не менее в полноценной версии функция swap_in проверяет, возможна ли подкачка для процесса.
Комментарий в строке 18070 говорит о том, что здесь выполняется отправка ответа, однако этот комментарий несколько упрощен. Вызов set reply формирует ответное сообщение в записи таблицы процессов текущего процесса. В цикле выполняется проверка всех записей таблицы процессов и отправка всех ожидающих ответов, которые можно отправить (строки 18078-18091). Ответы, которые не могут быть посланы, пропускаются.
Соответственно, две следующие функции, get_work (строка 18099) и setreply (строка 18116), отвечают за реальные прием и отправку сообщений соответственно. С помощью особого трюка функция get_work делает так, что сообщение, посылаемое ядром, выглядит как отправленное менеджером процессов, поскольку у ядра нет собственной записи в таблице процессов. Функция setreply фактически не отправляет ответ, а, как уже отмечалось, откладывает его для отправки в будущем.
Еще по теме Главная программа:
- Знакомство с главным окном программы
- Программа Да и программа Нет
- Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
- Главный режиссер телеканала
- Главный редактор
- 5. Главная вещь и принадлежность
- Сосредоточьтесь на главном
- Главный художник телестудии
- ГЛАВНОЕ – УБЕЖДЕННОСТЬ
- Главнейшие задачи при воспитании:
- Статья 186. Главная вещь и принадлежность
- Что для нас главное
- 4.3. «Звездность» – это не главное
- Главный Диагноз
- Главные наркослова
- ГЛАВНАЯ ФУНКЦИЯ ПОДСОЗНАНИЯ