Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_8.ppt
Скачиваний:
137
Добавлен:
11.04.2015
Размер:
1.17 Mб
Скачать

8.2.Интерфейс пользователя

8.2.5.Архитектура, управляемая событиями

Появление элементов управления стало возможным благодаря реализации новой архитектуры взаимодействия пользователя с программой.

Во многих операционных системах (MS DOS, UNIX) взаимодействие с пользователем инициирует программа пользователя.

Например, в MS DOS при необходимости осуществить ввод данных с клавиатуры приложение выводит приглашение и выполняет запрос к системе.

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

101

8.2.5. Архитектура, управляемая событиями

Схема взаимодействия на примере ввода с клавиатуры с помощью функции getchar() языка С. Цифрами показана последовательность выполнения вызова.

102

8.2.5. Архитектура, управляемая событиями

Весь интерфейс имеет структуру «приглашение или вопрос - ожидание ввода - ввод - обработка - вывод результата». При такой архитектуре взаимодействия программа управляет пользователем.

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

Для реализации такого сценария нужна новая архитектура, в которой пользователь управляет программой, а последняя всегда готова обрабатывать ввод из любых источников информации. Именно подобное взаимодействие и реализовано в Windows.

Прикладная программа теперь не запрашивает с помощью системных вызовов ввод данных с клавиатуры, вместо этого она ждет, когда Windows введет информацию и передаст ее вашей программе.

103

8.2.5. Архитектура, управляемая событиями

Этот процесс состоит из следующих этапов (см. рис. ниже). Программа ожидает сообщения от Windows и в общем случае бездействует.

Пользователь, щелкая клавишами мыши или вводя информацию с клавиатуры, инициирует событие и работу соответствующего драйвера.

Сообщения от драйверов сначала передаются в системную очередь, а затем перераспределяются по очередям приложений (точнее, потоков).

Из очереди приложения операционная система выбирает сообщение и вместе с управлением передает его соответствующему приложению.

После получения сообщения программа производит его обработку и далее снова переходит в состояние ожидания очередного сообщения.

Описанная выше и реализованная в Windows схема взаимодействия пользователя, операционной системы и приложения называется

архитектурой, управляемой событиями (сообщениями).

104

8.2.5. Архитектура, управляемая событиями

105

Соседние файлы в папке ОС