Сравнительный анализ системных программ первых ЭВМ в СССР | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 18 июля, печатный экземпляр отправим 22 июля.

Опубликовать статью в журнале

Автор:

Рубрика: История

Опубликовано в Молодой учёный №20 (310) май 2020 г.

Дата публикации: 16.05.2020

Статья просмотрена: 4 раза

Библиографическое описание:

Мальцев, С. Н. Сравнительный анализ системных программ первых ЭВМ в СССР / С. Н. Мальцев. — Текст : непосредственный // Молодой ученый. — 2020. — № 20 (310). — С. 368-372. — URL: https://moluch.ru/archive/310/70182/ (дата обращения: 10.07.2020).



В этой статье рассматриваются системные программы первых электронных компьютеров с хранимой программой. Проводится сравнение системного программирования СССР с системами программирования в других странах в 50х годах прошлого столетия в ходе прогресса системного ПО. Именно этот прогресс привел к созданию Фортрана, Алгола и много пользовательских операционных систем, хотя этот период в статье не рассматривается.

Ключевые слова: компьютеры, история программирования, транслятор, интерпретатор, операционная система.

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

В статье рассматриваются в основном системные программы первых электронных компьютеров с хранимой программой. Следовательно, не рассматривается программирование ENIAC, так как он был контактно программируемый не с хранимой программой, программировался как табуляторные машины предыдущего периода. [7, c. 35] Так же в работе не рассматриваются не транслируемые в то время языки алгоритмов, типа PlanKalkul.

Новизной данной статьи является попытка сопоставить и сравнить работы первых программистов СССР с работами программистов других стран.

70 лет назад в 6 ноября 1950 года в СССР был запущен первый компьютер, называемый модель МЭСМ. [7, c. 29]. Это была 16 разрядная 3х адресная машина на примерно 3000 электронных лампах, а та МЭСМ которая была принята в эксплуатацию позже (25 декабря 1951 года) была 26-разрядная 3х адресная машина на примерно 6000 электронных лампах.

Это были машины с хранимой программой и были «полными то Тьюрингу» (Turing complete). Однако они не были машинами по фон Нейману, так как не имели выделенной не регистровой оперативной памяти.

Макет МЭСМ в 1950 осуществлял ввод данных и программ с панели переключателей двоичных чисел. Вывод результата в двоичном виде на панель из лампочек. Первая программа была упрощенной задачей баллистики. Программировали ее С. Авраменко и С. Крейн.

Что же было в других странах. В 1950 году электронные компьютеры с хранимой программой были только в Британии и США. Даже во Франции, где была фирма Bull Мachines выпускавшая перфорационные вычислительные комплексы, электронных компьютеров не было. Они появились только в 1955 году, да и то как аналог IBM. В Германии не смотря на наличие фирм, выпускающих вычислители DEHOMAG и Zuse, электронных компьютеров тоже не было до 1955 года.

В США, если не считать не работающий на тот момент BINAC, были компьютеры SEAC и SWAC которые были запущены на несколько месяцев раньше модели МЭСМ и будучи аналогами Британской ACE, так же находились в стадии эксперимента и программировались в это время в двоичном виде в ручную с пульта.

В Британии в 1950 году работали 3 компьютера АСЕ, MADM, EDSAC и это не считая манческирскую SSEM (Small Scale Experimental Machine), которая выполнила первую программу в 21 июня 1948 года и была первым работающим компьютером с хранимой программой в мире. SSEM была разобрана на детали в конце октября 1948 года. В место нее в апреле 1949 года была установлена более совершенная MADM (вначале MUC), Манчестерский университетский компьютер.

Основные системные программы, повлиявшие на прогресс системного ПО, приводятся в таблице 1.

Британская АСЕ сразу имел перфокарточный ввод, однако в связи с не стандартно расположенными пробивками, можно считать, что программировался с перфокарт, но в двоичном формате. Еще до ее запуска была разработана библиотека подпрограмм десятично-двоичных преобразований и работы с числами с плавающей точкой. Программа АСЕ –VII (1947г.) выглядела так:

1101001101110111011100001110110110101101010101

1001101101110111011100001110110110101100010111

А вот на компьютерах MADM и EDSAC, которые были запущены на полтора года раньше советской «модель МЭСМ», британские программисты осуществили несколько научных переворотов. Первый переворот в системном программировании совершил А. Тьюринг (A. Turing). Он стал осуществлять загрузку в память программы с перфоленты 5 битными латинскими символами, с помощью специальной программы загрузки. Эту загрузку он продемонстрировал уже в октябре 1948 года на компьютере SSEM. Однако для MADM это было доработано к апрелю 1949 года.

