6_Technological_aspects
.pdfкросскомпилятор. К недостаткам данной версии следует отнести отсутствие символьного отладчика и профилировщика.
Запуск загрузочных модулей на МВС-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