Digital Equipment Corporation) в городе Мейнард (штат Массачусетс, сша) для семейства компьютеров pdp-11. Данная операционная система явилась родоначальницей всех однопользовательских ос для малых и микро-эвм. Вданной статье рассказ

Вид материалаРассказ

Содержание


Варианты операционной системы RT-11
История изменений RT-11
Архитектура операционной системы RT-11
Рисунок 2. Состав ОС RT-11
Рисунок 3. Ядро ОС RT-11
Список литературы
Процесс, резидентный в памяти
Подобный материал:

УДК 004


Обзор архитектуры операционной системы

реального времени Rt-11

Кривилёва Анастасия Сергеевна

ПГНИУ, механико-математический факультет,

кафедра Информационных технологий,

askrivileva@gmail.com

Аннотация


RT-11 (Real-Time System) была разработана в 1970 году фирмой DEC (Digital Equipment Corporation) в городе Мейнард (штат Массачусетс, США) для семейства компьютеров PDP-11. Данная операционная система явилась родоначальницей всех однопользовательских ОС для малых и микро-ЭВМ. В данной статье рассказывается история создания и проводится обзор архитектуры операционной системы реального времени RT-11.

Введение


Существует великое множество различного рода операционных систем1. Чтобы разобраться в данном многообразии, можно составить классификацию по различным признакам. Например, по назначению операционные системы делятся на универсальные и специализированные, по способу загрузки – на загружаемые и постоянно находящиеся в памяти. Также можно разделить ОС по особенностям алгоритмов управления ресурсами: системы, поддерживающие многозадачность, поддерживающие многопользовательский режим, поддерживающие многопроцессорную обработку; по аппаратной платформе – для смарт-карт, встроенные ОС, для персональных компьютеров, для мини-ЭВМ, мэйнфреймов, серверные и кластерные. По области использования и форме эксплуатации можно выделить следующие типы операционных систем: системы пакетной обработки, системы разделения времени, системы реального времени.

RT-11 является операционной системой реального времени. Системы данного типа предназначены для управления техническими объектами (например, спутником или станком) в условиях существования предельного времени на выполнение программ, управляющих объектом. [Error: Reference source not found]

Варианты операционной системы RT-11


Существует несколько вариантов операционной системы RT-11. Ядром RT-11 является монитор. В зависимости от конструкции технических средств и потребностей пользователь может использовать один из пяти мониторов:
  • RM – исполняющий монитор реального времени, резидентный в памяти2;
  • SJ (CD) – однозадачный монитор реального времени;
  • FB – фоново-оперативный монитор реального времени, обслуживающий 2 (до 8) задачи на комплексах с памятью до 56К;
  • XM – монитор управления памятью до 238К для не более 8 задач реального времени;
  • TS – многопользовательский монитор разделения времени для комплексов с памятью 96-248К, обслуживающий до 30 задач.

Монитор SJ (Single Job) является основой для первой вариации (RT-11SJ), в которой к выполнению разрешена только одна задача. Все начальные разработки операционных систем RT-11 велись именно в данном направлении.

Другой монитор, а именно FB (Foreground/Background), дал другую вариацию (RT-11FB), позволяющую выполнять две (а в некоторых конфигурациях восемь) задачи, а именно: оперативную задачу, имеющую высокий приоритет (так называемую «Foreground»), и фоновую с низким приоритетом – «Background». Применялась для машин с памятью до 64 кб.

В третьей вариации (RT-11XM) основой является монитор XM (eXtended Memory) и обеспечивается поддержка памяти сверх 64 кб, но для этого требовался мини-компьютер, имеющий систему управления памятью. Операционные системы данного типа являлись также двух-восьми задачными с невытесняющей многозадачностью3 и были распространены в 70-е гг.

Четвертая вариация (RT-11ZM) поддерживает системы с разделением памяти на область данных (Data space) и область команд (инструкций). Такое разделение было принято в машинах, основанных на Unibus: PDP-11/44, 45, 55, 70, 84, 94, либо на Q-Bus: PDP-11/53, 73, 83, 93.

