Программирование для IBM OS/2© Александр Фролов, Григорий ФроловТом 25, М.: Диалог-МИФИ, 1993, 286 стр. 1 ОСНОВЫ PRESENTATION MANAGER
Для программиста система Presentation Manager представляет собой программный интерфейс - набор функций, обеспечивающий все необходимое для выполнения таких задач, как рисование изображения на экране, обработка ввода с клавиатуры и мыши, работа с файлами и каталогами, печать и т. д. Если приложение будет вызывать функции программного интерфейса Presentation Manager, оно должно сначала зарегистрировать себя в системе Presentation Manager определенным образом. После этого приложению становится доступен весь набор функций программного интерфейса. На первый взгляд создание приложений Presentation Manager может показаться очень непростым делом. В самом деле, даже если ваше приложение просто создает пустое окно, объем исходного текста может достигнуть нескольких десятков строк. Однако по мере изучения нашей книги вы убедитесь в том, что это кажущаяся сложность. В действительности исходные тексты сравнимой по выполняемым функциям программы MS-DOS окажутся намного более объемными, так как Presentation Manager берет на себя значительную часть работы. Например, система Presentation Manager сама заботится об изменении размеров окна, перемещении окна по поверхности рабочего стола и выполняет все необходимые для этого координирующие действия с драйвером мыши. Вы только представьте себе, что вам необходимо обеспечить все возможности рабочего стола с использованием только простейших средств, которые имеются в MS-DOS для работы с мышью и экраном, и тогда программирование для MS-DOS не покажется вам такой легкой задачей. Рассмотрим другой аспект, связанный с проблемой совместимости. Ваше приложение может быть запущено на любом компьютере, работающем под управлением выбранной вами операционной системы. Здесь вас поджидают трудности, связанные с необходимостью обеспечить совместимость вашей программы с любой периферийной аппаратурой, которое может оказаться у пользователя. Вопрос этот очень непростой, так как в настоящее время существуют десятки и сотни различных модификаций видеоадаптеров, принтеров, дисковых контроллеров, звуковых адаптеров, модемов и т. д. Если вы программируете для операционной системы MS-DOS , решение проблемы совместимости с аппаратным обеспечением компьютера полностью ложится на ваши плечи. При этом в некоторых случаях, например, при программировании видеоадаптеров, вы можете воспользоваться такими стандартами, как VGA или VESA SVGA, однако для реализации всех возможностей современных видеоадаптеров вам придется программировать на уровне портов ввода/вывода. Трудность здесь заключается в том, что видеоадаптеры, изготовленные различными фирмами, имеют различные порты ввода/вывода, режимы работы и другие параметры. В результате вам придется изготовить большой набор драйверов для существующих видеоадаптеров и поставлять его с вашей программой. Такая задача по плечу только крупным разработчикам программного обеспечения (не говоря уже о том, что получить полное и подробное описание портов ввода/вывода видеоадаптера вы сможете только в фирме, разработавшей этот видеоадаптер). Аналогичная проблема возникает при необходимости выполнить в вашей программе печать на принтере. Различных типов принтеров слишком много, чтобы при разработке, например, бухгалтерской программы, имело смысл создавать собственный драйвер для каждого типа принтера. Для решения проблем совместимости в составе операционных систем поставляются драйверы периферийных устройств. Эти драйверы разрабатываются либо изготовителем операционной системы, либо изготовителями устройств. Когда пользователь устанавливает операционную систему IBM OS/2 Warp, он автоматически или вручную устанавливает и все необходимые драйверы. Система Presentation Manager является как бы прослойкой между приложениями Presentation Manager и драйверами устройств, обеспечивая первым аппаратно-независимый интерфейс с устройствами. В результате с программиста снимаются все заботы по обеспечению совместимости с существущими периферийными устройствами, а также с устройствами, которые могут быть разработаны в будущем. Таким образом, относительно небольшая избыточность исходных текстов приложения Presentation Manager компенсируется тем, что вопросы аппаратной совместимости и вопросы координирования работы приложений в многозадачной среде с использованием общих устройств ввода/вывода перекладываются с программиста на разработчиков операционных систем и драйверов. Заметим, что вы не можете создавать комбинированные приложения, которые работают в текстовом режиме и пользуются только частью программного интерфейса Presentation Manager. Так что относительно данного интерфейса вы должны решить - либо вы используете из него все необходимое, создавая полноценное приложение Presentation Manager, либо ничего, останавливаясь на текстовом приложении. |