Правильная ссылка на эту страницу
http://az-design.ru/Support/Archiv/Elc1982/F19821020Elc049.shtml

Программные средства

УДК 681.3.06

Стивен Эванчук
Редактор по программным средствам

Stephen Evanczuk. Software, pp. 181—184.

В области программирования большое внимание уделяется повышению производительности труда программистов. Для этого 8-разрядные операционные системы переносятся на 16-разрядные машины, разрабатываются различные стандарты, а также принимаются меры для обеспечения мобильности программ и систем.

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

Что касается микропроцессоров, то здесь наиболее важные события — это сообщения различных фирм по программному обеспечению об адаптации основных популярных операционных систем для растущего количества видов 16-разрядных машин. Кроме того, в предвидении увеличенной вычислительной мощности, которую смогут предоставить пользователям эти машины v операционные системы, программисты сейчас прилагают активные усилия к реализации нового высокоуровневого языка Ада, причем конкретные системы программирования для этого языка медленно, но верно подходят к этапу внедрения в опытную эксплуатацию. Такие фирмы, как Western Digital, Telesoft, Supersoft и Intel, анонсировали компиляторы для сокращенных версий языка Ада. Что касается подготовленности полных компиляторов к вводу в полную эксплуатацию, то пока что только фирма Western Digital Corp. (Ньюпорт-Бич, шт.Калифорния) сообщила, что она готова предъявить свою версию компилятора для испытаний,— эти испытания, по-видимому, начнутся в конце 1982г., после того как министерством обороны будет утверждена официальная программа апробирования и тестирования.

Тем временем фирмы по программированию разработчики операционных систем продолжают активно заниматься адаптацией этих операционных систем для постановки на 16-разрядные машины. Кроме общепризнанных универсальных операционных систем — СР/М, Unix и р-Системы УКСД — в этой области появилась новая операционная система MS-DOS, которую фирма Microsoft Inc. (Белвью, шт.Вашингтон) разработала для Персонального компьютера корпорации IBM. В любом случае создатели 16-разрядной операционной системы исходили из принципа сохранения той или иной степени совместимости с хорошо отработанной соответствующей 8-разрядной операционной системой. При создании операционной системы СР/М-86 для 16-разрядного микропроцессора 8086 фирмы Intel фирма Digital Research Inc. (Пасифик-Гроув, шт.Калифорния) обеспечила возможность работы с тем же форматом данных, который применялся в системе СР/М, де-факто стандартной предшествующей 8-разрядной операционной системе. Такая же совместимость форматов обеспечивается и в системе МР/М-86, 16-разрядной версии многоабонентской операционной системы МР/М.

Обеспечение совместимости

Операционная система Unix фирмы Bell Labs и р-Системе УКСД, выполненные на базе конструкций среднего уровня, реализуются на 16-разрядных микромашинах при помощи языка С и интерпретатора р-кода (псевдокода) соответственно. Операционная система MS-DOS, которая по своей внутренней структуре напоминает ОС Unix, предусматривает переход на 16-разрядные машины путем эмуляции системных вызовов системы СР/М.

Разработчики аппаратных средств могут существенно повысить продуктивность, манипулируя высокоуровневыми структурами при помощи программных средств сис
Рис.1. Разработчики аппаратных средств могут существенно повысить продуктивность, манипулируя высокоуровневыми структурами при помощи программных средств систем автоматизированного проектирования, например системы топологического проектирования фирмы AMI.

Таким образом, роль 16-разрядных операционных систем в повышении производительности труда программистов заключается в основном в том, что они предусматривают совместимость с существующими 8-разрядными системами. По мере появления все большего числа видов общедоступных высококачественных аппаратных средств и поставщики, и пользователи будут придавать все большее значение реализации этого принципа.

Так, в настоящее время многие разработчики машин ориентируются на использование существующих 8-разрядных программных средств и предусматривают рост числа разнообразных программ для 16-разрядных машин в будущем; поэтому они включают в одну машину процессоры обоих видов. Примером тому может служить машина Rainbow фирмы Digital Equipment Corp. (Мейнард, шт.Массачусетс), в которой применяются микропроцессоры Z80 и 8088, или двухпроцессорная машина фирмы Compupro Systems, где сочетаются процессоры 8085 и 8088. Операционная система СР/М-86 машины Rainbow выбирает программы из дисковой памяти и выполняет их на соответствующем процессоре при использовании единого формата данных. Аналогичные функции выполняет операционная система МР/М-8/16 в машине фирмы Compupro (Окленд-Эарпорт, шт.Калифорния), но в многоабонентском и многозадачном режимах.