При загрузке 5 битной ленты получалась более компактная запись, по сравнению с двоичной и восьмеричной. И как Тьюринг считал, лучше читается и запоминается. Было даже мнемоническое слово для лучшего запоминания каждого символа команды из 31 команды MADM. Такой стиль записи можно назвать первым символьным языком программирования, назывался «AbbreviationInstructioncode» [2, c. 3]. Например, три команды MADM, прочитать, сложить и записать я память результат, выглядело на бланке программы и распечатке на телетайпе так:

Н//0 М/@DD/@@

Также с перфоленты загружалась специальная библиотека системных функций. После загрузки с помощью библиотеки можно было преобразовать нужные данные в рабочей программе в двоичный вид. После преобразования-трансляции можно было выгрузить готовую рабочую программу на перфоленту. Это системное программное обеспечение было названо SchemeA [2, c. 31]. (Тьюринг 1949г.). Она состояла из резидентного монитора и служебных программ. В ее функции входило:

Загрузка программ а память (O, K)

Редактирование ячеек памяти (J)

Преобразование 10х чисел в 2-е (“)

Выполнение команды (X) Например: Х//L — запустить с адреса 0.

Выгрузка данных из памяти (T, Q)

Выполнять команды можно было как с перфоленты, так и клавиатуры телетайпа (с октября 1948г.).

М. Уилкс (M. Wilkes), руководитель проекта EDSAC, переняв, по возможности, одно адресную структуру Манчестерского компьютера, посчитал представление программы А.Тьюринга очень неудобным, тем более что из-за отсутствия переключений регистров у Тьюринга среди символов отсутствовали цифры. Уилкс попросил конструктора EDSAC Ренвика (B. Renwick) сделать код команды более мнемоническим, чем у MADM. В месте с программистом Уиллером (D. Wheeler) было разработано июне 1949 года системное обеспечение Initorder, которое сразу и загружало более понятную текстовую программу и преобразовывало в двоичный вид нужные цифры [2, c. 3]. Как утверждал Уилкс, это более понятно и студентам, и аспирантам. Сложение с записью выглядело так;

26 A 25 S

27 A 4 Sn+1 ton

28 U 25 S

В 1949 Weeler написал программу Compilator которая настраивала адреса вызовов библиотечных подпрограмм необходимых только для этой программы. В последствии многие программные системы стали использовать этот метод.

В сентябре 1949 года Мочли в первые на электронном компьютере стал использовать восьмеричные 3х битные символы и назвал это “Short code”. При этом символы набивались специальной клавиатурой на магнитную ленту и с нее вводились в компьютер. Вывод на печать то же восьмеричный.

BINAC 9/1949

20010 03027

70610 08274

В 1951 Мочли уже на компьютере UNIVAC начал использовать шести битные символы с этим же названием. [1, c. 53]

UNIVAC — 1

В 1951 году система программирования EDSAC была переработана программистом Гилмором (J. Gilmore) из Массачусетского института технологии (MIT) для компьютера Whirlwind.

Г. Хоппер (G. Hopper) в развитие библиотечного ассемблера Уиллера для UNIVAC структурировала большую библиотеку UNIVAC а, создав систему А0 в 1952 году. В 1954 добавив выгрузку готовой к запуску программ на магнитную ленту, назвала это компилятором А-2.

В ЭВМ М-1 в декабре 1951 года в первые в СССР начали программировать восьмеричными символами их набивали на обычном телетайпе, потом вводили с перфоленты, в отличии от магнитной ленты в BINAC. На примере ниже напечатана тестовая программа печати квадратов чисел. [8, c. 243]

М-1 (1951)

10000000

20030060 40080061 40011061 20010030 20051031

30010030 30002031 20010070 00050071 00000050

Программирование БЭСМ в 1952 году производилось перфокартами, как показано ниже.

10 1010 1010 101

10 1010 1010 101

Glennie в Манчестерском университете в 1952 создал Autocode в котором реализовал трансляцию алгебраических формул ограниченного размера, [1, c. 43] для Манчестерского компьютера FERRANTI.

Autocode Glennie 1952

INTEGERS +5 +7 →c # Put 5 plus 7 into c

+t -xy

Тут необходимо уточнить как мог возникнуть подобный транслятор. В дополнение к символьному кодированию и трансляции цифр впервые появляется трансляция формул и трансляция кодов команд. Явно что до трансляции формул была просто трансляция кодов команд. Вероятно, был и предшествующий Autocode Glennie. Вероятно, это мог быть кросс транслятор с ассемблера EDSAC на «AbbreviationInstructioncode» MADM мк1. Глени работал на обоих компьютерах, но MADM мк1 разобрали в декабре 1950 года.

В фирме IBM в 1953 Backus используя наработки Wilkes и Glennie создал Speedcode. [1, c. 3]

SpeedcodeIBM 1953 Backus

RAD 25

RAD 04

RST 25

В 1953 в СССР была запущена серийная ЭВМ СТРЕЛА-1 ввод программ был аналогично БЭСМ.

Однако вскоре были разработаны программы автоматизации программирования. В начале была разработана «Программа Автоматического Присвоения Адресов/ПАПА» (Т. А. Тросман, В. В. Мартынюк). Вероятно, была аналогична компилирующей программе А0 Грейс Хоппер. Выглядела как обычная программа Стрелы-1, однако сокращала работу программистам.

0000 0000 0000 0 01

0001 0001 0001 0 03

В 1954 Подобный подход был усовершенствован (С. С. Камынин, Э. З. Любимский)условными блоками и выгрузкой загружаемой программы на перфокарты и была названа «Программирующей программой» / ПП-1, так как из заготовки программы формировала набор рабочих запускаемых карт. [5, c. 9]

В 1955 Ершов разработал ПП-БЭСМ [9, c. 11] с символьными кодами операций.

ПП_БЭСМ2

В 1954 году Бруккер (Brooker) довел до практического использования Autocode А. Глени. с алгебраической записью. [1, c. 63]

Autocode Brooker 1954

1 vn1 = Ireads input into v [n [1]]

n1 = n1 + 1

j1,11 ≥ n1 jumps to 1 if n [1] ≤ 11

И усовершенствовал «Schema A» в Интерпретирующую систему Autocode. Запуск программы выглядела так: $ prog1.

Бекус (J. Backus) в IBM используя наработки предшественников Autocode, в 1956 году начинает обкатывать FORTRAN [1, c. 60] [4, c. 3], создав для него операционную систему пакетной обработки FMS. Пример вызова программы:

JOB START

А в 1958 году Интерпретирующую систему для М-20 написал Шура-бура.

ИС-2 в начале для М-20. ИС разрабатывалась для работы с библиотечными программами с перфокарточного считывателя. [9, c. 11] Программа просто выполняла команду, считанную с перфокарточного ввода. Однако в купе с хорошо подобранной системой команд ЭВМ М-20 позволяла просто выполнять большое количество функций [10, c. 30] без обращения к пульту управления ЭВМ. Чтобы загрузить и выполнить программу в штатном режиме, нужно было безошибочно набрать больше 100 двоичных тумблеров на инженерной панели. При запущенной ИС-2, достаточно было положить колоду перфокарт с программой и с подготовленными перфокартами загрузки и запуска, виде машинной команды в 15 восьмеричных цифр. А если при отладке требовалось изменить информацию в памяти, то достаточно было набить на клавиатуре перфоратора команду записи в память в восьмеричном формате и положить эту карту в считыватель. Использовалась до 1970 года.

Выводы из описанного в статьеможно сделать такие, что начиная с 1946 года шел непрерывный процесс совершенствования системного ПО, в котором лидировали британские программисты. Программисты СССР создавая оригинальные программные продукты шли на третьем месте. Германоязычные программисты себя серьезно проявили только в 1958 гору в разработке Алгола. Практически с 1960 года начался современный этап развития программирования.

Литература:

  1. Knuth, D. E., Trabb P. L. «Early development of programming languages», Stanford:1976.

2. Turing, A. M. Manual for the Ferranti Mk. I — Manchester: 1951.

  1. Wilkes, M. V. Wheeler, D. J. Gill S. The Preparation of Programs for an Electronic Digital Computer, Mass.: Addison-Wesley, 1951.