Вариация RT-11BL – сверхкомпактная разновидность SJ-монитора с минимальными аппаратными требованиями. Поставлялся в комплекте дистрибутива RT-11. Монитор запускался и работал на всех машинах семейства PDP-11. Предназначался в основном для генерации системы.

Основой предпоследней вариации (RT-11TS) послужил монитор TS (Time Sharing monitor). Данная система является многопользовательской многозадачной операционной системой с разделением времени. Способ такого разделения – предоставление каждому пользователю виртуальной машины-аналога RT-11SJ. [Error: Reference source not found]

История изменений RT-11


В 1972 году предполагалось, что RT-11 будет маленькой, быстродействующей, простой в обращении ОС для семейства компьютеров PDP-11. Она развивалась как однопользовательская система для задач реального времени4 и вычислений; ее основными приложениями были: получение данных, управление технологическими процессами или научными экспериментами и, конечно, разработка программ, расширяющих возможности системы.

1971 год был началом бурного развития компьютерной промышленности. Компьютеру PDP-11 исполнился только год, и DEC демонстрировала многочисленные возможности для тысяч применений, предоставляемых этим относительно недорогим 16-ти разрядным компьютером.

Имеющееся программное обеспечение для PDP-11 состояло из PTS (Papir Tape Software программное обеспечение на бумажной ленте, которое включало ассемблер PAL-11) и DOS-11 (система пакетной обработки).

Популярная операционная система для PDP-8, называвшаяся OS/8, была принята как модель для новой операционной системы PDP-11 и временно была названа OS-11. Новая операционная система разрабатывалась как маленькая, однопользовательская, интерактивная система, управляемая событиями от ввода/вывода в реальном времени, которая могла бы работать на компьютерах PDP-11 с памятью 28К слов или меньше. Это обеспечивалось разработкой простой, модульной структуры; драйверы устройств могли быть использованы для передачи ввода/вывода так, чтобы прикладные программы могли быть независимыми от устройств, и файлы запоминались бы в смежных блоках на диске так, чтобы управление записями не вызывало бы беспокойства программиста. Фактическая работа по развитию OS-11 началась в конце 1972 года. Группа из 5 системных программистов и одного составителя документации была набрана для отбора проектов для OS-11 и создания программного обеспечения и описания. В основу работы над OS-11 была положена совместимость с OS/8 и TOPS-10.

Первая версия OS-11 включала однозадачный монитор и набор инструментальных средств для разработки программного обеспечения: редактор текста EDIT, транслятор с языка MACRO-11, редактор связей в программах LINK, отладчик программ ODT, программу обмена с периферийными устройствами PIP и ее вариант для работы с кассетным магнитофоном PIPC, программу редактирования двоичных файлов PATCH. Также частью версии V1.0 было BASIC-11, первая дополнительная система программирования, требующая RT-11 в качестве базовой системы. Однозадачный монитор предусматривал необходимый сервис для работы программ и устанавливал очередь ввода/вывода системы. ОС поддерживала работу с 7 устройствами: с кассетным диском RK, печатающим устройством LP, терминалом TT, кассетным магнитофоном CT, фотосчитывателем с перфоленты PR (Papir Read), перфоратором PP (Papir Punch) и накопителем на магнитной ленте DT (DECTape).

OS-11 сначала была названа RTPS-11 (Real-Time Programing System — система программирования реального времени). Версия RT-11 V1.0 была завершена в конце 1973 года и дополнена средствами для работы с графическим дисплеем GT-40 в конце 1974 года.

Вскоре стало очевидным, что RT-11 удалась. В группу добавились еще системные программисты и разработчики документации, и началось развитие следующей реализации. Версии 2, 2В, 2С внесли несколько новых значительных особенностей в ОС. Новый монитор позволял одновременно выполнять две задачи в основном и фоновом (Foreground/Background) режиме. Была добавлена поддержка новых периферийных устройств, включая накопители на магнитных лентах MM и MT, считыватель с перфокарт CR, диск-пакет DP, накопитель на гибком магнитном диске DX. Количество вспомогательных программ увеличилось для улучшения набора средств разработки программ. Сюда были включены: программа сбора таблицы перекрестных ссылок CREF, программа для создания библиотек LIBR, программа распечатки содержимого носителей DUMP, программа преобразования форматов записи на носителях FILEX, программа сравнения текстовых файлов SRCCOM, программа выполнения заданий в пакетном режиме BATCH. Транслятор с языка FORTRAN-IV был реализован с версией 2, и ОС теперь включала библиотеку подпрограмм, названную SYSLIB. Версия 2 была закончена в конце 1974 года; версия 2С — в начале 1976 года.

Версия 3 RT-11 была еще одной важной реализацией. Наиболее значительной была разработка монитора расширенной памяти, который представлял собой двухзадачный монитор с добавленными средствами управления расширенной памятью. Это позволяло работать с системами, имеющими 124К слов физической памяти (все модели PDP-11, кроме PDP-11/04). Дополнительные системы программирования, такие, как FORTRAN-IV, MULTI-USER BASIC-2 (многопользовательский BASIC), использовали преимущества этих особенностей и могли теперь переносить их на прикладные программы. Были также включены средства поддержки многотерминальных систем и системы протоколирования ошибок. Командный язык DCL (Digital Command Language — командный язык фирмы DEC) развивался таким образом, что почти все системные программы должны быть доступны командам монитора, приближенным к естественному английскому языку. Возможность формирования файлов из этих команд сделало пакетную обработку более удобной, чем в BATCH.

Была добавлена поддержка для новых устройств фирмы DEC: DL, DM, DY, NL, PC (которое заменяет PR и PP). Были представлены еще системные программы. Функции программы PIP были разделены между программами PIP, DUP, DIR. Были включены программы форматирования дисков FORMAT и программа определения ресурсов системы RESORC. Пользователю была предоставлена возможность быстрого и простого изменения функций ОС, наиболее гибко приспосабливая ее к потребностям пользователя. В прилагаемые пакеты программ был включен экранный редактор TECO. Версия 3 была окончена в конце 1977 года, а версия 3B — в начале 1978 года.

Наиболее существенные (можно сказать революционные) изменения произошли при разработке RT-11 V4.0. Рабочую систему стало возможным переносить с одного типа устройств на другой путем простого копирования, за счет отделения файлов монитора от драйверов системных устройств. Именно поэтому изменилась структура имен мониторов, так как теперь монитор не зависел от системного устройства. При этом обеспечивалась большая гибкость в работе и экономия памяти как на носителях, так и в ОЗУ процессора.

Количество одновременно запускаемых программ (задач) было увеличено до 8. В качестве одной из таких задач был предложен диспетчер очередей для файлов, выводимых на печатающее устройство (QUEMAN). Это повышало производительность пользователя.

Были предложены мощные средства сопровождения программ BINCOM, SIPP, SRCCOM, SLP, что позволило сделать создание и внесение изменений почти автоматическим. Также был включен мощный экранный редактор KED и его версия для терминала VT52 — K52. Версия RT-11 V4.0 была завершена в начале 1980 года.

Ничто не вечно в компьютерной промышленности. Новое аппаратное обеспечение и расширяющиеся потребности пользователей потребовали создать современное программное обеспечение. RT-11 V5.0, изменявшаяся до весны 1983 года, включала поддержку для новых аппаратных средств, таких, как MSCP и Micro/PDP-11. Монитор расширенной памяти теперь поддерживал 22-разрядную адресацию памяти на центральных процессорах с магистралью Q-bus, что предоставляло пользователю адресное пространство для программ до 4 Мб. Новый драйвер виртуальной памяти позволял использовать расширенную память так же, как диск. LD-драйвер был добавлен для поддержки логического диска. Драйвер SL (Single Line editor — редактор одной строки) имел поддержку программой LET, что позволяло запоминать для любой символьной клавиши строку из 15 символов. Программа IND (INDirect command file processor — процессор косвенных командных файлов) и программа BUP, которая позволяла копировать содержимое большого диска на несколько маленьких с автоматическим формированием каталога и наоборот, добавленный в дистрибутивный носитель, а также переписанный SYSGEN сделали установку и модификацию системы простой и удобной. Добавлены новые DCL-команды и ключи, а также CCL (Concise Command Language — язык командных последовательностей) и UCL (User Command Linkage — связь с командами пользователя). В то же время минимальная система требовала для работы 16К слов оперативной памяти, оставаясь традиционно для RT-11 маленькой, быстрой, интерактивной и удобной для пользования.

