Русский | English   поискrss RSS-лента

Главная  → История развития программного обеспечения  → 

Операционная система PDOS

Операционная система PDOS была разработана на предприятии САМАЛК[1] с целью создания переносимой операционной системы для мини- и микро-ЭВМ.

Название PDOS расшифровывается следующим образом:

  1. PDOS – Pascal DOS, так как центральным языком программирования операционной системы является язык Pascal.
  2. PDOS – Р-код DOS, так как переносимость операционной системы осуществляется на уровне "виртуального языка" Р.

Переносимость PDOS обеспечивается следующими свойствами:

Таким образом:

Как уже было отмечено, ключом переносимости является Р-машина. Р-код представляет собой "язык ассемблера" этой виртуальной машины. Подавляющая часть PDOS состоит из Р-кода. Перенос осуществляется путем написания эмулятора Р-кода для конкретной ЭВМ. Эмулятор Р-машины часто называют Р-интерпретатором. С помощью этого эмулятора эмулируется Р-машина на данной конкретной ЭВМ, программы выполняются в их Р-код представлении. Необходимо еще решить проблему, связанную с разными механизмами операций ввода-вывода. По мере возможности программы ввода-вывода включены в Р-кодовую часть PDOS. Параметры этих программ регулируются на уровне Р-код. На языке ассемблера данной ЭВМ мы должны написать только часть ввода-вывода (драйверы терминалов, печатающих устройств, дисков). Это занимает приблизительно несколько часов.

Р-машина как модификация и развитие стека типа LIFO

Р-машина является развитием псевдомашины Р-2, которая была разработана в университете г. Цюрих (Zurich Technical University). P-2-машина представляет собой стек типа LIFO (last-in first-out). Этот стек предназначен для хранения первичных данных. Он содержит параметры процедур, значения функций, описание подпрограмм и операнды команд Р-машины. В этот стек записываются также коды сегментов, которые представляют собой тело программы выполняемого Р-кода. Сегменты динамически загружаются в стек, а после их выполнения место освобождается. Таким образом осуществляется динамический оверлейный механизм выполнения программ. Это очень удобно, так как пользователи имеют возможность написать большие программы на микроЭВМ. Для хранения динамических данных в Р-машине используется куча. Обычно программы содержат два класса данных: динамические и статические данные. Статические данные хранятся в "памяти" (в стеке). Для хранения статических данных сегмента место резервируется в стеке перед загрузкой сегмента. Динамические данные загружаются в кучу при выполнении программы. Кроме стека и кучи Р-машина имеет внешние и внутренние регистры, описывающие состояние Р-машины (рис. 1).

При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php