Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 23:03, шпаргалка
Работа содержит ответы на вопросы по дисциплине "Информатика"
Инструментальные средства используют объектно-ориентированные понятия : widgets - это классы объектов, с которыми ассоциированы методы, и которые используют механизмы наследования. В наиболее развитых инструментальных средствах существуют,например widget'ы label,command button или даже menu. Программирование осуществляется путем использования процедур, манипулирующих объектами. Intrinsic определяют механизм создания и использования widget'ов.
Инструментальные средства используются в соответствии со следующими принципами :
- создание widget'ов - отображение widget'ов - обработка событий, связанных с widget'ами, путем запуска действий, являющихся атрибутами, связанными с widget'ами. Инструментальные средства облегчают труд программиста. Однако, прикладная программа, написанная с помощью инструментального средства перестает быть мобильной при изменении инструментального средства. Кроме того, widget'ы имеют отношение, как правило, лишь к пользовательскому интерфейсу ; когда же речь идет о графическом содержимом окон, следует использовать библиотеку Xlib (или библиотеки GKS или PHIGS, являющиеся надстройками Xlib).
Motif и Open Look
В настоящее время существуют
две развитых среды, позволяющих
строить пользовательский интерфейс
в X Window :
- Motif - фирмы OSF ;
- Open Look - фирмы UNIX International.
Каждая из этих двух сред
предлагает похожую идеологию и
сравнимые инструментальные средства
:
- руководство по стилю, цель которого
обеспечить одинаковый стиль интерфейса
для всех прикладных программ (как на Макинтош)
;
- развитые инструментальные средства
: XView для Open Look и Xm для Motif.
Кажется, Motif выдвигается в качестве стандарта,
обгоняя Open Look.
Интерактивные средства порождения интерфейсов
Для того, чтобы еще более упростить задачу разработчиков, появились интерактивные редакторы интерфейсов. Эти редакторы автоматически порождают программный код Motif и Open Look. Программист рисует свой интерфейс с помощью пиктограмм и меню.
Вообще говоря, эти программные средства не заменяют знакомства программиста с Motif или Open Look, но дают ему возможность избежать кодирования примитивов, содержащих многочислен- ные и довольно сложные параметры.
8.3.2. Использование прикладных программ
Запустите сервер Х на машине, управляющей тем экраном, с которым Вы хотите работать.
Если прикладная программа - клиент находится на той же машине,что и сервер, ее следует запустить без дополнительных параметров.
Если прикладная программа
находится на удаленной машине, то
для успешной работы необходимо, чтобы
этой машине было разре- шено использовать
сервер (см. параграф 8.3.3., рассказывающий
об управлении). Существует две возможности
:
- подсоединиться к удаленной машине и
- либо изменить значение переменной окружения
DISPLAY, присвоив ей значение имя_сервера:0.0,
а затем запустить программу ;
- либо активировать программу с параметром
-display имя_сервера:0.0 ;
- выполнить команду удаленного запуска
(что позволяет избежать подсоединения
к машине), при условии, что это позволяет
делать файл .rhosts на удаленной машине.
При этом прикладная программа выполняется
с параметром -display. Например, предположим,
что пользователь, работающий под именем
gab с экраном машины ordinan, хочет выполнить
следующие операции :
- запустить Window Manager системы ordinbb, на которой
gab имеет счет и запись в файле .rhosts (файл
содержит строку ordinan gab): #rsh ordinbb /usr/bin/X11/hpwm
-display ordinan:0.0 &
- запустить прикладную программу xman на
станции ordinzz ; пользователь gab имеет на
станции ordinzz счет titi (файл .rhosts содержит
запись ordinan gab) : #rsh ordinzz -l titi /usr/bin/X11/man -display
ordinan:0.0 &
8.3.3. Управление
Запуск сервера и клиентов
Сервер запускается с помощью командного файла, активирующего в то же самое время несколько клиентов (обычно Window Manager и несколько окон : xclock,xterm ...). Остальные клиенты запускаются с помощью меню или непосредственно в окне, эмулирующем терминал (с помощью прикладной программы xterm).
Атрибуты выполнения клиентов
(цвет,символы ...) можно настроить одним
из следующих способов :
- указав в качестве значения параметра
при запуске клиента (только при вызове)
;
- изменив (что повлияет на всех пользователей)
файл /usr/lib /X11/ app_defaults/имя_прикладной_
- изменив (что повлияет только на данного
конкретного пользователя) файл $HOME/.Xdefaults.
Все эти механизмы управления атрибутами автоматически обрабатываются в прикладных программах при использовании функций XGetDefault() или XInitialise() библиотеки Xlib.
Производительность
Для того, чтобы эксплуатировать систему было удобно, необходимо размещать серверы Х на мощных рабочих станциях, обладающих памятью соответствующего размера. Сэкономить при этом можно на терминалах Х. Что касается сети, механизмы асинхронной пересылки и хранения информации в буферах вносят свой вклад в повышение производительности системы.
Загрузка сети
Загрузка в сети разумеется зависит от типа прикладных программ. Вообще говоря, X Window почти не загружает сеть (интерактивные прикладные программы), за исключением отдельных моментов - при пересылке образов, например. То, что сервер сохраняет ресурсы, которые, таким образом, пересылаются только один раз, сильно уменьшает трафик сети. Для примера мы измерили загрузку в сети, порожденную прог- раммой, выполняющейся на компьютере Cray и непрерывно, при этом, отображающей векторные графические изображения на экране станции Sun 3/260. Программа на ЭВМ Cray рисует графику с помощью средств графической библиотеки PHIGS, являющейся надс- тройкой X Window. Трафик, при этом, составляет примерно 10 К/сек, причем длина пакета в сети Ethernet равна в среднем 400 байт.
Безопасность
Сервер Х доступен только для тех удаленных машин, которые зарегистрированны в файле /etc/X0.hosts (постоянная авторизация) или с помощью команды xhost (временная авторизация). Таким образом, защита реализована от доступа машин, а не от доступа пользователей.
В версии X11R5 этот недостаток ликвидирован - введена команда xauth.
8.4. PEX И ДРУГИЕ
8.4.1. Функциональные
возможности и механизмы
PEX - это протокол, являющийся
расширением X Window, и предназначенный
для управления трехмерными графическими
изображе- ниями.
PHIGS - это стандарт ISO/IEC 9295.1 интерфейсов
прикладных программ, описывающий функции
управления трехмерными графическими
изображениями. PHIGS+ - расширяет возможности
PHIGS по созданию реалистичных изображений
- тени,полутона,глубина ... PHIGS+ - проект
стандарта ISO (Черновое Предложение 9592.4).
PHIGS опирается на концепцию
иерархически упорядоченной
Как и Х, РЕХ разбит на библиотеку клиента и сервера (Рис. 8.3.) PHIGS - это API (Application Program Interface - Интерфейс прикладных программ) PEX. PEX использует концепции X Window : дисплей, управление ресурсами ...
Благодаря РЕХ, прикладную программу, разработанную с учетом стандарта PHIGS, можно переслать на другую машину, не изменяя ее программного кода, и она будет работать.
Рис. 8.3. - Отношения между
PHIGS, X и PEX
1 - Прикладная программа
2 - обмен данных между процессами
3 - Протокол Х и PEX
4 - Общий сервер
5 - Сервер Х
6 - Сервер РЕХ
PEX можно инсталлировать
в одном из трех возможных
режимов :
- в режиме IMMEDIATE RENDERING - в этом режиме управление
структурами PHIGS выполняет клиент PEX ;
- в режиме PHIGS WORKSTATION - в этом режиме управление
структурами осуществляется сервером
;
- в смешанном режиме -в этом режиме структуры
сохраняются и клиентом и сервером.
Каждый из трех режимов
имеет свои преимущества и недостатки
:
- структурами управляет клиент (рис. 8.4)
:
- скорость выдачи изображения на экран
зависит от скорости сети.Графический
вывод выполняется путем передачи структур:
таким образом, вся совокупность структур
пересылается через сеть ;
- редактирование структур не зависит
от сети, так как выполняется клиентом
- локально
- структурами управляет сервер (рис. 8.5)
:
- скорость выдачи изображения не зависит
от скорости сети ;
- редактирование структур (создание, удаление,
вставка) зависит от скорости передачи
в сети, так как осуществля- ется клиентом
через сеть ;
- смешанный режим (рис. 8.6) : этот режим
является, по-видимому оптимальным, но
зато и самым сложным при инсталляции.
Локальное редактирование структур
Рис. 8.4. Структурами управляет клиент.
Рис. 8.5. Структурами управляет сервер.
Рис. 8.6. Смешанный режим : структурами управляют клиент и сервер.
8.4.2. Альтернативы PEX
Альтернативами РЕХ являются распределенные версии нестандартизованных графических библиотек. Ниже описываются три продукта, использующих этот подход.
DGL (Distributed Graphic Library)
DGL - это распределенная версия библиотеки GL (Graphic Library), использующейся на рабочих станциях IBM RS6000 и Silicon Graphics. Основной принцип работы - пересылка вызовов библиотеке с помощью механизма, аналогичного RPC (Remote Procedure Call).
Распределенный PHIGIX
PHIGIX - это коммерческая
версия графического стандарта
PHIGS, реализованная фирмой CELTIS. В
рамках проекте EDF от фирмы
CELTIS требовалось реализовать
Вывод информации на экран требует передачи совокупности структур через сеть, что неудобно для прикладных программ, часто манипулирующих трехмерными объектами (изменения точки зрения, увеличение (zoom)...). С другой стороны, такая архитектура может оказаться очень удобной для других программ, не так часто манипулирующих трехмерными объектами.
DGPHIGS
DGPHIGS - это распределенная версия библиотеки PHIGS, разра- ботанной французской фирмой G5G. DGPHIGS делится на программ- ное обеспечение клиента, управляющее структурами PHIGS, и программное обеспечение сервера, управляющее графическими устройствами (Рис. 8.8). Сервер получает сообщения о событиях, вызванных действиями клиента и отправляет такие же сообщения клиенту. Клиент пересылает на сервер структуры PHIGS - для вывода на экран. Сервер сохраняет структуры PHIGS до тех пор, пока их не вытеснят другие структуры. Обмен структурами PHIGS между клиентом и сервером выполняется с помощью библиотеки sockets. Такая архитектура позволяет значительно уменьшить объем пересылки в сети : например, операции по изменению точки зрения выполняются прямо на сервере, без взаимодействия с клиентом.
Рис. 8.7. - Архитектура PHIGIX.
1 - Ядро PHIGIX
2 - Структуры PHIGIX
3 - Коммуникационный интерфейс
4 - Архивы PHIGS
5 - Драйвер
6 - Ускоритель 3х-мерная графика
Рис. 8.8. - Архитектура DGPHIGS.
1 - Сервер вычислений
2 - клиент
3 - Структры PHIGS
4 - Архивы PHIGS
5 - События
6 - сервер
7 - Сохраненные структуры PHIGS
8 - Рабочая станция
8.5. ИТОГИ
X Window - это распределенный, многооконный, графический интерфейс пользователя, очень распространенный в среде пользователей UNIX. Механизмы реализации используют модель клиент-сервер и асинхронные коммуникации. Клиент - это прикладная программа. Сервер - это программа, которая контролирует и управляет интерфейсом изображения (дисплеем). Она, таким образом, отвечает за вывод на экран, управление мышкой и клавиатурой и за отслеживанием действий пользователя.
X Window - это мощное инструментальное средство, позволяющее разрабатывать прикладные программы. Прикладные программы могут, к примеру, выполняться на обрабатывающем сервере (сервере вычислений) и управлять выводом изображений на экран и взаимодействием с пользователем на графической рабочей станции.
X Window - используется для управления двумерной графикой. Использовать третье измерение позволяет РЕХ. РЕХ предлагает те же возможности, что и X Window, а кроме того дополнительные возможности PHIGS 3D. В настоящее время начинают появляться реализации PEX. Так, например, X11R5 содержит PEX SI (Simple Implementation - Простая реализация), который управляет структурами PHIGS на сервере. Однако существуют и альтернативные возможности, позволяющие распределить трехмерные графические библиотеки.
билет
билет3 В1