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 КБ) и отсутствие защиты памяти, что приводило к частым сбоям при ошибках в программах. Также система не поддерживала работу с несколькими пользователями, что ограничивало её применение в многопользовательских средах.
Источники
- Bell, C. G., Mudge, J. C., & McNamara, J. E. (1978). Computer Engineering: A DEC View of Hardware Systems Design. Digital Press.
- DEC. (1974). OS/8 Handbook. Digital Equipment Corporation.
- Ritchie, D. M. (1984). The Evolution of the Unix Time-sharing System. AT&T Bell Laboratories Technical Journal.
- Смирнов, В. И. (1985). Мини-ЭВМ «Электроника-100»: Архитектура и программное обеспечение. М.: Радио и связь.
- SIMH. (1993). PDP-8 Emulator Documentation. Bob Supnik.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →