Полное руководство по Citrix MetaFrame XP


Выбор приложений для MetaFrame


Не все приложения одинаково хорошо работают в среде терминального сервера.

Terminal Services работает лучше с приложениями Win32. Причина этого лежит в способе, которым Win2K выполняет приложения Win32 и Win16. Будучи 32-разрядной операционной системой, Windows 2000 не может самостоятельно выполнять приложения Win16. Вместо этого она создает виртуальную машину DOS (VDM), которая является 32-разрядным приложением и выполняет приложения Win16 внутри контекста этого VDM. Если приложения Win32, выполняющиеся обычно на Win2K, могут совместно использовать между собой файлы и структуры, то приложения, выполняющиеся в пределах VDM, не могут "видеть" друг друга для совместного использования файлов. Практический результат этого поведения, совместно с тем фактом, что трансляция 16-разрядных запросов к ОС в 32-разрядные запросы занимает некоторое время, означает, что приложения Win16 выполняются хуже, чем приложения Win32. Они будут работать (это хорошая новость), но будут использовать больше памяти и процессора, чем приложения Win32. Согласно Citrix, приложения Win16 на 20% больше нагружают процессор и на 25% больше требуют памяти..

Приложения DOS представляют другой вид проблемы. Фактически, они представляют два вида проблем. Во-первых, приложения DOS были написаны для однопользовательской однозадачной среды. Чтобы быть настолько чувствительными, насколько возможно, приложения DOS постоянно опрашивают буфер клавиатуры, ища предназначенный для них ввод. Это поведение означает, что приложение DOS, даже ничего не делая, расходует поразительное количество процессорного времени. Это потребление приемлемо в однопользовательской среде, но совершенно непримелимо, когда процессорное время должно быть разделено с дюжиной человек. Это потребление является проблемой не во всех приложениях DOS, но прежде чем вы развернете их на сервере MetaFrame, я строго рекомендую сначала проверить их на отдельном компьютере с запущенным System Monitor, чтобы увидеть, сколько процессорного времени они требуют.

WTS включает утилиту DOSKBD, которая изменяет опрос клавиатуры программы, чтобы улучшить производительность системы при выполнении приограмм DOS. По существу, DOSKBD помещает программу в "сон", если она опрашивает буфер клавиатуры слишком часто. Win32K не включают DOSKBD, а версия WTS не работает с Win2K Terminal Services, но вы можете использовать другой инструмент для настройки приложений DOS - TAME ()

Кроме того, приложения DOS с графическим интерфейсом для отображения используют точечные рисунки (bitmaps), а не графику Windows. Точечные рисунки требуют больше времени для загрузки клиенту, чем команды GDI, от этого страдает отклик сеанса. Приложения, отображающие точечные рисунки в среде терминального сервера, в лучшем случае ведут себя судорожно, и большей частью полностью непригодны, особенно на медленных соединениях. Хорошей новостью является то, что вам не стоит беспокоиться о людях, пробующих запустить на сервере MetaFrame игру Diablo II. Даже если бы вам удалось ее запустить, люди бы отбросили ее с отвращением еще до того, как первый экран закончит сползать вниз на их дисплее.

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

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

Другие проблемы, которые затронут приложение, функционирующее в среде MetaFrame, могут применяться к любому классу приложений, будь то Win32, Win16 или DOS. Некоторые из этих проблем могут быть выявлены, но иногда вам либо придется к изготовителю приложения за справкой, либо признать поражение и запускать приложение локально. Вероятные виновники включают: