Открыть сервис

FORTRAN Monitor System

FORTRAN Monitor System (FMS) — это операционная система, разработанная в 1960-х годах для мэйнфреймов IBM 7090/7094. Она представляла собой раннюю пакетную систему, предназначенную для управления выполнением программ, написанных на языке FORTRAN, и автоматизации процесса обработки заданий в условиях ограниченных вычислительных ресурсов того времени. FMS считается одной из первых операционных систем, получивших практическое распространение, и оказала значительное влияние на развитие системного программного обеспечения.

История

Разработка FORTRAN Monitor System началась в 1963 году в Массачусетском технологическом институте (MIT) в рамках проекта по созданию эффективной среды для выполнения научных и инженерных расчётов. Основной целью было упрощение работы с компьютером IBM 7090, который требовал ручного ввода заданий и последовательного выполнения программ. До появления FMS операторы загружали программы с перфокарт вручную, что приводило к частым ошибкам и простоям.

Первая версия FMS была выпущена в 1964 году и сразу же получила признание в академических и исследовательских кругах. Система позволяла автоматически загружать, компилировать и выполнять программы на FORTRAN, а также управлять вводом-выводом данных. В 1965 году вышла обновлённая версия, адаптированная для IBM 7094, которая включала улучшенную поддержку магнитных лент и более эффективное распределение памяти.

К концу 1960-х годов FMS была вытеснена более совершенными операционными системами, такими как IBSYS (разработка IBM) и CTSS (Compatible Time-Sharing System), которые предлагали многозадачность и интерактивный режим работы. Тем не менее, FMS оставалась в эксплуатации на многих вычислительных центрах до середины 1970-х годов, особенно в университетах и научно-исследовательских институтах.

Архитектура и принципы работы

Пакетная обработка

FMS работала в режиме пакетной обработки (batch processing), что означало последовательное выполнение заданий без вмешательства пользователя в реальном времени. Задания вводились в виде колоды перфокарт, содержащих управляющие команды, исходный код на FORTRAN и данные. Система считывала колоду, интерпретировала команды, запускала компилятор FORTRAN, а затем выполняла полученную программу.

Управление заданиями

Основным компонентом FMS был монитор — программа, отвечающая за загрузку и выполнение заданий. Монитор обрабатывал управляющие карты, которые определяли последовательность операций: компиляцию, загрузку, выполнение, вывод результатов. Типичная колода заданий включала:

  • Карты управления (например, $JOB, $FORTRAN, $LOAD, $RUN), указывающие монитору действия.
  • Исходный код на FORTRAN (карты с операторами языка).
  • Данные (карты с входными данными для программы).
  • Карта конца задания ($END), сигнализирующая о завершении.

Управление памятью

FMS использовала фиксированное распределение памяти, характерное для компьютеров IBM 7090/7094. Память делилась на две области: резидентную (для монитора и системных утилит) и пользовательскую (для компилятора и выполняемых программ). Размер пользовательской области был ограничен 32 КБ слов (слово — 36 бит), что требовало от программистов оптимизации кода.

Ввод-вывод

Система поддерживала работу с устройствами ввода-вывода, такими как:

  • Считыватели перфокарт (IBM 711) — для ввода заданий.
  • Перфораторы карт (IBM 716) — для вывода результатов на карты.
  • Магнитные ленты (IBM 729) — для хранения промежуточных данных и библиотек.
  • Принтеры (IBM 716) — для печати результатов.

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

Компоненты системы

Компилятор FORTRAN II

FMS включала компилятор FORTRAN II, который был адаптирован для IBM 7090. Компилятор преобразовывал исходный код в машинный код, оптимизированный для выполнения на этой архитектуре. Он поддерживал основные конструкции языка: арифметические операции, циклы, условные операторы, подпрограммы и функции.

Системные утилиты

В состав FMS входили утилиты для управления файлами и библиотеками:

  • Библиотекарь (Librarian) — позволял создавать и поддерживать библиотеки объектных модулей, что упрощало повторное использование кода.
  • Редактор связей (Linkage Editor) — объединял объектные модули в выполняемую программу, разрешая внешние ссылки.
  • Утилиты копирования — для переноса данных между магнитными лентами и другими носителями.

Диагностика ошибок

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

Применение

Научные и инженерные расчёты

FMS широко использовалась в университетах и исследовательских центрах для решения задач численного анализа, моделирования физических процессов, обработки экспериментальных данных и расчёта конструкций. Например, в MIT с её помощью проводились расчёты траекторий космических аппаратов и моделирование ядерных реакций.

Образование

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

Коммерческое использование

Некоторые промышленные предприятия, такие как авиастроительные и нефтехимические компании, использовали FMS для внутренних расчётов. Однако из-за ограниченной производительности и отсутствия многозадачности она уступала более поздним системам.

Влияние и наследие

FORTRAN Monitor System стала важным этапом в эволюции операционных систем. Она продемонстрировала эффективность автоматизации пакетной обработки и заложила основы для таких концепций, как управление заданиями, библиотеки модулей и буферизация ввода-вывода. Многие идеи, реализованные в FMS, были позже развиты в системах IBSYS и OS/360.

Кроме того, FMS способствовала популяризации языка FORTRAN, который стал стандартом для научных вычислений на десятилетия вперёд. Система показала, что даже при ограниченных ресурсах можно создать надёжную среду для выполнения сложных вычислительных задач.

Интересные факты

  • FMS была одной из первых систем, где использовались управляющие карты с префиксом $, что впоследствии стало стандартом для многих операционных систем (например, $JOB в OS/360).
  • Разработка FMS велась параллельно с проектом CTSS, который ввёл концепцию разделения времени. Несмотря на то, что FMS была пакетной, она подготовила почву для перехода к интерактивным системам.
  • Исходный код FMS был написан на ассемблере FAP (FORTRAN Assembly Program), что обеспечивало высокую производительность, но усложняло переносимость на другие платформы.

Источники

  • IBM 7090/7094 Operating Systems: FMS and IBSYS (Technical Reference Manual, 1965)
  • P. J. Denning, "The Evolution of Operating Systems", ACM Computing Surveys, 1981
  • M. D. McIlroy, "A History of Computing at MIT", 1990
  • Документация MIT Computation Center по FORTRAN Monitor System (1964)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →