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

OS/8

OS/8 — это операционная система реального времени для мини-компьютеров серии PDP-8, разработанная компанией Digital Equipment Corporation (DEC) в конце 1960-х годов. Она представляла собой однопользовательскую, однозадачную систему, предназначенную для управления вводом-выводом, запуска программ и работы с файлами на магнитных лентах и дисках. OS/8 была одной из первых операционных систем, ориентированных на малые и недорогие компьютеры, и оказала значительное влияние на развитие ранних микрокомпьютерных систем.

История

Предпосылки создания

Компьютер PDP-8, выпущенный DEC в 1965 году, был первым коммерчески успешным мини-компьютером, продававшимся по цене около 18 000 долларов США. Его 12-битная архитектура и малый объём памяти (от 4 до 32 КБ) требовали компактной и эффективной операционной системы. Первоначально для PDP-8 использовались простые загрузчики и мониторы, такие как RIM (Read-In Mode) и BIN (Binary Loader), которые позволяли загружать программы с перфоленты. Однако с появлением накопителей на магнитных дисках (например, DECtape и RK05) возникла необходимость в более развитой файловой системе и управлении ресурсами.

Разработка и выпуск

OS/8 была разработана в 1968–1969 годах под руководством инженера DEC Гордона Белла. Первая версия, названная OS/8 V1, вышла в 1970 году и поддерживала только DECtape — магнитную ленту с произвольным доступом. В 1972 году была выпущена версия V2, добавившая поддержку дисков RK05 (съёмные жёсткие диски ёмкостью 2,5 МБ). В 1974 году вышла финальная версия V3, которая включала улучшенный интерпретатор команд, поддержку нескольких дисководов и расширенные утилиты. OS/8 оставалась основной операционной системой для PDP-8 до прекращения выпуска этой серии в 1979 году.

Распространение

OS/8 распространялась бесплатно с каждым компьютером PDP-8 и поставлялась на перфолентах или магнитных лентах. В 1970-х годах она использовалась в университетах, научно-исследовательских институтах и промышленных предприятиях СССР, где PDP-8 выпускался по лицензии как серия «Электроника-100» (например, «Электроника-100/25»). В СССР OS/8 была адаптирована для работы с отечественными дисковыми накопителями и периферией, но сохранила оригинальное ядро.

Архитектура и особенности

Ядро и управление памятью

OS/8 работала в реальном режиме и не поддерживала многозадачность. Ядро системы занимало около 4 КБ памяти (из 12-битного адресного пространства в 32 КБ). Управление памятью было минимальным: программа загружалась в фиксированный адрес (обычно 0200₈), а операционная система располагалась в верхних адресах. Для работы с большими программами использовалась техника «оверлеев» (overlays), когда части программы загружались с диска по мере необходимости.

Файловая система

Файловая система OS/8 была плоской (без вложенных каталогов) и поддерживала имена файлов длиной до 6 символов (в формате «XXXXXX.XX», где расширение — 2 символа). Файлы хранились на дисках в виде последовательных блоков по 256 слов (512 байт). Максимальный размер диска составлял 2 097 152 слова (4 МБ). Для DECtape использовалась аналогичная структура, но с меньшей ёмкостью (до 256 КБ).

Интерпретатор команд

Основным интерфейсом пользователя был командный интерпретатор CCL (Command Control Language), который обрабатывал команды, вводимые с телетайпа. Команды включали:

  • DIR — вывод списка файлов на диске.
  • RUN — запуск программы.
  • COPY — копирование файлов.
  • DELETEудаление файлов.
  • TYPE — вывод содержимого текстового файла.
  • ASSIGN — привязка логического устройства к физическому.

Команды были регистронезависимыми и часто сокращались до трёх символов. Например, DIR означала «Directory», а RUN — «Run program».

Утилиты

В состав OS/8 входил набор утилит, написанных на ассемблере PAL-8 (Program Assembly Language). Среди них:

  • EDIT — текстовый редактор, работающий в режиме построчного ввода.
  • MACROассемблер, преобразующий код PAL-8 в машинный код.
  • LINK — редактор связей для объединения объектных модулей.
  • PIP (Peripheral Interchange Program) — программа для копирования данных между устройствами (например, с перфоленты на диск).
  • FOCAL — интерпретатор языка программирования FOCAL (Formulating On-Line Calculations in Algebraic Language), популярный в научных расчётах.

Применение

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

OS/8 использовалась в лабораториях для управления экспериментами, сбора данных и математических расчётов. Благодаря языку FOCAL, система была популярна среди физиков и химиков, не имевших опыта программирования на ассемблере. В СССР на базе «Электроники-100» под управлением OS/8 работали системы автоматизации научных исследований (САНИ) в институтах Академии наук.

Промышленность и управление

В промышленности PDP-8 с OS/8 применялись для управления станками с ЧПУ, контроля технологических процессов и тестирования электроники. Например, в 1970-х годах на заводе «Электросила» (Ленинград) OS/8 использовалась для управления испытательными стендами мощных электродвигателей.

Образование

В университетах США и Европы OS/8 была стандартной платформой для обучения программированию на ассемблере и архитектуре компьютеров. В СССР в 1970-х годах на базе «Электроники-100» в МГУ и МИФИ проводились лабораторные работы по операционным системам.

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

Техническое влияние

OS/8 стала прототипом для многих ранних операционных систем микрокомпьютеров, таких как CP/M (1974) и MS-DOS (1981). Её плоская файловая система, интерпретатор команд и утилиты были заимствованы и адаптированы для 8-битных процессоров Intel 8080 и Z80. В частности, команды DIR, COPY, TYPE и RUN перешли в CP/M и MS-DOS практически без изменений.

Эмуляция и сохранение

В 1990-х годах OS/8 была портирована на эмуляторы PDP-8, такие как SIMH (1993), что позволило запускать её на современных компьютерах. В 2000-х годах исходный код OS/8 был восстановлен из архивов DEC и опубликован под лицензией BSD, что сделало его доступным для изучения и модификации. В настоящее время OS/8 используется в ретро-вычислительных сообществах для демонстрации работы ранних мини-компьютеров.

Критика

Основные недостатки OS/8 включали отсутствие многозадачности, ограниченный объём поддерживаемой памяти (до 32 КБ) и отсутствие защиты памяти, что приводило к частым сбоям при ошибках в программах. Также система не поддерживала работу с несколькими пользователями, что ограничивало её применение в многопользовательских средах.

Источники

  1. Bell, C. G., Mudge, J. C., & McNamara, J. E. (1978). Computer Engineering: A DEC View of Hardware Systems Design. Digital Press.
  2. DEC. (1974). OS/8 Handbook. Digital Equipment Corporation.
  3. Ritchie, D. M. (1984). The Evolution of the Unix Time-sharing System. AT&T Bell Laboratories Technical Journal.
  4. Смирнов, В. И. (1985). Мини-ЭВМ «Электроника-100»: Архитектура и программное обеспечение. М.: Радио и связь.
  5. SIMH. (1993). PDP-8 Emulator Documentation. Bob Supnik.

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

На главную BFOmetr →