9.2 Графика настольного Linux - графическая система X |
Предыдущая Содержание Следующая |
Графику рабочего стола Linux предоставляет X Windowing System (оконная система X). Мы используем её как пример, чтобы понять многоуровневую архитектуру полноценного графического решения. Система X первоначально написана для настольного компьютера. Графические карты для настольных компьютеров следуют определённым стандартам, VGA/SVGA. Устройства ввода, такие как драйверы ввода с мыши и клавиатуры, также имеют стандарты. Поэтому обычный драйвер поддерживает оборудование для отображение и ввода. Система X реализует интерфейс драйвера, необходимый для взаимодействия с оборудованием отображения ПК. Интерфейс драйвера изолирует остальную часть системы X от деталей, связанных со специфическим оборудованием. Оконная среда в X имеет модель клиент/сервер. X приложения являются клиентами; они взаимодействуют с сервером и выдают запросы, а также получают информацию от сервера. X сервер управляет дисплеем и обслуживает запросы от клиентов. Приложениям (клиентам) необходимо только знать, как общаться с сервером, и нет необходимости заботится о деталях отрисовки графики на устройстве отображения. Этот механизм коммутации (протокол) может работать поверх любого механизма межпроцессного взаимодействия, которые обеспечивает надёжный поток байтов. X использует для этого сокеты: как результат, X Протокол. Поскольку X основана на сокетах, она может работать по сети и может быть использована также для дистанционного отображения. Для отрисовки объектов на экране, клиенты X используют API, предоставляемый оконной системой X. Эти интерфейсы являются частью библиотеки X-lib, которая связана с клиентским приложением.
Рисунок 9.3 Арихитектура инструментария X.
Архитектура набора инструментов системы X показана на Рисунке 9.3. Она включает API, которые предоставляют возможности создания окон. Элементы управления, такие как списки, кнопки, флажки, поля ввода, и так далее, а также окна, построенные поверх примитивов X-lib и коллекцию таких библиотек, называемых виджетами/инструментариями (widget/toolkit). Набор инструментальных средств делает жизнь программиста приложения легкой, предоставляя простые функции для рисования элементов управления. Так как к серверу подключено множество клиентов, возникает необходимость управления различными окнами клиентов. Х сервер предоставляет оконный менеджер, другой клиент X, но единственный привилегированный. Архитектура X предоставляет специальные функции для выполнения оконным менеджером, такие действия, как перемещение, изменение размеров, сворачивание и разворачивание окна, и так далее. Для получения дополнительной информации вы можете посетить официальный сайт X11, http://www.x.org. |
Предыдущая Содержание Следующая |