Национальные
информационные ресурсы:
проблемы промышленной эксплуатации.
Г.Р.Громов. Москва,
Наука, 1984
Программная совместимость персональных компьютеров
Аппаратные решения. Пионером в решении проблемы программной совместимости ПК выступила фирма «ДЕК». Ее персональный компьютер «Rainbow-100» имеет два микропроцессора, которые работают под управлением так называемой гибридной операционной системы СР/М 86/80. «Rainbow-100» обладает принципиально новым качеством, которое разработчики определяют как форматочувствительность (softsence). Это повое качество позволяет операционной системе автоматически (без вмешательства оператора) определять, какой именно процессор нужен для исполнения той или иной загружаемой программы, и соответственно программы, написанные для операционных систем типа СР/М 80, исполняются на 8-разрядном микропроцессоре 280, а СР/М 86-на 16-разрядном i8088 [21, 22].
Фирма «Тэнди» предложила в 1982 г. 16-разрядную модель ПК серии ТRS-80. ПК типа ТRS-80 Моdel 16 содержит два микропроцессора: Z80А и М68000. Однако эта машина в отличие от «Rainbow-100» может работать лишь поочередно в одном из двух переключаемых вручную режимов: режим TRS-80 Model II, в котором исполняются 8-разрядные программы компьютеров TRS-80 первого поколения, или режим TRS-80 Model 16, в котором исполняются программы, написанные для мощного 16-разрядного микропроцессора М68000 [23].
Вызов, брошенный фирмой «ДЕК» лидерам ПК-сектора вычислительной техники США, приняла фирма «Коммодор инт.». Весной 1982 г. ее представитель объявил, что они работают над созданием персонального компьютера ценой не более 1000 долл., который позволял бы эмулировать системы команд существующих ПК фирм «ИБМ», «Тэнди», «Эппл компьютер». Ведущие изготовители ПК встретили это заявление скептически. По мнению президента фирмы «Эппл компьютер», весьма проблематичной представляется не только сама возможность создания сейчас такого устройства, но и способность какой-либо из существующих фирм сопровождать его эксплуатацию: «Слишком трудно разработать, а тем более сопровождать прибор, распознающий тонкости используемых версий Бейсика, форматов отдельных типов внешних носителей и различные методы реализации экранной графики»,— считает он. Однако представитель фирмы «Коммодор инт.», не вступая в дискуссию»настаивал, что ПК «Commodore - 64» с такими характеристиками будет ими создан в ближайшее время [23].
Микропроцессор давно уже является одной из наиболее дешевых деталей персональных компьютеров, поэтому простейшее решение программной совместимости, предлагаемое фирмой «Тэнди» для TRS – 80 Model 16,— переключение вручную типа используемого микропроцессора (8- или 16-разрядного) оказалось и наиболее популярным. Ряд независимых поставщиков периферийного оборудования к персональным компьютерам (так называемых третьих фирм) предлагают одноплатные микропроцессорные приставки, расширяющие функциональные возможности ПК для использования программного обеспечения персональных компьютеров других типов. Например, учитывая огромный задел прикладных программ, созданный в 70-е годы на 8-разрядных микро-ЭВМ в самых различных областях приложений для операционной системы СР/М-80, фирма «Смол систем инжиниринг» предлагает пользователям различных СР/М — несовместимых ПК одноплатную приставку на базе микропроцессора Z80. Персональный компьютер, к которому подключается такая приставка, становится терминалом для одноплатной микро-ЭВМ на базе 280. Эта одноплатная микро-ЭВМ выполняет программы СР/М-80, в то время как аппаратные средства ПК при этом реализуют ввод/вывод и другие вспомогательные процедуры [24].
Фирма «Майкрософт» одна из первых в США открыла возможности одноплатных микро-ЭВМ-приставок к персональным компьютерам и уже ряд лет поставляет для «Арр1е-2» плату «Z80 Softcard», чтобы дать возможность пользователям ПК типа «Арр1е» получить доступ к заделу прикладных программ СР/М-80 [25]. К 1982 г. такие одноплатные микро-ЭВМ-приставки были созданы почти для всех типов наиболее популярных ПК. Одна лишь упомянутая выше «Смол систем инжиниринг» поставляла такие приставки для ПК фирм «ИБМ», «Коммодор» и «Сириус текнолоджи». Приставка к «IBM personal computer» получила название IВМ-80. Стоимость этой платы не достигает и 10% стоимости ПК фирмы «ИБМ», но расширение функциональных возможностей ПК оказывается весьма заметным. Файлы одного типа, организованные под управлением операционных систем СР/М-80 и СР/М-86, как известно, идентичны по своей структуре. Поэтому после подключения ПК платы IВМ-80 оказывается возможным не только исполнять программы СР/М-80, но и обмениваться файлами между прикладными программами, написанными в СР/М-80, СР/М-86 и МS-D0S» [24].
Крупнейшая японская фирма «Фуджицу», точно «вычислив» основную тенденцию развития ПК второго поколения, дебютировала в 1982 г. на американском рынке ЭВМ с профессиональным ПК «Micro - 16». Эта машина, ориентированная в основном на конторские применения, содержит микропроцессоры 280 и 18088 и позволяет соответственно исполнять программы операционных систем СР/М-80, СР/М-86 и MS - DOS. Однако основной аппаратной «изюминкой» «Micro -16» является 16-разрядная шина данных, которая представляет собой реализованный «в железе» призыв к «третьим фирмам» начать изготавливать для ПК типа «Мшго-16» одноплатные микро-ЭВМ-приставки на основе микропроцессоров 28000 и М68000. Для непосредственно используемых в «Micro -16» микропроцессоров 280 и 18088 такая 16-разрядная шина не нужна (i8088 имеет 8-разрядную шину, по которой 16-разрядные слова передаются разделенными во времени байтами). Поэтому заложенная в конструкцию ПК 16-разрядная шина имеет основным назначением сопряжение с ожидаемыми приставками, т. е. в отличие от назначения микропроцессора 280 обращена не в прошлое, а в будущее (к 1982 г. около 65% всего парка 16-разрядных микро-ЭВМ в США были изготовлены на базе микропроцессора М68000). Этой же цели служат шесть свободных гнезд под сменные платы, предусмотренные в конструкции «Micro -16»: одно для внешних микропроцессоров, а остальные для традиционных средств аппаратного расширения конфигурации ПК (расширение ОЗУ до 1 Мбайт, подключение контроллера локальной сети типа Ethernet и др.) [23; 27, с. 99].
Наконец, отметим, что одноплатные микро-ЭВМ-приставки применяются сейчас не только для того, чтобы разрешить пользователям «новой» ЭВМ выполнять задел программ, написанных на «старых» ПК, но и наоборот. Например, упомянутая выше ЭВМ типа ТRS-80 Model 16 изготавливается фирмой в двух вариантах: как традиционный комплект ПК ценой 5 тыс. долл. и как плата ценой в 1,5 тыс. долл., которая вставляется в 8-разрядную ЭВМ типа ТRS-80 Model II и расширяет ее возможности до ТRS-80 Model 16 [23]. Таким образом, для пользователей ПК первого поколения снимается традиционный для больших и мини-ЭВМ вопрос «или — или»: или работать на старой ЭВМ, или ценой значительных капиталовложений переходить на новый уровень возможностей ЭВМ следующего поколения.
Фирма «Тэнди» предлагает решение «и». Сохранить старый задел аппаратных и программных средств и получить ценой незначительных (около 30 %) дополнительных вложений пропуск в «новый мир» второго поколения ПК1.
Отметим, что к 1983 г. этот технологический прием, рожденный в ПК-секторе индустрии ЭВМ, начал проникать в сектор мини-ЭВМ. Для популярной серии мини-ЭВМ типа РDР-11 фирма «Логикрафт инкорп.» начала поставлять одноплатную микро-ЭВМ-приставку UСР-11 с микропроцессорами Z80 [28]. Плата UСР-11 дает возможность пользователям РDР-11 выполнять программы, созданные в операционной системе СР/М, параллельно с выполнением других программ основным процессором РDР-11 и независимо от них. Существенно, что независимо функционирующая плата UCР-11 «подгружает» основной процессор (т. е. расходует машинные такты процессора РDР-11) только для обработки запросов на ввод/вывод. Для работы в много абонентском режиме плата UСР-11 выпускается в варианте с тремя процессорами Z80 [28].
Есть основания предполагать, что микропроцессорное решение проблем программной совместимости ЭВМ ненадолго останется привилегией мини- и микро-ЭВМ, а в самом недалеком будущем начнет проникать в сектор больших ЭВМ. По-видимому, уже к середине 80-х годов следует ожидать появления «разнопроцессорных» больших ЭВМ с автоматически переключаемыми системами команд для исполнения прикладных программ большей части семейств ранее существовавших2 и вновь создаваемых ЭВМ всех уровней: больших, мини, микро. Создание таких информационных «обрабатывающих центров» потребует разработки средств автоматического преобразования форматов данных для пакетов прикладных программ, исполняемых различными процессорами, а также поднимает целый пласт других не менее сложных проблем информационной совместимости. Существенно, однако, что основной стимул для предметной постановки актуальной задачи унификации растущего многообразия средств автоматизированной обработки данных исходит из сектора микро-ЭВМ, а точнее из мира персональных компьютеров. Как отмечал А. П. Ершов, «персональная ЭВМ, похоже, возвращает программированию и применению вычислительной машины ту целостность, которая в определенном смысле старательно разрушалась корифеями профессионального программирования» [30, с. 10].
Программные решения. Среди чисто программных разработок, имеющих своим назначением обеспечение программной совместимости в мире малых и микро-ЭВМ (ценой иногда весьма заметного снижения эффективности исполняемых программ) , в первую очередь необходимо отметить дальнейший рост популярности интерпретаторов Р-кода.
На рубеже 70-х годов было предложено первое радикальное средство для решения проблемы программной совместимости ЭВМ. Существо этого решения сводится к созданию операционных систем и трансляторов с языков высокого уровня для абстрактной машины со «стандартной» системой команд, удовлетворяющей ряду выбранных из теоретических соображений принципов. Эта система команд, в которую транслируются программы, написанные в UCSD-версиях3 языков высокого уровня (UCSD-Паскаль, UCSD-Фортран и др.), получила название Р-код (от английского portability — переносимость) .Разработчику любой вновь создаваемой ЭВМ достаточно снабдить свою машину интерпретатором с Р-кода (т. е. написать интерпретатор с Р-кода в систему команд данной ЭВМ) , и новая машина появится с готовым базовым программным обеспечением (отлаженные трансляторы и пакеты для Р-кода уже существуют и постоянно пополняются). К настоящему времени UCSD-системы поставляются практически для всех типов пользующихся массовым спросом ПК. Для некоторых ПК второго поколения, например «Professional -350/325» фирмы «ДЕК», UCSD-системы оказываются единственным средством программирования в автономном режиме: все остальные средства разработки программ доступны только в режиме связи с центральной ЭВМ.
Среди других чисто программных подходов к проблеме совместимости ПК на уровне прикладных программ наибольшие надежды возлагаются на продолжающееся расширение «сферы влияния» операционной системы 11ШХ, которая с начала 80-х годов уверенно выходит по числу областей приложений на уровень «стандарта де-факто» мировой индустрии ЭВМ в целом.
«Хьюлетт — Паккард» приняла решение об оснащении операционными системами UNIX всех своих семейств ЭВМ: от ПК до измерительно-вычислительных комплексов и машин для экономических расчетов, включая 32-разрядную супермини типа НР 9000. Почти одновременно об аналогичном решении объявила еще одна из фирм большой семерки — фирма «Нейшнл Кеш реджистер (НКР)». По мнению редактора издания «UNIX Newsletter», в ближайшее время к этому решению присоединятся также другие ведущие фирмы индустрии ЭВМ, в том числе лидеры отрасли «ИБМ» и «ДЕК» и, таким образом, «все вычислительные машины от больших до микро-ЭВМ будут иметь одну стандартную операционную систему» [33, с. 6].
Фирма-разработчик операционной системы СР/М-80 («стандарта де-факто» для 8-разрядных микро-ЭВМ) «Диджитал ресеч инкорп.» со своей стороны сделала шаг навстречу такому развитию событий. Был создан новый компилятор языка «С», который позволяет транслировать прикладные программы, написанные в ОС «UNIX», для последующего исполнения их под управлением 16-разрядных версий СР/М. Первоначально транслятор был написан для микропроцессора М68 000, но фирма объявила, что работает над созданием его версий для 16-разрядных микропроцессоров фирм «Зайлог» и «Нейшнл семикондактор», а также для 32-разрядных микропроцессоров фирмы «Интел» [26, с. 13].
Наконец, основной конкурент фирмы «Диджитал ресеч инкорп.» фирма «Майкрософт», которая в свое время создала наиболее популярную версию языка Бейсик (Microsoft Basic), одной из первых создала также плату для исполнения СР/М-80 на ПК «Apple - 2», а затем разработала операционную систему МS-D0S для ПК фирмы «ИБМ», использует собственную версию ОС UNIХ под названием «XENIX» для разработки программ, которые могут работать как в МS-D0S, так и в СР/М. Ожидается, что эта же фирма создаст специализированные средства для связи между МS-D0S и UNIX [26, с. 13].
Как заметил в конце 1982 г. обозреватель осенней американской выставки вычислительной техники «Comdex-82» (экспонировалась продукция 1106 фирм), «сейчас принято считать, что предоставление пакета программ ОС UNIX является непременным атрибутом сбыта» [34, с. 15].
Совместимость ПК: выводы. Итак, совокупность аппаратно-программных решений проблем совместимости ПК, предложенных к началу 80-х годов, сводится к следующим основным подходам.
Аппаратные решения: 1) оснащение основного комплекта ПК несколькими микропроцессорами для исполнения прикладных программ, написанных в различных операционных системах, со следующими функциональными отличиями: ручным переключением требуемого типа процессора в зависимости от формата исполняемого пакета программ (ПК типа ТRS-80 Model 16) и автоматическим переключением (без участия оператора) путем использования формато-чувствительного блока гибридной операционной системы («Rainbow-100»); 2) подключение к ПК одноплатных микро-ЭВМ-приставок, которые исполняют программы, недоступные процессорам данного ПК, используя при этом основную конфигурацию ПК в качестве устройства управления периферийным оборудованием (приставка IBM-80 к ПК типа «IBM personal computer»).
Программные решения: 1) оснащение персональных компьютеров транспортабельными UCSD-системами на базе интерпретаторов с Р-кода для использования в ПК машинно-независимых трансляторов с языков высокого уровня: Бейсик, Паскаль, Фортран и др.; 2) оснащение ПК стандартной («де-факто») операционной системной 1Ж1Х или ее версиями, например ОС типа «XENIX», предназначенной для микро-ЭВМ, использующих процессоры: LSI - 11, i8086,Z8000, 68000; 3) разработка претрансляторов для автоматического перевода прикладных программ из режима работы под управлением ОС типа СР/М (фактический стандарт для 8-разрядных ПК) в ОС типа UNIX (фактический стандарт для ЭВМ от 16-разрядных и выше).
Рассмотрим отличительные особенности обсуждаемых операционных систем и необходимые машинные ресурсы. Операционная система UNIX, как выше уже отмечалось, оставалась до последнего времени эталоном с точки зрения предоставляемых профессиональному пользователю возможностей по разработке программ, в том числе в много пультовом режиме (операционные системы СР/М и UCSD не имеют средств для организации режима разделения времени).
Операционные системы типа СР/М и UCSD значительно уступают UNIХ в потенциально доступных профессиональному программисту инструментальных средствах разработки программ, однако все еще обладают рядом существенных (для отдельных категорий пользователей микро-ЭВМ) достоинств.
Основным достоинством UCSD-систем является то, что для любого нового микропроцессора с оригинальной системой команд интерпретатор с Р-кода создается на заказ в среднем за 2—3 месяца по цене около 25 тыс. долл. [35], кроме того 11С8В-система предоставляет пользователю уникальную возможность смешивать в одной программе модули, написанные на различных языках, поддерживаемых этой ОС: Паскаль, Фортран-77, Бейсик, Ассемблер [35].
К числу достоинств СР/М следует отнести наибольшее число созданных за первое десятилетие эры микро-ЭВМ пакетов прикладных программ, написанных в СР/М (более 10 тыс.)5. Система СР/М обеспечивает возможность работы в реальном времени (этой возможности нет в ОС UNIX и UCSD).
Операционные системы типа СР/М и UCSD занимают около 20 Кбайт каждая в оперативной памяти микро-ЭВМ. UCSD-система требует при этом лишь 175 Кбайт на гибком диске (для СР/М требуется еще меньше дисковой памяти). Для полноценного исполнения ОС UNIX требуются существенно большие ресурсы: 128—256 Кбайт оперативной памяти и мегабайты на диске [35, 36]. Стандартные версии ОС UNIX, неадаптированные специально для микро-ЭВМ, работают весьма медленно даже с самым мощным процессором. Основная причина — ограниченная пропускная способность общей шины (на использование которой ориентировано большинство типов микро-ЭВМ) и относительно низкое быстродействие малогабаритных дисков типа винчестер. Время процессора расходуется в основном на ожидание в элементарных циклах перезаписи программ и данных из ОЗУ на диск и обратно [37].
Одна из наиболее популярных среди большого числа версий ОС UNIX, адаптированных для микро-ЭВМ, ОС «XENIX» имеет специальные средства для уменьшения частоты свопинга при работе в много пультовом режиме, средства для реализации программ реального времени, механизм восстановления файловой системы после сбоев дискового накопителя. Резидентная часть ОС «XENIX» занимает в ОЗУ менее 100 Кбайт [37]. Значительная (более чем на порядок) разница в требуемых машинных ресурсах для исполнения ОС типа UNIX и СР/М делает целесообразным «иерархический» подход к решению проблемы их совместимости при разработке и исполнении прикладных программ. В качестве примера реализации такого подхода можно отметить ОС М1с-гошх, в которой ОССР/М выполняется в качестве отдельной подзадачи ОС UNIX [37].
Необходимо отметить, что все рассмотренные выше аппаратно-программные средства лишь создают предпосылки к программной совместимости ПК, но не обеспечивают в полном объеме решения задачи переноса программного продукта. Обсуждавшиеся решения были направлены на преодоление только первого барьера на этом пути, после преодоления, которого остается еще второй барьер — информационной несовместимости ЭВМ на уровне внешних носителей (диски, ленты и т. д.).
Известно, что перенос прикладных программ даже между ПК с полностью идентичными процессорами нередко связан с большими трудностями, когда для этого используются, например, гибкие диски. Эти диски могут быть 8- или 5-дюймовыми либо принадлежать к одному из трех6 типоразмеров 3-дюймовых; нормальной или двойной плотности; односторонние или двухсторонние; программно- или аппаратно-форматизируемыми и т. д. Поэтому наиболее реалистичным решением проблемы информационной совместимости ПК пока остается организация межмашинного обмена программами по стандартизованным каналам локальных сетей ЭВМ.
В качестве примера можно указать структуру сети Nestar для компьютеров типа Арр1е-П, где машинонезависимые программы хранятся в «большой памяти («mass storage») локальной сети (диски типа винчестер [39]. При этом конкретная конфигурация внешних устройств у персональных компьютеров — абонентов такой сети — может быть произвольной, так как гибкие диски этих ПК используются лишь для работы в автономном режиме, а обмен программами организован через «большую память» сети, на которую работает один выделенный для этой цели ПК. Этот же ПК может обслуживать печатающие устройства высокого качества, графопостроители и другие дорогостоящие устройства, ресурсы которых делят ПК-абоненты [39].
Итак, задача разработки персонального компьютера, на котором пользователю будет потенциально доступна, возможно, большая часть совокупного программного продукта, созданного для наиболее популярных типов ПК,— основная задача изготовителей ПК второго поколения,
Появившаяся в конце 70-х годов «формула»: программы продают компьютеры — в 80-х годах полностью определяет техническую политику в ПК-секторе индустрии ЭВМ.
Если для мировой индустрии ЭВМ в целом коммерчески доступный готовый программный продукт составлял к началу 80-х годов в стоимостном отношении от 3 до 6% годового объема продаж изделий и услуг отрасли [40], то для ПК-сектора удельный вес программного продукта составляет уже более 25% суммарного объема продаж сектора, а к 1987 г., по оценкам, будет приближаться к 50% [19, с. 71].
Общая стоимость реализованного на рынке ПК программного обеспечения с 1980 г. ежегодно удваивается и, по оценкам, в 1984 г. превысит 2 млрд. долл. [19, 41, 42]. Для сравнения отметим, что на этом же уровне — около 2 млрд. долл.— оценивалась совокупная стоимость коммерчески доступного программного продукта, созданного в 1978 г. [40] на мировом рынке ЭВМ для всех типов и классов ЭВМ, вместе взятых.
В этих условиях, как отмечают ведущие эксперты ПК-сектора индустрии ЭВМ в США [42], «самые значительные проблемы, перед которыми окажутся изготовители программного обеспечения и торгующие им фирмы,— стандартизация аппаратуры и обеспечение мобильности программ».
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1.Для пользователей ПК первого поколения фирм «Эппл компьютер» и «Коммодор» таким пропуском в «новый мир» могут служить, например, одноплатные приставки на базе микропроцессора М68000, поставляемые фирмой «Диджитал акустик» [23].
2.В качестве одного из первых исторических прецедентов появления ЭВМ такого типа можно будет, видимо, тогда указать на созданную еще в 70-х годах ЭВМ типа М4030, которая была предназначена для исполнения программ двух семейств ЭВМ, написанных соответственно в ОС ЕС и ДОС АСВТ [29].
3.По имени университета в г. Сан-Диего, шт. Калифорния (University of California,), где эта идея была в 1974 г. впервые доведена до коммерчески доступного продукта; соответствующие операционные системы и трансляторы начинаются с аббревиатуры UCSD. Развитием, поставкой и сопровождением UCSD-систем занималась в основном фирма «Софтек Майкросистемс», а в последнее время подключились и многие другие.
4.Чтобы написать программу в какой-либо из операционных систем ряда машин РDР-11, персональный компьютер «Professional» обеспечен пакетом программ связи с мини-ЭВМ. Созданная на мини-ЭВМ ряда РDР-11 или VАХ программа (или пакет программ) затем загружается для исполнения на ПК типа «Ргоfessional». При этом от пользователя искусственно закрыты возможности запустить ОС ряда РDР-11 непосредственно на ПК, хотя система команд процессора и ресурсы «Professional!» вполне позволяют это [31]. Такой «принудительный сервис», видимо, должен был в какой-то степени защищать младшие модели ряда PDР-11 от конкуренции со стороны ПК (по крайней мере от ПК типа «Ргоfessional»). Реально же это решение лишь снизило конкурентные возможности «Professional» по отношению к другим типам ПК класса «супер-микро», но не могло уже остановить эволюционно неизбежный процесс насыщения рынка мини-ЭВМ. В 1982 г. впервые за два десятилетия эры мини-ЭВМ объем продаж мини-ЭВМ фирмы «ДЕК» не только не возрос, как это всегда было ранее, по отношению к предыдущему году, но снизился почти на 20% [32].
5.К 1982 г. в среднем на одну ЭВМ, работающую в системе UNIX, приходилось 50 митфо-ЭВМ, работающих под ОС СР/М [35].
По некоторым оценкам [31], СР/М уже пройден критический порог популярности, за которым для изделий мира системного программирования наступает «компьютерное бессмертие». Подобно, например, языку Фортран, операционная система СР/М все более часто рассматривается просто как средство доступа к СР/М — совместимым программам, независимо от ее относительных достоинств и недостатков. Поэтому многие, в том числе и существенно более совершенные ОС, оснащаются интерфейсом к СР/М или средствами ее эмуляции, а это в свою очередь дополнительно расширяет области приложений СР/М- совместимых программ, увеличивая таким образом их потребительскую ценность, и т.д.
6.К 1983 г. на мировом рынке ЭВМ были 3-дюймовые диски следующих типоразмеров: 3, З1/4 и 31/2 [38].;
Онлайн-версия CD-ROM
приложения к книге Г.Р.Громова
"От гиперкниги к гипермозгу: информационные технологии
эпохи Интернета. Эссе, диалоги, очерки."