9.2 Графика настольного Linux - графическая система X

Предыдущая  Содержание  Следующая V*D*V

Графику рабочего стола Linux предоставляет X Windowing System (оконная система X). Мы используем её как пример, чтобы понять многоуровневую архитектуру полноценного графического решения.

Система X первоначально написана для настольного компьютера. Графические карты для настольных компьютеров следуют определённым стандартам, VGA/SVGA. Устройства ввода, такие как драйверы ввода с мыши и клавиатуры, также имеют стандарты. Поэтому обычный драйвер поддерживает оборудование для отображение и ввода. Система X реализует интерфейс драйвера, необходимый для взаимодействия с оборудованием отображения ПК. Интерфейс драйвера изолирует остальную часть системы X от деталей, связанных со специфическим оборудованием.

Оконная среда в X имеет модель клиент/сервер. X приложения являются клиентами; они взаимодействуют с сервером и выдают запросы, а также получают информацию от сервера. X сервер управляет дисплеем и обслуживает запросы от клиентов. Приложениям (клиентам) необходимо только знать, как общаться с сервером, и нет необходимости заботится о деталях отрисовки графики на устройстве отображения. Этот механизм коммутации (протокол) может работать поверх любого механизма межпроцессного взаимодействия, которые обеспечивает надёжный поток байтов. X использует для этого сокеты: как результат, X Протокол. Поскольку X основана на сокетах, она может работать по сети и может быть использована также для дистанционного отображения. Для отрисовки объектов на экране, клиенты X используют API, предоставляемый оконной системой X. Эти интерфейсы являются частью библиотеки X-lib, которая связана с клиентским приложением.

 

Рисунок 9.3 Арихитектура инструментария X.

Рисунок 9.3 Арихитектура инструментария X.

 

Архитектура набора инструментов системы X показана на Рисунке 9.3. Она включает API, которые предоставляют возможности создания окон. Элементы управления, такие как списки, кнопки, флажки, поля ввода, и так далее, а также окна, построенные поверх примитивов X-lib и коллекцию таких библиотек, называемых виджетами/инструментариями (widget/toolkit). Набор инструментальных средств делает жизнь программиста приложения легкой, предоставляя простые функции для рисования элементов управления. Так как к серверу подключено множество клиентов, возникает необходимость управления различными окнами клиентов. Х сервер предоставляет оконный менеджер, другой клиент X, но единственный привилегированный. Архитектура X предоставляет специальные функции для выполнения оконным менеджером, такие действия, как перемещение, изменение размеров, сворачивание и разворачивание окна, и так далее. Для получения дополнительной информации вы можете посетить официальный сайт  X11, http://www.x.org.

Предыдущая  Содержание  Следующая