Версия 5.1 RT-11 своим появлением обязана серии персональных компьютеров Professional-300. Кроме того, была обеспечена поддержка новых микропроцессоров T-11 и J-11, а также систем на их основе (SBC-11/21, PDP-11/23+, LSI-11/73). Новые периферийные устройства: НГМД RX50, жесткий диск «Винчестер» RD50/RD51 для PRO-350 объемом 5/10 Мб, жесткий диск «Винчестер» RA80 объемом 124 Мб, сменные жесткие диски RC25 объемом 2*26 Мб, новый магнитофон TSV05, который в 9-ти дорожечном стандарте может запоминать до 28 Мб на одной ленте и «стриммер» TK25 с объемом кассеты 60 Мб, так же получили программную поддержку. Были включены средства для автоматической установки RT11AI-монитора и верификации системы IVP (Installation Verification Procedure). Отсутствие в PRO-300 символьного дисплея потребовало эмуляции его с помощью нового драйвера PI. Это позволило предлагать пользователю терминалы VT52, VT100 и др. по его желанию. А с помощью программы SETUP пользователь мог установить параметры терминала от цвета символов и фона до набора символов его родного языка. Исполнение программ в расширенной памяти с помощью программы VBGEXE позволило использовать ресурсы системы до предела.

Добавленные средства для построения локальных сетей VTCOM позволили персональным компьютерам PRO-300 связываться с любыми системами как фирмы DEC, так и других производителей. Версия 5.1 была закончена в декабре 1983 года, Версия 5.1B завершена в январе-марте 1984 года.

Новый виток усовершенствований включал уже в себя и персональные компьютеры. RT-11 V5.2 была дополнена средствами для программирования графического дисплея, а жесткий диск «Винчестер» RD52 (для PRO-300) стал объемом 33 Мб. Для всех систем PDP-11 добавились средства для построения быстрых локальных сетей EtherNet. Поддерживаемые системой устройства печати пополнились лазерным принтером LN03.

Таким образом, RT-11 представляет собой мощную многозадачную, многотерминальную, однопользовательскую операционную систему. На базе RT-11, включая ее различные версии, в нашей стране и за рубежом были разработаны совместимые с ней операционные системы. [Error: Reference source not found]

Архитектура операционной системы RT-11


Чтобы понять историю развития RT-11, необходимо знать её состав. Операционная система состоит из интерфейса пользователя и ядра. В ядро входят так называемые системные программы и файлы. Рассмотрим архитектуру системы на примере версии RT-11 V4.0.

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

Компьютерная система для RT-11 должна состоять из трёх обязательных аппаратных средств: компьютер, обеспечивающий оперирование данными, устройство ввода-вывода (так называемый терминал для двустороннего взаимодействия компьютера и пользователя) и носитель информации для хранения программ и другой информации. На Рисунок 1 представлены физические компоненты типичной компьютерной системы для RT-11.




Рисунок 1. Комплекс аппаратных средств компьютерной системы для RT-11


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

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

Операционная система реального времени RT-11 включает в себя монитор (исполняющая программа для системы контроля), несколько драйверов (обработчиков устройств) для каждого поддерживаемого оборудования, большое количество утилит для управление данными, а также интерфейсы, которые необходимы для поддержки нескольких сред для языков программирования (см. Рисунок 2).




Рисунок 2. Состав ОС RT-11


На рис. 2 показаны следующие элементы системы.

Монитор (Monitor) – интерфейс («прослойка») между физическими составляющими системы и пользователем. Частью функций монитора являются приём, обработка и исполнение инструкций для управления системой. Всеобъемлющее множество команд позволяет пользователю напрямую, т.е. через терминал (консоль) производить необходимые операции.

