1.1 Основные понятия

1.1 Основные понятия

1.1.1 Общее устройство X Window

Система X Window представляет совокупность программ и библиотек. Сердцем ее является отдельный UNIX-процесс, существующий на компьютере, к которому присоединен дисплей. Именно сервер знает особенности конкретной аппаратуры, знает, что надо предпринять, чтобы закрасить пиксель на экране, нарисовать линию или другой графический объект. Он также умеет воспринимать сигналы, приходящие от клавиатуры и мыши.

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

Состав пакетов и их последовательность определяются специальным протоколом. Но чтобы программировать для X, совсем не обязательно знать детали реализации сервера и протокола обмена. Система предоставляет библиотеку процедур, с помощью которых программы осуществляют доступ к услугам X на высоком уровне. Так для того, чтобы вывести на экран точку, достаточно вызвать процедуру XDrawPoint(), передав ей соответствующие параметры. Последняя выполняет всю черновую работу по подготовке и передачи пакетов данных серверу. Упомянутая библиотека называется Xlib. Она помещается в файле lX11.a (libX11.so), который, как правило, находится в каталоге /usr/X11R6/lib. Прототипы функций библиотеки, используемые ею структуры данных, типы и прочее определяется в файлах-заголовках из директории /usr/include/X11.

На рис. 1.1 представлена схема общения клиентов и сервера.

Рис. 1.1. Общая схема общения программ-клиентов и X-сервера

Посылка порций данных, особенно если она осуществляется через сеть, операция достаточно медленная. Чтобы повысить производительность системы, Xlib не отправляет пакеты сразу, а буферизует их в памяти машины, на которой выполняется программа-клиент. Собственно передача выполняется в тот момент, когда клиент вызывает процедуру, ожидающую получения событий от сервера, например XNextEvent(). Программа может явно инициировать отправку пакетов, обратившись к функциям XFlush() или XSync().

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Основные понятия о процессах и потоках

Из книги автора

Основные понятия о процессах и потоках Прежде, чем мы начнем обсуждать потоки, процессы, кванты времени и другие замечательные «концепции диспетчеризации», давайте поговорим об аналогиях.Сначала я хотел бы проиллюстрировать, как функционируют потоки и процессы. На мой


Основные понятия JavaScript

Из книги автора

Основные понятия JavaScript Давайте рассмотрим пример еще одного Web-сценария, совсем небольшого:x = 4;y = 5;z = x * y;Больше похоже на набор каких-то формул. Но это не формулы, а выражения языка JavaScript; каждое выражение представляет собой описание одного законченного действия,


2.2 ВВЕДЕНИЕ В ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ

Из книги автора

2.2 ВВЕДЕНИЕ В ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ В это разделе дается обзор некоторых основных информационных структур, используемых ядром системы, и более подробно описывается функционирование модулей ядра, показанных на Рисунке


Глава 3 Основные понятия

Из книги автора

Глава 3 Основные понятия – Сервер.– Протоколы.– Службы Интернета.– Всемирная паутина.Прежде всего следует четко представлять, что такое Интернет. Интернет – это миллионы постоянно работающих компьютеров, разбросанных по всему миру и объединенных всевозможными


Основные понятия JavaScript

Из книги автора

Основные понятия JavaScript Давайте рассмотрим пример еще одного Web-сценария, совсем небольшого:x = 4;y = 5;z = x * y;Больше похоже на набор каких-то формул. Но это не формулы, а выражения языка JavaScript; каждое выражение представляет собой описание одного законченного действия,


6.1. Основные сетевые понятия

Из книги автора

6.1. Основные сетевые понятия 6.1.1. Протокол и интерфейс В основе сети Интернет лежит протокол TCP/IP, поэтому знакомство с понятием протокола необходимо любому пользователю.Протокол — это совокупность правил, определяющая взаимодействие абонентов вычислительной системы (в


1. Интернет и его основные понятия

Из книги автора

1. Интернет и его основные понятия Что такое интернет? Интернет – это много миллионов размещенных по всему миру компьютеров, связанных между собой в одну общую большую сеть. В наиболее широком смысле Интернет представляет из себя «место», где осуществляется постоянный


Основные понятия

Из книги автора

Основные понятия Что такое CVS? CVS - это система управления версиями. На самом деле, для CVS не важно, версиями чего вы управляете, однако здесь этот инструмент будет рассматриваться в том контексте, в котором он обычно используется - управление исходными текстами при


R.3 Основные понятия

Из книги автора

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


1.1 Основные понятия

Из книги автора

1.1 Основные понятия 1.1.1 Общее устройство X Window Система X Window представляет совокупность программ и библиотек. Сердцем ее является отдельный UNIX-процесс, существующий на компьютере, к которому присоединен дисплей. Именно сервер знает особенности конкретной аппаратуры,


6.1. Основные определения и понятия

Из книги автора

6.1. Основные определения и понятия Понятия «информация» и «данные» являются базовыми, первичными понятиями в информатике, поэтому на протяжении многих лет существовала и существует в настоящее время проблема при их трактовке. Многие авторы в отечественной учебной


11.3. Основные понятия

Из книги автора

11.3. Основные понятия Топология сетей Перед началом создания сети необходимо выяснить, где и как будут располагаться подключаемые компьютеры. Нужно также определить место для необходимого сетевого оборудования и то, как будут проходить связывающие компьютеры кабели.


Основные понятия ActionScript

Из книги автора

Основные понятия ActionScript Сценарий — это последовательный набор выражений, которые могут содержать действия — команды, воздействующие непосредственно на фильм. Также в выражениях могут быть ключевые слова — особые слова языка ActionScript, имеющие специальное значение, но не


Основные понятия архитектуры PKI

Из книги автора

Основные понятия архитектуры PKI Архитектура PKI описывает структуру отношений доверия между удостоверяющими центрами и другими субъектами инфраструктуры. По архитектуре PKI делятся на разные типы в зависимости от следующих характеристик:* количества удостоверяющих