X Window или просто X -- это система для создания графического пользовательского интерфейса, изначально -- на компьютерах, работающих под управлением ОС UNIX. X была создана в MIT (Массачусетский Технологический Институт). В настоящее время уже выпущена версия 11.6 (X11R6) и активно идёт подготовка к выпуску версии 7.
Особенностью X Window является её архитектура -- она построена по схеме клиент-сервер. Взаимодействие X-клиента и X-сервера происходит в рамках соответствующего протокола прикладного(*) уровня --- X-протокола. X Window безразличен используемый транспорт, которым может быть служить как локальный UNIX-socket, так и любой сетевой, например, TCP. Это означает, что X-клиент и X-сервер могут ``проживать'' и на разных компьютерах, т.е. программа может осуществлять ввод-вывод графической информации на экране другого компьютера, причём, различия в архитектуре X-клиента и X-сервера не играют никакой роли -- это обеспечивается стандартом X-протокола. Система обеспечивает графический вывод на экран машины, воспринимает сигналы от устройств ввода, таких, как клавиатура и мышь, и передаёт их программам (см. рисунок).
Следует отметить, что устройство вывода может иметь более одного экрана. X обеспечивает вывод на любой из них. Всё это: экран (экраны), устройства ввода (клавиатура, мышь) называется в теримнах X Window -- дисплей.
Благодаря своей архитектуре X Window свободно используется в распределённых вычислительных системах, например, в сетях TCP/IP (internet).
X позволяет пользователю (за дисплеем) общаться со многими программами одновременно. Чтобы вывод из них не смешивался, система создаёт на экране дисплея ``виртуальные подэкраны'' -- окна. Каждое приложение (как правило) рисует только в своём окне (или своих окнах). X предоставляет набор средств для создания окон, их перемещения по экрану, изменения их размеров, вывода в них и т.п.
Как правило, программы имеют набор конфигурационных параметров -- ресурсов. Это может быть цвет окна, различные параметры текстового шрифта (лигатура, кегль, etc.) и многое другое. Система стандартизует способ задания ресурсов приложений, управления ими, и содержит ряд процедур для работы с ними. Эта совокупность функций называется ``менеджер ресурсов'' (Xrm -- X resource manager). ``Хранилище'' параметров программы называется базой данных ресурсов.
X функционирует согласно идеологии управляемости событиями (event-driven architecture) -- она организует общение между самими программами и между программами и внешней средой посредством событий. Событие есть единица информации, идентифицирующая происходящие в системе изменения или действия. По идентификатору события можно получить информацию о нём -- вид события, его характеристики, где оно произошло и т.п..
WebMaster at Bolizm