Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

X-сервер и X-клиент

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

Х-сервер

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

  1. Отображение на экране визуальной информации;
  2. Ответы на информационные запросы пользователя;
  3. Реагирование на ошибки при выполнении запросов;
  4. Управление клавиатурой, “мышкой” и монитором как локально, так и по сети;
  5. Создание, управление и удаление окон (отображение в окнах графической информации).

Х-сервер может отображать окна различных Х-клиентов, в том числе и запущенных на разных компьютерах.

Х-клиент

Х-клиент,как правило, работает в тесной взаимосвязи с графической библиотекой (например, Xlib) для обработки запросов Х-протокола. Наиболее распространенными его функциями являются:

  1. отправка сообщений Х-серверу (например, запрос на рисование линии на экране);
  2. обработка событий, поступающих от Х-сервера (например, события от “мыши” и клавиатуры);
  3. получение ошибок от Х-сервера (например, ошибка доступа к удаленному серверу).

И Х-клиент и Х-сервер взаимодействуют посредством Х-протокола, которому свойственны такие составляющие компоненты, как: запросы, ответы, события и сообщения об ошибках.

Запросы

  1. Х-клиент направляет запросы Х-серверу, на выполнение определенных операций (например, запрос создания окна);
  2. Для улучшения скорости обработки запросов, Х-клиент обычно не ждет подтверждения получения его запроса Х-сервером, полностью полагаясь на сетевой транспортный протокол;
  3. Х-запросы всегда кратны 4-м байтам.

Ответы

  1. Х-сервер отличает запросы, которые требуют ответа, и отвечает на них. Как было уже сказано выше, из соображений производительности далеко не все запросы требуют ответов;
  2. Х-ответ также, как и Х-запрос, кратен 4-м байтам, но всегда не меньше 32-х байт.

События

  1. Х-сервер пересылает Х-события клиентам, которые их ожидают. Это может быть ввод с клавиатуры или управление “мышкой”. Для минимизации сетевого трафика, Х-клиентам отсылаются только ожидаемые события;
  2. Длина Х-событий всегда 32 байта.

Сообщения об ошибках

  1. Х-сервер может отвечать сообщениями об ошибках на запросы Х-клиентов. Сообщения об ошибках очень схожи с событиями, но по другому обрабатываются;
  2. Длина сообщения об ошибке 32 байта, и отправляется она специальной подпрограмме Х-клиента, которая предназначена для обработки Х-ошибок.

Базируясь на описанных выше понятиях, становиться понятно, что Х-клиент – это программный продукт, работающий с графической информацией на более высоком абстрактном уровне. В отличие от него, Х-сервер, а точнее его конкретная программная реализация, очень сильно зависит от того оборудования и операционной системы, для которых он спроектирован. Если анализировать особенности аппаратно-зависимого уровня Х-сервера, то ему свойственны:

  1. адаптация Х-сервера к выбранной платформе;
  2. учет порядка следования байтов и модификация его между компьютерами с разным порядком (MSB and LSB). Порядок следования байт учитывается при выполнении каждого Х-запроса;
  3. маскирование отличий аппаратного обеспечения и особенностей реализации операционных систем от Х-клиентов;
  4. работа с драйверами устройств, такими как клавиатура, “мышь” и монитор.

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

Сегодня Х-сервера работают на трех основных типах компьютеров:

Пока интересно, читаем дальше!

Авторское право © Сеник Николай, 2004-2006