ганизация взаимодействия между операционной системой
Таблица 1. Префиксы, применяемые в венгерской нотации
Префикс
Тип данных
b сх, су
dw In h i I
n s sz
BYTE (unsigned char)
short (используются как ширина и длина объектов типа
RECT и окон)
DWORD (unsigned long)
function
HANDLE
int
EONG (long)
int или short
string
string terminated by zero
WORD (unsigned int)
short (используются как координаты)
char
«КРОВЕНОСНАЯ СИСТЕМА» ПРОГРАММЫ ДЛЯ WINDOWS
Для программиста, привыкшего к DOS, непривычной является и ор ганизация взаимодействия между операционной системой Windows (NT или 95) и другими программами. В DOS только программы обращаются к операционной системе. Обратной связи (вызов системой прикладной программы) в DOS нет (исключения типа перехвата прерываний не в счет). В Windows с момента создания окна и до момента его уничтожения не только программа обращается к Windows, но и самое операционная система при возникновении определенных событий обращается к окну, вызывая связанную с ним оконную процедуру, или, как говорят, посылая окну сообщение. Что значит послать окну сообщение? Это, значит, записать определенную информацию о каком-либо событии в область памяти, доступную оконной процедуре. Эта область памяти, которая вмещает в себя несколько сообщений, действует по принципу стека FIFO (First Input - First Output) и называется очередью программы. В Windows прикладная программа тоже вызывает систему не напрямую, а посылает сообщения системе. Но раз системе, как и прикладной программе, посылаются сообщения, то, значит, существует и общесистемная очередь сообщений! Итак, мы пришли к выводу о существовании одной общесистемной очереди сообщений и очереди сообщений у каждого окна.
Неясной остается одна деталь. Откуда система знает о том, что пришло сообщение? Каким образом сообщение из очереди становится из-
8
вестным программе? Вероятно, как программа, так и система с какой-то периодичностью обращаются к очереди и проверяют, нет ли в очереди сообщений. Здесь мы приходим ко второму выводу - у каждой программы, а также и у системы должны существовать (и существуют!) циклы, в ходе которых опрашивается очередь и выбирается информация о сообщениях в ней. Остановка цикла опроса очереди приведет к «зависанию» программы, программа «умрет», если сравнивать программу для Windows с человеческим организмом. Если продолжать сравнение, то будет видно, что сообщения протекают через функцию окна, как кровь по организму. Кровь в организме прокачивается сердцем, а сообщения «качаются» циклом обработки сообщений.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий