Змей Горыныч - сказка и быль

Дата публикации: 10.09.2001
Источник: Компьютерра номер №34 (411)
Авторы:
Дмитрий Бургонский, dsb@msiu.ru
Василий Евсеенко, evseenko@msiu.ru
Евгений Роганов, roganov@msiu.ru

Читателям наверняка известна русская народная сказка о трехголовом Змее Горыныче. Однако самые молодые из них могут не знать, что лет десять-пятнадцать назад большинство компьютеров были не персональными, а многопользовательскими: к одной ЭВМ подключалось сразу несколько алфавитно-цифровых терминалов.

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

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

Так оно и случилось: проект «Змей Горыныч», реализованный в Московском государственном индустриальном университете, позволяет на базе одного системного блока, без использования нестандартных комплектующих, организовать три полноценных рабочих места. Наличие трех «голов» (мониторов) объясняет название проекта.

История

Со временем персональные компьютеры вытеснили в МГИУ (тогда еще Заводе-ВТУЗе при ЗИЛе) машины серий ЕС и СМ, а также графические рабочие станции «Беста». Исчезли и классы с алфавитно-цифровыми терминалами. Однако и на ПК мы хотели работать в многопользовательской среде и потому пытались использовать Unix. Около пяти лет назад персональные компьютеры стали достаточно мощными;
операционная система Linux достигла стадии, на которой ее уже можно было использовать;
руководство вуза поставило задачу ускоренного создания новых компьютерных классов и внедрения средств телекоммуникации;
государственные учебные заведения окончательно лишились бюджетных средств на развитие материально-технической базы.

В этих условиях для компьютерных классов зачастую приобретались бездисковые машины, которые были существенно дешевле, а также тише, надежнее и проще в администрировании.

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

Необходимость дальнейшего интенсивного развития в условиях недостаточного финансирования заставляла изыскивать выгодные с экономической точки зрения схемы организации новых компьютерных классов. Объединение нескольких известных к тому времени решений позволило в 1999 году, после появления компьютеров с USB-портами, создать первый «Горыныч». Оставалась нерешенной только проблема физического подключения трех клавиатур к одному системному блоку.

Год назад в МГИУ начал работать компьютерный класс на базе «Горынычей», чуть позже - еще один, а этим летом приобретены два новых класса, состоящие из бездисковых машин. В апреле текущего года стоимость одного рабочего места в таком классе составляла 323 доллара. При этом снижаются расходы на организацию сети, а основные средства вкладываются в мониторы (относительно долго не устаревающую часть рабочего места) и серверы.

Аппаратная часть «Горыныча»

В ядре Linux есть драйвер, обеспечивающий одновременную работу нескольких видеоадаптеров. USB-порт позволяет подключить несколько клавиатур, а подключение трех мышей - вообще не проблема. Таким образом, «Горыныч» может быть собран из следующих компонентов (в список не включены очевидные комплектующие - процессор, память и пр.):
материнская плата с поддержкой USB;
3 видеокарты Matrox Millenium;
1 PS/2-клавиатура;
2 USB-клавиатуры;
1 PS/2-мышь;
2 serial-мыши.

Программная частьЧтобы вдохнуть жизнь в описанную выше конструкцию, пришлось решить несколько проблем (мы лишь перечислим их и намекнем на способ решения; подробнее см. на http://www.ctc.msiu.ru/).

Во-первых, X-серверы не могут работать одновременно: в каждый момент активен только один из них. Решение этой проблемы потребовало создания для каждого из трех серверов отдельного виртуального псевдоактивного терминала, а реальное переключение виртуальных терминалов в системе пришлось запретить.

Во-вторых, прерывания от клавиатур идут единым потоком. Решение о принудительной доставке событий с трех различных клавиатур виртуальным терминалам tty1, tty2 и tty3, будучи довольно прямолинейным, позволяет обойтись минимальными изменениями в ядре.

Следующая проблема связана с тем, что существует единственный X-сервер, который может использовать framebuffer, - XF86 FBDev. Он неоптимизирован, а значит, практически непригоден, поскольку его производительность снижается раз в пять по сравнению со штатной. Пришлось «обучать» X-сервер работе с видеокартой через framebuffer.

Еще одна проблема - обеспечение возможности Windows-сессий на «Горынычах». Хотя сейчас во многих ситуациях можно отказаться от использования продуктов Microsoft, год-два назад это было не так. Было решено использовать Citrix Metaframe, являющийся надстройкой к Windows Terminal Server. При этом, конечно, необходимо наличие в сети машины с Windows 2000 Server.

Плюсы и минусы

Признаемся, что у нас есть опыт создания «Горынычей» лишь с двумя и тремя «головами». Главным препятствием при создании большего числа рабочих мест на базе одного системного блока является (в принципе разрешимая) проблема подключения видеоадаптеров. Однако существуют платы, позволяющие одному компьютеру обслуживать 12-16 терминалов.

Практика показала, что применение «Горынычей» оправданно в учебных компьютерных классах, Интернет-кафе, а также на тех рабочих местах в офисах, где не используются ресурсоемкие приложения. Экономия материальных средств в этих случаях составляет от трети до половины стоимости стандартной конфигурации. Однако для приложений, которые потребляют львиную долю ресурсов компьютера (компьютерные игры, профессиональные системы для работы с графикой или звуком и пр.), «Горыныч» не подойдет. Полностью мультимедийный «Горыныч» теоретически возможен, однако реализовать его мешает нехватка слотов для звуковых карт в материнских платах.

Относительно новая проблема: практически прекратился выпуск PCI-видеокарт, а Matrox Millennium уже несколько лет как снята с производства. Это потребовало поиска новых дешевых видеокарт, пригодных для построения «Горынычей».

© ООО «ИБИК», г. Москва, (+7 495) 502 8201

Использование материалов проекта разрешается
только при указании ссылки на ресурс.