Базовая архитектура системы X Window 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Базовая архитектура системы X Window



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

В первую очередь, понятия клиента и сервера рассматривают под необычным углом зрения. Под клиентом привыкли понимать приложение, которое непосредственно взаимодействует с пользователем, обрабатывает команды от клавиатуры или мыши и отображает данные, а под сервером - приложение, к которому клиент обращается за данными. В данном случае это не так (фактически имеем обратную картину).

В архитектуре X Window под сервером (Х-сервером) понимают программное обеспечение, которое полно отвечает за отображение информации на дисплее пользователя (с использованием графического адаптера) и за обработку команд от мыши и клавиатуры. На компьютере обычно запускают лишь одну копию Х-сервера.

Прикладные программы являются клиентами (Х-клиентами), они обрабатывают данные и обращаются к серверу для их отображения. Кроме того, сервер превращает действия пользователя (перемещение мыши, нажатия клавиш на клавиатуре) в данные и передает клиентам для обработки. Клиенты не имеют информации об особенностях работы с конкретным графическим устройством, они знают лишь особенности обмена данными с сервером, предопределенные специальным Х-протоколом (X Protocol).

Клиенты и серверы могут находиться на разных компьютерах и выполняться под разными операционными системами (рис. 8.2). Х-протокол обычно работает поверх TCP/IP, фактически он является набором договоренностей о передаче специальных двоичных данных. Один сервер может одновременно отображать информацию от клиентов, которые находятся на разных компьютерах. Например, компьютер под управлением Linux может отображать средства редактирования видеоинформации, запущенные на компьютере Silicon Graphics под управлением ОС IRIX, и административный интерфейс (окно добавления нового пользователя), запущенный на другой Linux-машине. При этом ни одно из этих применений не находится в памяти компьютера, на котором выполняется Х-сервер. С другой стороны, компьютеры, на которых запущены Х-клиенты, могут вообще не поддерживать графического отображения информации - для них достаточно наличия связи с сервером через сеть.

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

 

Оконные менеджеры

Команды, посланные клиентами сервера, обычно связанные с необходимостью отображения информации в окне применения - участке екрана, которым владеет соответствующее применение. Важным свойством системы X Window есть то, что Х-сервер не отвечает за работу с такими окнами, для этого используют специальное клиентское приложение - оконный менеджер (window manager). В обязанности такого менеджера входит поддержка базовых операций над окнами (их перемещения, закрытия или изменения размеров), а также «декорирование» окон (отображение рамки, заглавия и тому подобное).

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

Решение выделить поддержку оконных операций в отдельное приложение дало возможность достичь дополнительной гибкости работы с системой. Есть многие разные оконные менеджеры, среди самых распространенных можно выделить fvwm, sawfish, enlightenment. Некоторые из них реализуют лишь базовую функциональность управления окнами, другие предоставляют пользователю много возможностей (запуск приложений, организации рабочего стола и тому подобное).



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 152; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.23.101.60 (0.004 с.)