Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Windows и Linux в одной сети - конспект - Программирование, Рефераты из Программная инженерия

Реферат по дисциплине программирование. Тема работы Сказка о том, как Windows и Linux дружили в одной сети. Содержание работы: Об используемых технологиях. Реализация х-сервера для windows. Подготовка машины linux

Вид: Рефераты

2012/2013

Загружен 22.07.2013

Ivan_Bunin
Ivan_Bunin 🇷🇺

4.5

(11)

658 документы

1 / 6

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Windows и Linux в одной сети - конспект - Программирование и еще Рефераты в формате PDF Программная инженерия только на Docsity! Сказка о том, как Windows и Linux дружили в одной сети Артур Крюков Если бы не слушатель курсов по Linux, преподавателем которых я являюсь, мне, как человеку, очень долго работающему с Linux, эта мысль вряд ли пришла бы в голову. На первый взгляд кажется, а зачем это вообще нужно? Но по здравому размышлению предложенная идея показалась достаточно интересной, и захотелось посмотреть, как она будет работать на практике. С чего все началось? После рассмотрения темы, посвященной системе X Window и возможности запуска Х-клиентов и Х-серверов на разных машинах в сети, у слушателя возник вопрос: «А можно ли сделать так. чтобы все критические с точки зрения безопасности приложения выполнялись на Linux, а их вывод отображался на машинах с Windows?» Вопрос показался странным — зачем устанавливать рабочие станции Windows, если так волнует безопасность? В системе Linux имеется полный набор офисного программного обеспечения, для их использования переобучать персонал почти не приходится. Как рабочая станция Linux - вполне приемлемое и безопасное решение. Разве что специфическое программное обеспечение, наподобие «1C Предприятие», на нем не установишь — для его выполнения потребуется терминальный сервер Windows. Однако слушатель отверг такое решение, поскольку основными пользователями в его системе были дизайнеры, а им требуется специфичное ПО, отсутствующее в Linux. Проблемы же возникают в основном с программами, где предусмотрен доступ в Internet: с почтовыми клиентами, браузерами и т. п. Установка антивирусных средств и обновление самой системы мало чем помогают. Поэтому, когда он услышал на занятии, что в Linux программа способна физически работать на одной машине, а отображать данные на другой, без потери качества изображения и скорости работы, у слушателя возник вполне естественный, с сто точки зрения, вопрос о возможности отображать данные программ, работающих под управлением Linux, на компьютерах с Windows. Тогда все программы, обращающиеся в Internet, можно перевести на Linux, где они не подвержены вирусам и прочим возможностям взлома. Все файлы, получаемые клиентами из Internet, будут сохраняться исключительно на машине Linux, а там, где установлена Windows, останутся только окна с соответствующими программами. Об используемых технологиях В UNIX в качестве графической оболочки применяется система X Window, у которой имеется много различных реализаций - коммерческих, полукоммерческих и т. д. Что касается Linux, то на данный момент в основном используются XFree86 и xorg. Из-за проблем с лицензированием первая система отсутствует в современных дистрибутивах Linux, поэтому все чаще встречается xorg. X Window построена по принципу клиент-сервер. Однако принцип взаимоотношения клиента и сервера поставлен «с ног на голову». Обычно под сервером или серверным приложением понимают какое-либо программное обеспечение, реализующее хранение информации или сложные вычисления. А клиент — это программа, позволяющая осуществлять управление или получать доступ к информации. В X Window сервер — программа для отрисовки изображения на экране, а назначение клиента — отображать данные на сервере, с использованием функций библиотеки Xlib. Таким образом, сервер X Window содержит драйверы видеокарты, клавиатуры, мыши и других устройств ввода и позволяет клиентским программам «рисовать» на экране монитора. Клиент и сервер могут находиться на различных машинах в сети. Более того, допустимо, чтобы на одном сервере «рисовали» несколько клиентов, каждый из которых выполняется на разных машинах. Программу с функциями Х-сервера можно расположить на отдельном устройстве или в другой системе в сети - будь то специальное устройство, так называемый X-терминал, или программа для любой операционной системы (в том числе Windows), лишь бы они обеспечивали функционал Х-сервера. Потенциально данные на Х-сервере способен отображать любой Х-клиент, но обычно вводят ограничения и указывают конкретные клиенты. Для отрисовки окон используется специальное программное обеспечение - оконный менеджер (Window Manager). От него зависит, как выглядят окна и как они себя ведут. Оконный менеджер тоже Х-клиент, т. с. для отображения окон он посылает данные на Х-сервер. Некоторые программы Х-сервера, работающие под управлением Windows, имеют встроенный оконный менеджер. И еще одна немаловажная для X Window программа - менеджер дисплеев (Display Manager). X-терминал - это устройство, на котором нет ни одной программы. Все программы (Х-клиенты) выполняются на каких-либо машинах, а на X-терминале только отображаются данные. После включения X-терминал подключается по протоколу X Display Manager Connect Protocol (XDMCP) к серверу, где установлен менеджер дисплеев, посредством которого клиент осуществляет вход в систему и запускает оконный менеджер. Так мы получаем полноценное рабочее место на машине UNIX с отображением рабочего стола на машине Windows. Все программы (включая окопный менеджер) будут выполняться на UNIX, а данные представит Windows. Современные программы, реализующие функции Х-сервера, позволяют полностью эмулировать X-терминал, но они могут обойтись и без эмуляции. Если нет необходимости отображать весь рабочий стол UNIX, конкретные программы можно воспроизводить в отдельном окне Windows, запуская их на машине UNIX, правда, все равно придется заводить на ней учетную запись пользователя и выводить принадлежащие ему данные на Х-сервер. Реализация х-сервера для windows Итак, какие же программы реализуют работу Х-серве-ра на машине Windows? После непродолжительных поисков мне удалось найти три бесплатных сервера: Gygwin/X, WiredX на Java и условно бесплатный X-Deep/32. Cygwin/X (http://x.cygwin.com). Широко известная в узких кругах компания Cygwin разрабатывает библиотеку cygwin1.dll для эмуляциии Linux API и занимается переносом на Windows набора популярных утилит GNU. Последние (gec, Id и т. д.) распространяются по лицензии GNU GPL, однако библиотека суд-win1.dll имеет собственную, отличную от GPL, лицензию, в соответствии с которой ее можно использовать в коммерческом программном обеспечении. Cygwin/X это перенос X Window System на различные виды ОС Windows. Продукт работает на всех видах Windows, начиная с Windows 95 и закапчивая Windows Server 2003. Cygwin/X содержит Х-сервср, библиотеку X и набор стандартных Х-клиентов: xterm, xhost, xclock и др. WeiredX (http://www.jcraft.com/weiredx). Компания JCraft специализируется на создании коммуникационных программ с использованием технологии Java. Большая часть программного обеспечения распространяется в соответствии с лицензией GNU GPL, в том числе сервер WeiredX. Кроме того, компания распространяет еще один сервер, но под коммерческой лицензией — WiredX. Вместо указанного в примере IP-адреса следует ввести IP-адрес машины Linux, на которой будут запускаться программы. Потом необходимо зайти на машину с Linux при помощи программы ssh: ssh user@192.168.1.3 и указать имя пользователя машины Linux и ее IP-адрес. Теперь сделаем так, чтобы программы, запускаемые на Linux, отображали свои данные в окне на машине Windows. Один из вариантов — использование переменной среды окружения DISPLAY: export DIS-PLAY=192.168.1.2:0.0. Вместо IP-адреса, указанного в примере, следует использовать IP-адрес машины Windows, на которой работает Х-сервер. Программы запускаются обычным образом. Установка и настройка WEIREDX Сервер поставляется в виде архива zip, который достаточно распаковать в любом каталоге. Перед запуском в системе необходимо установить виртуальную машину Java как минимум версии 1.1. В каталоге, где был распакован архив, появится подкаталог config, p нем находится всего один конфигурационный файл — props. Все параметры сервера задаются в этом файле. В файле props следует найти параметр weirdx.dis-play.acl, чтобы определить, кому можно отображать данные на этом Х-сервере. Например, +192.168.1.3 или просто символ «+», если доступ разрешен всем. Запуск сервера лучше производить посредством специального командного файла из каталога misc — weirdx-Java2.bat. Затем надо зайти на сервер Linux при помощи любой программы, поддерживающей протокол ssh (например, PuTTY). Как и п случае с Cygwin/X, это необходимо для определения переменной DISPLAY и запуска программы. WeiredX работал очень медленно (сказывается использование Java), и при отрисовке на экране появлялись черные полосы. В целом качество данного продукта разочаровало, поэтому снимки экрана с примерами работы WeiredX не приводятся. Установка и настройка X-DEEP/3 На сайте X-Deep/32 отсутствовала какая-либо документация по продукту, кроме FAQ. Установочный файл занимал почти 16 Мбайт, а для установки нужно 43 Мбайт свободного дискового пространства. Сам процесс представляет собой обычную процедуру установки программы Windows. По его завершении была обнаружена документация по продукту и две программы: Х-ссрвер и X Client Launcher. После запуска Х-сервера появилось диалоговое окно, где предлагалось выбрать сетевой интерфейс, посредством которого Х-сервер будет слушать запросы (См. Рисунок 2). Затем сервер осуществил поиск доступных посети менеджеров дисплеев и представил их список. Правда, при первой попытке подключиться к менеджеру дисплеев не удалось: в сети требовалось настроить корректное преобразование имен. Но после запуска X-Deep/32 можно открыть окно настроек, где явным образом указать машину Linux, к которой следует подключаться. И еще одна интересная возможность — сделать главное (root) окно Х-сервера прозрачным (см. Рисунок 3). Тогда на рабочем столе Windows будут видны пиктограммы Linux. Но при всей простоте установки и настройки Х-сервер показал себя не с лучшей стороны в плане производительности — cygwin/X работает гораздо быстрее. Встроенная в X-Deep/32 возможность удаленного запуска программ опирается на rsh и гехес. Ни один здравомыслящий администратор эти программы использовать не будет. Таким образом, в случае X-Deep/32 остается довольствоваться режимом эмуляции Х-термипала, что не всегда удобно. Итоги В результате проверки трех бесплатных серверов под Windows наиболее приемлемой, по моему мнению, является реализация от Cygwin. Несмотря на то что Х-сервер от Cygwin требует установки почти всей базовой среды запуска, он работает великолепно. И это не удивительно, ведь он представляет собой стандартную реализацию сервера xorg, собранную в среде cygwin. Соответственно, при конфигурации сервера применяются тс же приемы, что и в Linux. Про WeiredX ничего хорошего сказать нельзя. Во-первых, очень медленная. Во-вторых, для запуска программ требуется наличие дополнительной программы, позволяющей подключиться к машине Linux. X-Deep/32 мог бы оказаться лучшим выбором, если бы в нем имелась возможность нормального запуска программ или хотя бы встроенный клиент для удаленной регистрации на машине Linux. Вероятно, существуют и другие бесплатные реализации Х-серверов для Windows, но при быстром поиске в Internet их обнаружить не удалось. Возможно, коммерческие Х-серверы способны продемонстрировать куда большую скорость работы и легкость конфигурирования, ведь не зря же их продают (цены колеблются от 40 до 300 долларов за рабочее место). В заключение считаю нужным отметить, что содержать рабочие места под управлением Windows для того, чтобы несколько человек могли запускать специфичные для Windows программы, на мой взгляд, неудобно. Проще выделить один терминальный сервер под управлением Windows 2000 и разместить на нем специфичные программы — 1C, системы CAD и проч., а на рабочих местах использовать бездисковые рабочие станции под управлением Linux, на которых и запускать rdesktop, терминальный клиент для Windows. LAN Артур Крюков — преподаватель учебного центра «Специалист». С ним можно связаться по адресу: akr-jukov@speciaUst.ru. Список литературы Журнал LAN №8 2005
Docsity logo