АО "Аналитик"
Москва 1994 год
Пособие подготовлено коллективом в
составе :
Доценко А.В., Исаков А.Б., Рябов А.Ю.
Под редакцией Рябова А.Ю. - М., АО "Аналитик", 1994 г.
Содержит описание основных методов и приемов программирования в системе X Window и пакетах, базирующихся на ней. При подготовке издания использовались материалы из доступных зарубежных и российских монографий. Иллюстрирующие программы написаны авторами и приведены для закрепления навыков программирования в данной системе. Книга предназначена для разработчиков системных и прикладных программных средств в системе UNIX и X Window на рабочих станциях и других персональных компьютерах. издание может быть полезно аспирантам и студентам ВУЗов, специализирующихся по информатике и программированию.
В данном издании делается попытка дать начальное представление об основных аспектах программирования в системе X Window, работающей под управлением операционной среды UNIX. Книгу можно рассматривать как логическое продолжение ранее изданных брошюр ("Windows 3.0. Справочник для программистов", "Windows 3.0. Пособие по программированию", ("Windows 3.0. Программирование. Дополнительные главы") посвященных программированию в объектно-ориентированной среде MS WINDOWS. В настоящем издании основное внимание уделяется описанию общего устройства другой объектно-ориентированной системе - X Window, ее связи с UNIX, возможностях, предоставляемых программисту и пользователю. Много места уделено описанию и объяснению двух пакетов X Toolkit Intrinsic (Xt) и OSF/Motif, которые базируются на X Window и с успехом используются для созданию графических интерфейсов. Наша книга в основном адресована программистам, т.к. содержит описание и разъяснение функционирования базовых механизмов, применяемых в UNIX, X Window, Xt и Motif как для работы со своими внутренними объектами, так и для связи с пользовательскими приложениями. Книга содержит большое количество справочной информации, которая является необходимой и полезной не только для пользователей, начинающих изучать UNIX и X Window, но и для более опытных программистов. Для эффективного понимания и усвоения материала приводятся многочисленные примеры, иллюстрирующие описываемые функции и механизмы.
Следует заметить, что представленный в данном издании материал является по своей сути уникальным, т.к. написан на основе не только большого количества переработанной документации, но и личного опыта авторов, принимавших активное участие в создании специализированных приложений с использованием описываемых пакетов и систем.
Одним из главных достоинств издания является то, что представленная подборка содержит базовые знания, позволяющие Вам успешно начать программировать на рабочих станциях Sun, HP, Apollo, DEC Alpha и др., на которых основной является система UNIX, а графической оболочкой - X Window.
Надеемся также, то данная книга положит начало созданию целой серии изданий, посвященных различным аспектам программирования в системе X Window.
Операционная система UNIX существует очень давно. Созданная более двадцати лет назад, она прошла в своем развитии несколько стадий, и в настоящее время представляет, пожалуй, наиболее развитую, но вместе с тем простую и элегантную (если не сказать больше) систему в своей области. В UNIX есть все: параллельное выполнение многих программ, одновременная работа нескольких пользователей, виртуальная память, поддержка большого количества внешних устройств и сетей, развитые средства обработки текстов, мощные инструментальные средства для создания программного обеспечения. Система работает во всем мире на миллионах компьютеров разных типов.
В нашей стране UNIX был не очень распространен, и тому были свои причины. Во-первых, это существовавшая направленность на использование небольшого количества типов ЭВМ. В основном это были ЕС и СМ, на которых функционировали специально, под конкретную архитектуру разработанные, ОС, такие как ОС ЕС (IВМ 360/370), ОС РВ (RSХ-11) и РАФОС (RТ-11). Во-вторых, созданные, наконец, у нас во второй половине 80-х версии UNIX (МОС для ЕС, ИНМОС и ДЕМОС для СМ) несколько запоздали. Аппаратура, на которой предполагалась их эксплуатация, морально устарела и в настоящее время практически не используется. В-третьих, родные просторы заполонили компьютеры IBM PC - маломощные (до недавнего времени) машины, на которых установка такой среды, как UNIX, просто не оправдана.
Но ситуация меняется. РС выросли и стали не просто игрушкой для ввода и распечатки текстов, а компьютером, на котором можно решать серьезные задачи. Кроме того, появился, пока еще, ручеек, но очень много обещающий, по которому в страну "потекли" более мощные машины, так называемые "рабочие станции", для которых UNIX является основной операционной системой. Нет сомнений в том, что, как и в случае IВМ РС, производство станций будет налажено и в пределах России. Подводя итог, и учитывая так же и то обстоятельство, что для "любимых" народом РС так и не появилось "нормальной" ОС (OS/2 так и осталась чем-то, о чем многие слышали, но ни разу не видели, а новинка - Windows NT еще та "темная" лошадка), следует ожидать повышение (если не взрыв) интереса к UNIX в нашей державе.
Но, как и все во вселенной, UNIX имеет не только достоинства, но и недостатки, основными из них, до недавнего времени, было неудобство общения со средой пользователя и то, что система плохо поддерживает работу с привычной по миру РС графикой. Лет десять назад появились первые программные разработки, призванные поправить положение. Стандартом стала система X Window. Она позволяет рисовать на экране дисплея графические изображения, поддерживает концепцию окон и унифицирует работу с различными устройствами ввода-вывода. Для того чтобы облегчить программирование с применением X Window и упростить создание пользовательских интерфейсов существует несколько пакетов, из которых наиболее широко распространено X Toolkit Intrinsics ( Xt ) и Motif.
Именно об этой четверке UNIX+X Window+Xt+Motif и идет речь в предлагаемой читателю книге. Учитывая сложность всех этих программных продуктов, ясно, что в столь небольшом издании мы смогли привести лишь основы их построения и базу, необходимую для программирования с их использованием. Перечень литературы, приведенный в конце книги, позволит заинтересованным читателям получить более детальную информацию.
Книга рассчитана на программистов, имеющих опыт работы в несложных операционных средах (например, МS DOS) и знающих язык Си. Предполагается также, что читателю известны основы компьютерной архитектуры.
Авторы приносят извинения за то, что при изложении материала в русском тексте встречаются английские термины, написанные латинским алфавитом. Дело в том, что многие понятия пока не имеют устоявшихся эквивалентов в нашем языке, а буквальный перевод не полностью отражает их суть.
Книга состоит из введения, четырех глав и четырех приложений.
В главе 1 кратко описывается устройство ОС UNIX и основные выполняемые ею операции. Приводится описание средств, применяемых при построении программного обеспечения.
Глава 2 посвящена системе X Window. Рассказывается, что она из себя представляет. Перечислены и объяснены приемы программирования.
В главе 3 объясняется назначение пакета X Toolkit Intrinsics. Рассказывается о том, как использовать его для того, чтобы строить эффективное прикладное обеспечение, работающее в среде X Window под управлением ОС UNIX.
Глава 4 содержит описание основных объектов, предоставляемых программисту пакетом Motif .
Приложение 1 содержит справочник по типам данных, структурам и функциям X Window.
Приложение 2 содержит справочник по типам данных, структурам и функциям X Window.
Приложения 3 и 4 содержат справочник по типам данных, структурам и функциям пакета Motif .
Материал иллюстрируется многочисленными примерами программ.
Авторы допускают, что в издании может быть некоторое количество опечаток, появление которых обусловлено разве что только безусловно большим объемом приводимой информации. Но они ни в коей мере не влияют на смысловое содержание книги.
Авторы выражают признательность своим семьям за понимание и поддержку, проявленную во время длительного периода напряженной работы по написанию этой серьезной и очень нужной нашему читателю книги. Это время было оторвано от наших родных, детей и домашних животных, но мы надеемся, что оно не пропало даром и будет оценено по заслугам.