Р-система УКСД, основным достоинством которой, как подчеркивает ее разработчик фирма SofTech Microsystems (Сан-Диего, шт.Калифорния), является мобильность, благодаря своей концепции промежуточного р-кода предоставляет пользователям широкие возможности развития фонда программных средств. Псевдокодовые объектные модули прикладных программ, разработанных и скомпилированных на одной машине, например на LSI-11, могут непосредственно выполняться на другой машине, например Z8000, при помощи резидентного интерпретатора псевдокода. Хотя при этом наблюдается снижение производительности по сравнению с возможным максимумом, обеспечиваемым быстродействием аппаратных средств, для большинства пользователей и поставщиков получаемая скорость выполнения программ оказывается вполне приемлемой для обычных приложений. Благодаря такому подходу р-Система УКСД — это единственная операционная система, применяемая в таких различных изделиях, как Персональный компьютер фирмы IBM и ее система Дисплеираитер.

Приложения реального времени, однако, вряд ли должны страдать, если будут операционные системы, специально разработанные с учетом требований подобных приложений для 16-разрядных машин. Для машин, построенных на базе микропроцессоров Z8000 и 68000, предлагаются различные версии операционной системы MSP фирмы Hemenway Corp. (Бостон), а для микромашин iAPX 86 и 88 фирмы Intel Corp., имеется собственная операционная система RMX-86 или RMX-88.

Операционная система реального времени RMX-86 фирмы Intel упрощает задачу системных программистов при переходе на многопроцессорные машины, поскольку
Рис.2. Операционная система реального времени RMX-86 фирмы Intel упрощает задачу системных программистов при переходе на многопроцессорные машины, поскольку предусматривает интерфейсы проектирования и выполнения программ, с одной стороны, и интерфейс обмена сообщениями по шине Multibus, — с другой; все эти средства строятся вокруг ядра операционной системы RMX (выделено вертикальной штриховкой).

Эти операционные системы, разработанные по образу и подобию операционных систем крупных компьютеров, предусматривают работу с очередями планирования задач, механизмы распределения ресурсов и средства взаимодействия между задачами, необходимые для организации многозадачной работы. Кроме того, в качестве основы для приложений реального времени могут выступать программы-администраторы операционных систем, обеспечивающие обработку транзакций с управлением по событиям. Разработчик машины, которому требуется обеспечить комплексную работу прикладной операционной системы во взаимодействии с окончательной реализацией аппаратных средств, может предусмотреть выполнение программ обеих систем из постоянной памяти. С точки зрения разработчиков прикладных программ еще более важным является то, что каждая подсистема оснащается дополнительным уровнем программных средств проектирования — редакторами, компиляторами и связными редакторами для создания объектного кода и отладчиками реального времени для обеспечения его работоспособности.

Фирма Intel Corp. (Санта-Клара, шт.Калифорния) сделала еще один важный шаг, связанный с проектированием прикладных программ при работе в рамках операционной системы RMX-86: она определила набор стандартных вызовов-обращений для этой операционной системы. Использование этих вызовов-обращений на этапе проектирования программ и во время их выполнения гарантирует, что пакет прикладных программ можно будет успешно переносить на микромашины следующего поколения, соответствующие требованиям указанных стандартов. Аналогичным образом фирма Intel, ориетируясь на будущие многопроцессорные архитектуры, разработала для операционной системы RMX расширенные версии, обеспечивающие обмен сообщениями по шине Multibus. Как правило, максимальная производительность не считается главным фактором для основных операционных систем, которые не предназначаются специально для приложений реального времени. Однако сейчас в машинах все чаще применяются аппаратные устройства управления памятью, а это потребует, чтобы подобные операционные системы смогли работать с виртуальной памятью. Системные программисты, разрабатывающие эти операционные системы, будут вынуждены учитывать конкретную аппаратную реализацию управления памятью: либо по методу сегментации, применяемому, например, в микрокомпьютере 80286 фирмы Intel с размещенными на кристалле средствами управления памятью, либо в случае страничной организации с подкачкой страниц по запросу; по второму пути пошли, в частности, разработчики фирмы National, создавая прибор управления памятью для своего микропроцессора 16032. Аналогично, широкое распространение специализированных контроллеров для дисковых накопителей и терминалов увеличит потребность в разработке драйверов ввода-вывода, используемых операционными системами, причем, быть может, потребуется приспосабливать их для новых аппаратных средств.

Более приятной тенденцией с точки зрения разработчика операционных систем является тенденция к созданию универсальных систем, предусматривающих использование набора четко определенных стандартных вызовов. В идеале эти вызовы должны обеспечивать развязку ядра операционной системы от программного кода, зависящего от аппаратных средств. Хотя пройдет еще немало времени, прежде чем повсеместное внедрение получат истинно многоуровневые системы, общая тенденция здесь очевидна, поскольку разработчики и аппаратных, и программных средств сейчас начинают использовать стандартные интерфейсы. Например, в операционной системе MS-DOS фирмы Microsoft предусмотрен драйвер протокола уровня представления, а тот же самый протокол используется и в новом графическом БИС-контроллере 82720 фирмы Intel.

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

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

