Границы стабильности — архитектура. Часть 4.

Почти все ПЭВМ оснащены компиляторами и интерпретаторами языков БЭЙСИК, ПАСКАЛЬ, ФОРТРАН, Си и ассемблерами, хотя подавляющее большинство владельцев ПЭВМ использует готовые программы и не занимается разработкой или модификацией ПО. Наиболее распространены операционные системы MS-DOS и UNIX (заметим, что системой UNIX оснащены практически все суперЭВМ).

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

Из 22 вычислительных машин, возглавляющих список наиболее быстродействующих суперЭВМ, все, кроме двух, оснащены языком ФОРТРАН-77. Трансляторы для языка Си имеются на десяти из них, языком ПАСКАЛЬ оснащены 5, языками КОБОЛ и ЛИСП — 2. По одному транслятору приходится на языки БЭЙСИК, ПЛ/1, ПРОЛОГ и АДА. Почти для всех суперЭВМ разработаны автоматически векторизующие компиляторы программ, написанных на языке ФОРТРАН-77, с оптимизацией простых и вложенных циклов DO.

В области авиакосмических применений специалистами NASA определены как стратегические (до 2000 г.) три ключевых направления развития программного обеспечения: ПО для суперЭВМ, верификация и аттестация программ, стандартизация интерфейсов и форм представления данных.

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