Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6_Technological_aspects

.pdf
Скачиваний:
1
Добавлен:
22.08.2019
Размер:
318.33 Кб
Скачать

кросскомпилятор. К недостаткам данной версии следует отнести отсутствие символьного отладчика и профилировщика.

Запуск загрузочных модулей на МВС-100 осуществляется с помощью загрузчика run860, работающего в среде MS-DOS. Загрузчик запускает на host-машине программу iserver.exe (host-сервер ОС Router), которая обеспечивает запуск задачи пользователя с host-машины на процессорные модули МВС-100.

Поскольку базовое программное обеспечение, поставляемое с МВС-100, предназначено для работы в среде MS-DOS, первоначально в качестве host-машины использовался сервер, работающий под управлением ОС MS-DOS и находящийся в одной локальной сети с компьютерами разработчиков. Данная среда разработки обладает следующими недостатками:

не поддерживается доступ к репозиторию проекта;

существенно затруднена коллективная разработка программ, поскольку на стадиях отладки и тестирования требуется присутствие разработчика за консолью host-машины;

отсутствует возможность работы в данной среде из глобальной сети Internet, поскольку MS-DOS не предоставляет средств поддержки удаленного доступа.

Всоответствии с этим были сформулированы следующие требования к интегрированной среде разработки программ для МВС-100:

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

поддержка многопользовательского режима разработки;

возможность организации удаленных рабочих мест для работы из

Internet.

Вкачестве основы формирования интегрированной среды разработки, удовлетворяющей данным требованиям, была выбрана ОС UNIX/Linux.

97

Структура интегрированной среды разработки изображена на Рис. 6.5. Центральным звеном интегрированной среды является Linuxсервер, играющий роль host-машины для МВС-100. На данном сервере устанавливаются система контроля версий CVS, документатор DOC++ и компилятор PGCC, описанные выше. Для запуска PGCC и run860, в том числе удаленного, используется DOS-эмулятор. Это позволяет вписать весь технологический цикл разработки в рамки одной операционной сис-

темы UNIX/Linux.

WAN LAN

 

 

 

 

 

 

 

 

 

Рабочая станция

Рабочая станция

 

 

 

 

 

Windows 95/NT

 

 

 

 

 

Windows 95/NT

• Borland C++

 

 

 

 

 

• X-Window

• HTML обозреватель

 

 

 

 

 

Linux-терминал

 

• FTP-клиент

 

 

 

 

 

GNU Emacs

 

• Telnet

 

 

 

 

 

HTML обозреватель

 

 

 

TCP/IP

 

 

 

 

 

 

TCP/IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SLIP

 

 

 

 

Linux-сервер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• PGCC

 

 

 

 

 

 

 

!

• CVS

 

 

 

 

 

 

 

• DOC++

 

МВС

 

 

 

 

• WWW сервер

 

 

• GNU Emacs

• CVSweb

• Emutool

Рис. 6.5 Интегрированная среда разработки комплекса Омега

Интегрированная среда предусматривает два варианта рабочих места программиста. Локальное рабочее место предназначено для разработчиков, компьютеры которых находятся в локальной сети, включающей в себя host-машину для МВС-100. На рабочих станциях разработчиков устанавливается OC Windows 98/NT. Для работы с Linux-сервером на рабочих станциях используются Х-терминалы. В качестве редактора используется

98

редактор GNU Emacs [61], имеющий встроенную поддержку языка Си и встроенный интерфейс с системой контроля версий CVS. Фактически Emacs играет роль интегрирующей оболочки, позволяющей редактировать, компилировать и запускать программы на языке Си. Удаленное рабочее место предназначено для работы из Internet. На удаленной рабочей станции устанавливается OC Windows 98/NT. В качестве UNIX-терминала используется Telnet. Копии исходных текстов получаются с Linux-сервера по FTP и находятся на удаленной рабочей станции. В качестве редактора в данном варианте рабочего места может использоваться, например, оболочка Borland C++, предоставляющая мощные средства для компиляции, запуска и отладки аппаратно независимых частей программной системы.

Система контроля версий CVS, как и многие утилиты ОС UNIX, поддерживает лишь интерфейс командной строки. При работе с репозиторием проекта данное обстоятельство в определенной степени затрудняет отслеживание изменений в исходных текстах и получение последних версий файлов. Для решения данной проблемы на host-машине был установлен web-сервер и пакет CVSweb [73]. Пакет CVSweb представляет собой web-оболочку для CVS и дает возможность просматривать содержимое репозитория, созданного CVS, с помощью HTML обозревателя. При просмотре информация отображается в виде соответствующей структуры каталогов и файлов проекта. С каждым именем файла связывается коллекция гиперссылок, при выборе которых можно загрузить соответствующую ревизию этого файла. CVSweb также предоставляет web-форму, с помощью которой можно отобразить различия между произвольными ревизиями одного файла, в том числе в различных ветках проекта. Установка CVSweb предоставляет разработчикам прозрачный способ отслеживания изменений в исходных текстах проекта и получения их последних версий.

Для компиляции исходных текстов и запуска полученных загрузочных модулей на МВС-100 разработчиками использовался эмулятор MS-DOS в среде UNIX. Однако использование эмулятора накладывает оп99

ределенные ограничения на ресурсы, выделяемые для DOS-приложений. Например, использование оболочки Borland C++ в эмуляторе является затруднительным. Помимо этого при работе через Telnet не полностью эмулируются функциональная клавиатура и мышь. То есть эмулятор фактически предоставляет удаленному разработчику возможность работы только в режиме командной строки MS-DOS. Таким образом, использование DOS-эмулятора представляет собой дополнительный этап, ухудшающий эргономические показатели среды разработки, и затрудняющий отладку и тестирование программ на МВС-100.

Для решения указанной проблемы был разработан пакет EMUtool [60], с помощью которого от разработчика скрывается использование MS-DOS и обеспечивается запуск DOS-приложений непосредственно из командного интерпретатора UNIX/Linux. EMUtool представляет собой набор программ (скриптов) на языке shell [19], использующих специализированную конфигурацию эмулятора MS–DOS для "беспилотного" запуска DOS-программ в среде OC UNIX/Linux. Пакет включает в себя фильтр, который приводит диагностические сообщения DOS-программ к стандартному виду, пригодному для интеграции с другими средствами UNIX. В результате запуск DOS-программ в среде OC UNIX/Linux производится командной строкой DOS-формата. Такое решение обеспечивает разработчикам удобный способ компиляции программ с помощью PGCC и запуск полученных загрузочных модулей на МВС-100 как с локального, так и с удаленного рабочего места.

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

100