4. Backus, J. The history of Fortran I, II, and III — IEEE Annals of the History of Computing: 1989.

  1. Камынин С. С., Любимский Э. З. Автоматизация программирования // Тр. конф. «Пути развития советского математического машиностроения и приборостроения». — ч. 3 — М., 1956. — С. 9–17.
  2. Сергей Алексеевич Лебедев. К 100-летию со дня рождения основоположника отечественной электронной вычислительной техники. Под ред. В. С. Бурцева, М.: ФИЗМАТЛИТ, 2002.
  3. Мальцев, С. Н. Роль Холлерита в развитии вычислительной техники. [Электронный ресурс] // Электронный периодический научный журнал «SCI-ARTICLE.RU». 2017. № 46. С. 31–39. URL: http://sci-article.ru/number/06_2017.pdf (дата обращения: 12.05.2020).
  4. Мальцев, С. Н. О программировании АЦВМ М-1 // Молодой ученый. — 2018. — № 25. — с. 243–246.
  5. Шура-Бура, М. Р. Система интерпретации ИС-2 // Библиотека стандартных программ. — М.:Изд-во ЦБТИ, 1961.

10. Шура-Бура М. Р. Штаркман В. С. Вычислительная машина М-20 М.: 1962.

Основные термины (генерируются автоматически): MADM, EDSAC, UNIVAC, компьютер, SSEM, IBM, BINAC, хранимая программа, программа, двоичный вид.


Ключевые слова

операционная система, компьютеры, история программирования, транслятор, интерпретатор

Похожие статьи

Программное обеспечение системы менеджмента качества

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

Разработка базы данных для отдела кадров в программе...

В данной статье рассматривается пример построения базы данных в программах «Erwin 4.0»., «IBExpert» для отдела кадров и её дальнейшая практическая реализация.Для создания базы данных «Кадры» автором были определены и описаны основные сущности и атрибуты...

О программировании АЦВМ М-1 | Статья в журнале...

В данной статье описывается компьютер М-1 созданный в лаборатории Электросистем Энергетического института АН СССР в 1951 году и предпринята попытка восстановить одну из программ. Ключевые слова: история, компьютер, программирование.

Интеграция MS-DOS приложений в современные операционные...

Проблематика области. На данный момент существует большое количество программ, написанных для операционной системы MS-DOS. Однако эта операционная система уже устарела, и использовать её становится неудобно...

Основы разработки баз данных реального времени

В статье кратко представлены основы разработки баз данных реального времени при создании автоматизированных систем реального времени. Такие базы данных могут быть полезны в области банковского дела, медицины, автоматизации сложных технологических процессов...

Применение DFD-диаграмм при разработке компьютерных игр

На диаграмме изображается в виде стрелок, показывающих информацию, выходящую из одного блока и входящую в другой.

Ниже приведён пример DFD диаграмм, используемых при разработке компьютерной игры «Настольный теннис».

Анализ производительности подходов обработки информации на...

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

Методы, средства и процедуры обеспечения доверенного...

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

Организация базы данных в автоматизированных системах

СУБД разрабатывается в виде общесистемных пакетов прикладных программ и предназначается для многих применений.

Организация необходимых данных в виде банка данных может быть успешно применима и для проектирования одежды.

Похожие статьи

Программное обеспечение системы менеджмента качества

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

Разработка базы данных для отдела кадров в программе...

В данной статье рассматривается пример построения базы данных в программах «Erwin 4.0»., «IBExpert» для отдела кадров и её дальнейшая практическая реализация.Для создания базы данных «Кадры» автором были определены и описаны основные сущности и атрибуты...

О программировании АЦВМ М-1 | Статья в журнале...

В данной статье описывается компьютер М-1 созданный в лаборатории Электросистем Энергетического института АН СССР в 1951 году и предпринята попытка восстановить одну из программ. Ключевые слова: история, компьютер, программирование.

Интеграция MS-DOS приложений в современные операционные...

Проблематика области. На данный момент существует большое количество программ, написанных для операционной системы MS-DOS. Однако эта операционная система уже устарела, и использовать её становится неудобно...

Основы разработки баз данных реального времени

В статье кратко представлены основы разработки баз данных реального времени при создании автоматизированных систем реального времени. Такие базы данных могут быть полезны в области банковского дела, медицины, автоматизации сложных технологических процессов...

Применение DFD-диаграмм при разработке компьютерных игр

На диаграмме изображается в виде стрелок, показывающих информацию, выходящую из одного блока и входящую в другой.

Ниже приведён пример DFD диаграмм, используемых при разработке компьютерной игры «Настольный теннис».

Анализ производительности подходов обработки информации на...

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

Методы, средства и процедуры обеспечения доверенного...

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

Организация базы данных в автоматизированных системах

СУБД разрабатывается в виде общесистемных пакетов прикладных программ и предназначается для многих применений.

Организация необходимых данных в виде банка данных может быть успешно применима и для проектирования одежды.

Задать вопрос