Обработчики устройств (Device Hadlers) – процедуры, которые предоставляют интерфейс для всевозможных устройств, которые могут являться частью компьютерной системы. Такой драйвер должен существовать для каждого устройства, подключенного к системе, для обеспечения его работы.

Утилитами (Utilities) являются программы, позволяющие поддерживать другие программы, устанавливать место ошибок, создавать и редактировать текст и многое другое. Для RT-11 существуют специфические утилиты:
  • редактор (editor), позволяющий создавать и редактировать текст;
  • утилита для работы с файлами (file maintenance), которая предоставляет возможность манипулировать данными, например – перенаправлять их между устройствами ввода-вывода;
  • программа отладки (debugging program), которая помогает находить и исправлять ошибки;
  • библиотека (librarian), которая делает хранение и использование часто вызываемых процедур более легким;
  • связывающая программа (linking program), которая конвертирует модули объектов в формат, подходящий для загрузки и выполнения;
  • программа сравнения исходного кода (file comparer), использующаяся для сравнения для сравнения двух ASCII-файлов;
  • программы для вывода дампов (dump program).

RT-11 также предоставляет поддержку нескольких языков программирования (включая языки высокого уровня BASIC-11 или FORTRAN IV и машинные языки MACRO-11) и соответствующих сред их выполнения. Среда выполнения (programming language processor) – программа, транслирующая исходный код, созданный программистом.

Ядро RT-11 схематично можно представить следующим рисунком:



Рисунок 3. Ядро ОС RT-11


Рабочий буфер систем – область памяти, где сохраняются важные области памяти пользователя во время операций ввода-вывода.

Для передачи команд системе необходима программа обработки команд с клавиатуры. В RT-11 эта программа состоит из двух частей. Клавиатурный монитор – KMON (Keyboard MONitor), который является самостоятельная программа, и его работа находится под управлением резидентного монитора. Второй частью является некоторая программа, управляющая драйверами устройств, участвующих в процессе ввода-вывода. Такая программа в RT-11 называется USR (User Service Routine – программа обслуживания пользователя).

RMON позволяет операционной системе выполнять управление программами пользователя (загружать программы в память, следить за распределением памяти, следить за событиями в системе, вести учет времени и др).

Программы и сама операционная система хранятся на физическом носителе (магнитной ленте или диске). Поэтому необходимо иметь возможность загрузить монитор ОС в оперативную память для возможности запуска самой ОС. Программа, удовлетворяющая данную потребность, называется BSTRAP (Bootstrap – загрузчик). Основной загрузчик RT-11 располагается в файле монитора. Однако, загрузчиков у системы может быть несколько, и работать они могут в разное время, а располагаться в разных программных модулях.[]

Заключение


Операционная система RT-11 (Real Time-11) – это однопользовательская система, которая удовлетворяет потребности как начинающего, так и опытного пользователя/программиста. Она поддерживает большое число языков программирования, включая основные, например, FORTRAN или BASIC, а также известный для опытных пользователей язык ассемблер MACRO-11. Кроме того, она обеспечивает полный набор управляющих команд, что является неоспоримым достоинством для программистов любого уровня подготовки, которые можно использовать для управления операциями, которые производит система.

Список литературы

  1. Архангельский А.Г. RT-11, Step by Step. М., 1989. 337 с.
  2. Таненбаум Э.С. Современные операционные системы, 2-е изд. СПб.: Питер, 2005. 1040 с.
  3. Операционная система RT11. Монитор системы. Руководство программиста. 98 с.
  4. Bitsavers.org. - ссылка скрыта

1Операционная система (ОС) – комплекс программного обеспечения, предназначенный для предоставления интерфейсов взаимодействия с аппаратной частью пользователю и его приложениям, а также для эффективного управления ресурсами системы.

2 Процесс, резидентный в памяти – постоянно находящийся в оперативной памяти процесс.

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

4 Задачи реального времени – это задачи, в которых время реакции системы на запрос пользователя меньше времени реакции самого пользователя.