Действительно, на первый взгляд это кажется довольно странным: компьютер-то персональный. Но именно только на первый взгляд  -  поверьте мне на слово.

 

Ни для кого не секрет, что современные ПК на процессорах Intel 486/Pentium по вычислительной мощности (объем оперативной и дисковой памяти, быстродействие процессора, разрядность шины данных и т. п.) часто превосходят мини- и даже большие ЭВМ 80-х. Например, компьютеры ALR Revolution SMP имеют 128-разрядную шину данных. Значит, если на таком "персональном" компьютере работает только один пользователь, мощность системы может многократно превосходить потребности типичной прикладной программы. Под типичной я подразумеваю, например, задачу учетно-финансового характера, являющуюся, как правило, СУБД-приложением для DOS.

 

Сколько их можно подключить

 

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

 

Основным ограничивающим параметром является вовсе не быстродействие собственно процессора, а быстродействие дисковой подсистемы (тип шины, средняя скорость поиска и т. п.). Но и это сегодня перестало быть непреодолимым барьером! Жесткие диски для ПК становятся дешевле, а их производительность за последние годы выросла в несколько раз. Компьютеры теперь, как правило, оснащаются скоростными дисковыми контроллерами на шине PCI, которые поддерживают оптимизацию ввода - вывода. Можно организовать программное кэширование или поставить кэш-контроллер либо дисковый массив (RAID). Но даже если специально не заботиться о производительности дисков, то 5 - 8 одновременно запущенных задач выполняются весьма успешно.

 

Совсем другое дело  -  использование MS-Windows (я имею в виду не графику вообще, а именно работу под Windows). Так как эта операционная среда отличается повышенным потреблением ресурсов, то о десятках сеансов на одной машине и говорить не приходится. Работоспособными будут системы, в которых поддерживаются 2 - 3 сеанса Windows (максимум 5), а на остальных рабочих местах функционируют те самые типичные приложения DOS.

 

Что дает многопользовательская система на одном компьютере

 

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

 

-  Традиционный способ  -  файл-серверная сеть. База данных находится на жестких дисках файлового сервера, а компьютеры конечных пользователей имеют доступ к этим дискам. Обращение к базе данных означает передачу ее на клиентский компьютер, и только после этого происходит обработка. При четырех-пяти одновременно запущенных сетевых программах простая сеть с шинной топологией может ощутимо задерживать выполнение запросов. Кстати, многие популярные СУБД для DOS (FoxPro, Clipper, Clarion и т. д.) обычно работают именно так.

 

-  Архитектура клиент-сервер. База данных находится на сервере, но при обращении к ней программы пользователя полной перекачки данных на компьютер-клиент не происходит. Вместо этого на сервер поступает запрос на специальном языке (как правило, SQL), который обрабатывается сервером, и клиенту возвращается уже готовая выборка (результат SQL-запроса). Такая архитектура позволяет снизить загруженность сети, но взамен требует двух серьезных вещей:

 

-  на сервере должна быть запущена программа типа SQL-сервер. Как правило, ее надо покупать и она довольно дорого стоит;

 

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

 

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

 

Многопользовательская система  -  типичный пример архитектуры "сервер приложений", причем для создания сетевых приложений можно использовать практически любые СУБД, в том числе и предназначенные для файл-серверных сетей. Для вас это может означать, что ограничений на выбор готовых программ или средств разработки нет. В многопользовательской системе любая сетевая программа автоматически начинает работать в самом выгодном режиме  -  "сервера приложений".

 

Что дает многопользовательская система в сети

 

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

 

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

 

Упрощение топологии сети. Включение в сеть многоконсольных систем позволяет строить сети по технологии OfficePro, представляющей собой недорогое и высокопроизводительное решение. Суть этой технологии состоит в установке для конечных пользователей многоконсольных кластеров, связанных между собой простыми шинными сетями. Эти сети, в свою очередь, могут быть объединены произвольным способом. При локализации совместно используемых данных на уровне центрального компьютера рабочей группы сетевой трафик обычно невысок. Следовательно, можно использовать несложную (и недорогую) сеть для объединения многоконсольных кластеров и в то же время предоставить всем пользователям производительные рабочие места.

 

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

 

Как можно создать многопользовательскую систему

 

Не будем вспоминать, как выглядели терминальные станции на ЕС или СМ ЭВМ. Кроме ностальгии по собственной юности они могут вызвать и отрицательные эмоции, особенно у злопамятных пользователей. (Помните диалог пользователя и дежурного в терминальном классе: "Дежурный, у меня опять завис терминал!"  -  "Что вы волнуетесь? У всех зависли...")

 

Сегодня многопользовательские системы на ПК строятся по-другому. Как правило, для создания дополнительных рабочих мест используются многоконсольные адаптеры. Для каждого пользователя они поддерживают все ресурсы ПК, т. е. любой VGA/SVGA-монитор, обычную AT-клавиатуру, возможно, мышь и принтер. Благодаря этому все конечные пользователи системы могут работать с DOS-приложениями без ограничений на использование графических интерфейсов, мыши и т. д. Кроме того, способ подключения рабочих мест непосредственно к шине центрального компьютера обеспечивает нормальное время регенерации изображения (такое же, как и на стандартных видеоадаптерах).

 

Многоконсольные адаптеры давно заняли прочное положение на рынке многопользовательских систем, в чем каждый может легко убедиться. Для этого достаточно открыть, например, более-менее свежий экземпляр справочника тестированной аппаратуры для SCO Unix (SCO Unix HardWare Compatibility Handbook). Там вы найдете раздел "Многоконсольные системы" (Multiconsole Systems), специально созданный фирмой SCO несколько лет назад для аппаратуры такого типа.

 

Мне лучше знакомы комплексы UnTerminal Solutions американской фирмы Advance Micro Research (AMR), которые больше распространены в России, видимо потому, что дешевле. Эксплуатация этой аппаратуры проста и не требует от пользователя компьютерной подготовки. На рабочем месте многоконсольной системы можно, например, отключать питание во время работы с прикладной программой. После включения изображение восстановится в той же ситуации, и можно будет продолжить работу (в обычных локальных сетях это почти всегда приводит к потере данных). Случаи выхода адаптеров из строя составляют 0,5 - 1%. К одному адаптеру можно подключить до восьми рабочих мест, удаленных от центрального компьютера на расстояния до 75 метров. UnTerminal Solutions выпускаются с 256, 512 Кб и 1 Мб видеопамяти на каждое рабочее место и поддерживают соответствующие видеорежимы VGA/SVGA. В одной машине может быть до четырех адаптеров UnTerminal.

 

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

 

Какие операционные системы можно использовать

 

Естественно, что операционные системы для многопользовательских комплексов должны поддерживать многопользовательский режим. Следовательно, пользователи DOS будут выбирать из представленных на рынке многопользовательских вариантов DOS-совместимых систем.

 

Я достаточно долгое время работал с системами VirtuOS (фирмы Microbase), VM/386 (IGC), MSD (StarPath) и некоторыми другими, в том числе и с набирающим обороты продуктом отечественной фирмы Ulter-West  -  системой DOS-Line. При всем уважении к коллегам из Ulter-West сегодня мой выбор  -  ОС VirtuOS как самая мощная и надежная.

 

Фирма Microbase постоянно развивает и дополняет свой продукт, за время знакомства с ним (с конца 1993 года) вышло почти 20 очередных версий! ОС VirtuOS обеспечивает на каждом рабочем месте DOS-совместимый сеанс с возможностью запуска приложений, требующих интерфейса VCPI (в том числе MS Windows). Кроме того, поддерживается включение многоконсольного кластера практически в любую существующую сеть на базе протоколов IPX/SPX, NetBEUI, TCP/IP или создание собственной сети по протоколу VNET.

 

Если же вы работаете с Unix, то смены ОС, скорее всего, не потребуется. Многоконсольные адаптеры поставляются с драйверами для большинства коммерческих разновидностей, в том числе SCO Unix/XENIX, Interactive, UnixWare. Впрочем, пользователям Unix многоконсольные системы, скорее всего, уже знакомы, так как они широко используются для замены дорогостоящих X-терминалов.

 

Как развивать и наращивать многопользовательскую систему

 

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

 

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

 

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

 

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

 

Как использовать MicroSoft FoxPro

 

Сравнительно недавно пользователи и разработчики приложений FoxPro получили новую возможность: перенос приложений FoxPro с платформы DOS в FoxPro для SCO Unix. Это открывает широчайшие перспективы! Действительно, основной недостаток FoxPro  -  работа с сетью в файл-серверном режиме  -  вообще устраняется. Кроме того, Unix полностью поддерживает современные скоростные конфигурации компьютеров, например многопроцессорные системы.

 

Собственно перенос сетевых программ FoxPro в среду Unix оказался несложным. Потребовались незначительные корректировки исходного кода, связанные в основном с тем, что при работе в Unix различаются прописные и строчные буквы. Поэтому при обращении к функциям, взаимодействующим с операционной системой (например, возвращающим имена файлов), приходится изменять регистр маски. Остальные проблемы (типа перенаправления потоков печати или "кириллизации" Unix) также легко разрешимы.

 

Таким образом...

 

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

 

-  если вам кажется, что включение многоконсольных систем в сеть действительно перспективно...

 

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

то вам, скорее всего, нужна именно многопользовательская система.

 

Андрей Олохтонов

КЛИЕНТ-СЕРВЕРНАЯ ТЕХНОЛОГИЯ OFFICEPRO