IBM ПЛ/С
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Апрель 2010 г. ) |
PL/S , сокращение от Programming Language/Systems , — это «машинно-ориентированный» язык программирования, основанный на PL/I . Он был разработан IBM в конце 1960-х годов под названием Basic Systems Language ( BSL ) как замена языка ассемблера во внутренних проектах программного обеспечения; он включал поддержку встроенной сборки и явный контроль над использованием регистров .
использующими PL/S, были пакетная утилита IEHMOVE и опция разделения времени MVT Ранними проектами , , TSO.
К 1970-м годам IBM переписывала свою флагманскую операционную систему на PL/S. Хотя пользователи часто просили IBM выпустить PL/S для их использования, IBM отказывалась, заявляя, что продукт является запатентованным. Их опасения заключались в том, что открытый PL/S даст конкурентам Amdahl , Itel (National Advanced Systems), Storage Technology Corporation , Trilogy Systems , Magnuson Computer Systems , Fujitsu , Hitachi и другим поставщикам PCM конкурентное преимущество. Однако, хотя они и отказались предоставить компилятор, они отправили исходный код PL/S для больших частей ОС клиентам, многие из которых, таким образом, ознакомились с его чтением.
Закрытый PL/S означал, что только IBM могла легко модифицировать и улучшать операционную систему.
На смену PL/S пришли PL/S II, PL/S III и PL/AS (язык программирования/расширенные системы), а затем PL/X (язык программирования/кросс-системы). PL/DS (язык программирования/распределенные системы) был тесно связанным языком, который использовался для разработки операционной системы DPPX , а PL/DS II был портом архитектуры S/370 для порта DPPX/370.
Поскольку рынок компьютеров и программного обеспечения отошел от мэйнфреймов IBM и MVS, IBM отказалась от этого и предложила текущие версии PL/S избранным клиентам (независимым поставщикам программного обеспечения в рамках программы Developer Partner).
Rand-компилятор для PL/S
[ редактировать ]Компилятор Rand RL/S для языка PL/S компании IBM был разработан в начале 1970-х годов Вычислительным центром корпорации Rand в Санта-Монике, Калифорния. Он был реализован с использованием системы генератора компилятора XPL командой из трех программистов Rand ( Р. Лоуренс Кларк, Джеймс С. Рейли и руководитель группы Дэвид Дж. Смит ). Компилятор Rand RL/S был разработан независимо и без какой-либо помощи со стороны IBM. только общедоступная документация PL/S, не защищенная авторскими правами, а также исходный код PL/S и примеры сгенерированного ассемблерного кода из распределенных исходных файлов IBM для операционной системы MVS Использовались .
RL/S полностью совместим с языком IBM PL/S II . Это было достигнуто путем анализа многих тысяч строк кода PL/S, написанного IBM, взятого из файлов дистрибутива MVS. Код языка ассемблера, создаваемый компилятором Rand RL/S, не идентичен коду, создаваемому компилятором PL/S компании IBM, но функционально эквивалентен.
Рэнд в течение длительного времени вносил вклад в компьютерные исследования и разработки (например, JOSS , планшет Rand , WYLBUR ) и был пионером в определении и разработке сетевой технологии «коммутации пакетов» ( Баран ). Рэнд также был одним из первых узлов Arpanet , Министерства обороны предшественника Интернета .
Интерес Рэнда к PL/S возник из-за обширных модификаций, которые Вычислительный центр внес в операционную систему IBM MVT , включая модификации, направленные на повышение производительности Arpanet на его компьютере IBM 360. Поскольку MVT не обрабатывал сетевые прерывания достаточно быстро для обработки трафика Arpanet, был разработан « гипервизор », позволяющий обрабатывать прерывания Arpanet специально написанным кодом, в то время как все остальные прерывания обрабатывались MVT. Когда IBM анонсировала операционную систему MVS, Рэнд вызвался стать одним из первых «бета-сайтов» операционной системы с намерением перенести гипервизор и другие модификации в MVS.
Однако, как известно , IBM отказалась предоставить свой PL/S-компилятор клиентам, заявив, что это является значительным конкурентным преимуществом. Отсутствие компилятора означало, что ни конкуренты, ни клиенты не могли изменять код MVS на уровне исходного кода PL/S, а могли изменять только сгенерированный ассемблерный код. Однако изменения, сделанные на уровне сгенерированного ассемблера, легко устарели, когда IBM изменила исходный код PL/S и распространила повторно сгенерированный ассемблерный код. Это особенно справедливо в отношении модификаций структур данных, генерируемых PL/S. Поэтому компания Rand решила разработать собственную версию компилятора PL/S, отвечающую как операционным целям, так и контрактным обязательствам.
Компилятор RL/S изначально был написан на PL/I , а затем преобразован в RL/S для повышения производительности. С некоторыми ограничениями программы RL/S можно было разрабатывать с использованием компилятора PL/I IBM для предварительной обработки и отладки, а окончательный код затем компилировать с помощью RL/S.
Язык и компилятор Rand RL/S были публично анонсированы в августе 1976 года на собрании Share, где многочисленные копии Справочного руководства по языку RL/S участникам были розданы . IBM быстро отреагировала, заявив, что этот язык является «собственническим». Хотя Рэнд не признал никаких нарушений при разработке RL/S, руководство Rand согласилось не распространять компилятор публично. Рэнд, однако, продолжал использовать язык и компилятор RL/S во многих проектах.
Фуджицу «Развития»
[ редактировать ]Полностью совместимый компилятор PL/S был «разработан» компанией Fujitsu Ltd в конце 1970-х годов, адаптировав исходный код компилятора PL/I Optimizer от IBM в качестве отправной точки. Этот компилятор PL/S использовался внутри компании Fujitsu, а также внешними филиалами Fujitsu. Неизвестно, знала ли IBM о таком нелицензионном использовании своей лицензированной интеллектуальной собственности. Имена фаз этого компилятора PL/S были такими же, как соответствующие имена фаз компилятора PL/I Optimizer от IBM, с начальной буквой «I» (IBM) в каждом названии фазы, замененной начальной буквой «J» (Япония). Все уведомления об авторских правах IBM (источник и объект) в модулях были удалены, чтобы скрыть их истинное происхождение и право собственности. [ нужна ссылка ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- Спецификации языка BSL , International Business Machines Corp., 1968, Z28-6642-0. Обратите внимание, что BSL был переименован в PL/S и заменен на PL/S II.
- WR Бриттенхэм, «PL/S, язык программирования/системы», Proc GUIDE Intl , GUIDE 34, 14 мая 1972 г., стр. 540–556.
- В. Р. Бриттенхэм и Б. Ф. Мелкун, «Проблема языка системного программирования», Материалы рабочей конференции ИФИП по машинно-ориентированным языкам высокого уровня, Тронхейм, Норвегия, 29–31 августа 1973 г., стр. 29–47. Амстердам: Издательская компания Северной Голландии; Нью-Йорк: American Elsevier, 1974. В этой статье исследуются технические и психологические проблемы, возникающие при внедрении PL/S. Описаны язык и компилятор. Включено обсуждение, последовавшее за презентацией документа.
- Джио Видерхольд и Джон Эрман , «Выведенный синтаксис и семантика PL/S», Материалы симпозиума SIGPLAN по языкам для реализации системы 1971 г. , в SIGPLAN Notifications 6 (10) октябрь 1971 г.
- Руководство по PL/S II , International Business Machines Corp., 1974. GC28-6794-0 Обратите внимание, что это руководство очень устарело по отношению к языку PL/X, используемому сегодня.
- Справочное руководство по языку RL/S , The Rand Corporation, Вычислительный центр Rand, R-1555/11, 1977 г.