Реализация прикладных программ в многозадачных системах реального времени упрощается благодаря использованию набора системных вызовов, которые предусматриваются так называемыми кремниевыми операционными системами, например Универсальной исполнительной программой реального времени VRTX фирмы Hunter & Ready (Менло-Парк, шт.Калифорния). Подобно тому как разработчики аппаратных средств повышают производительность своего труда, используя готовые модули и не вникая при этом в детали их реализации, разработчики программ могут использовать системные вызовы VRTX так, как если бы они были просто дополнениями набора инструкций процессора. Система VRTX ориентирована на более жесткие требования реального времени, чем стандартные интерфейсы UDI и URI фирмы Intel, и предусматривает системные вызовы шести различных видов: для управления задачами, обеспечения передач данных и синхронизации, знакового ввода-вывода, управления памятью и часами реального времени, а также для обработки прерываний.

Универсальное программное обеспечение

В то время как ведущие поставщики занимаются проблемой универсальных интерфейсов операционных систем, фирма SofTech Microsystems стремится положить конец многообразию форматов дисковых накопителей, которое, кроме всего прочего, создает трудности с обеспечением запасными частями. Фирма SofTech надеется, что запись данных на диски в одном и том же формате, который является общим для всех основных дисков, позволит на различных накопителях читать одни и те же диски — при помощи предложенного ею Универсального носителя.

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

Концепцию промежуточного кода реализует также фирма Philon Group Inc. (Нью-Йорк) в своей Универсальной языковой системе. Здесь пишутся компиляторы, которые генерируют промежуточный код, называемый q-кодом (квазикодом), а не машинные инструкции для конкретного процессора. Применение этого промежуточного кода в различных машинах затем осуществляется по тому же самому принципу, как и применение р-кода р-Системы УКСД: этот промежуточный код поступает на вход ассемблера, специфичного для конкретного процессора и формирующего машинный код для этого процессора. Однако в отличие от р-Системы УКСД средства q-кода фирмы Philon рассчитаны на изготовителей комплексного оборудования и продаются по цене около 100 тыс. долл.

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

Список существующих программных генераторов содержит около 40 наименований, причем он, по-видимому, будет продолжать расти, поскольку фирмы-разработчики прилагают активные усилия, чтобы по возможности удовлетворять практически неограниченные потребности области прикладного программирования. В следующем поколении автоматических програм мных генераторов будут, по-видимому, применяться так называемые экспертные системы или базы знаний, которые помогут пользователю в постановке задачи, а затем в преобразовании составленного набора логических формулировок в соответствующие алгоритмические шаги обработки данных. И все же маловероятно, что в 1983г. на коммерческом рынке появятся такие самоорганизующиеся системы, которые достойны называться «автоматическими программными генераторами».

Фирма Hunter & Ready предоставляет разработчикам программ набор системных вызовов, тем самым давая им возможность работать с модульными функционал
Рис.3. Фирма Hunter & Ready предоставляет разработчикам программ набор системных вызовов, тем самым давая им возможность работать с модульными функциональными компонентами, подобно тому как это делают разработчики аппаратных средств. Кремниевая операционная система VRTX (выделено вертикальной штриховкой) отделяет прикладные программы от конкретных деталей аппаратных средств.

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

Систематизация САПР

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

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

Еще один фактор, который разработчикам обычно приходится игнорировать с риском для себя — или, точнее, для своих приборов,— это рассеяние выделяемого тепла, особенно в крупных конструкциях с большой мощностью потребления. Решению этой проблемы поможет пакет средств САПР под названием Hisets фирмы Hitachi Ltd. Этот пакет на основе описания сети источников тепла обеспечивает определение статического и динамического теплового распределения для многослойной неоднородной структуры.

Дочерние статьи:

Координатор усовершенствованной операционной системы

Выходные данные:

Журнал "Электроника" том 55, No.21 (651), 1982г - пер. с англ. М.: Мир, 1982, стр.73

Electronics Vol.55 No.21 October 20, 1982 A McGraw-Hill Publication

Раздел: ДОСТИЖЕНИЯ И ПЕРСПЕКТИВЫ РАЗВИТИЯ ЭЛЕКТРОННОЙ ТЕХНИКИ

Тема:     Программное обеспечение




<<< Пред. Оглавление
Начало раздела
След. >>>

Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/Archiv/Elc1982/F19821020Elc049.shtml