RSX-11

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
RSX-11
RSX.png
Розробник Digital Equipment Corporation
Родина ОС DEC OS
Стан проекту історичне
Модель коду Пропрієтарне програмне забезпечення
Платформи, що підтримуються PDP-11

RSX-11 — сімейство операційних систем реального часу в основному для комп'ютерів PDP-11 від Digital Equipment Corporation (DEC), які були поширені в кінці 1970-х і початку 1980-х. RSX-11D вперше з'явилася для PDP-11/40 в 1972. Вона була спроектована для контролю процесів, але також стала популярною серед розробників програм, а в СРСР і зовсім використовувалася як найголовніша багатотермінальна ОС для комп'ютерів СМ ЕОМ, навіть при відсутності індустріальних контролерів.

Версії[ред. | ред. код]

Існувало багато версій RSX-11:

  • «RSX-11A, C» — невелика операційна система реального часу на магнітній стрічці;
  • «RSX-11B» — ОС на основі RSX-11C з підтримкою жорсткого диска. Для того, щоб почати роботу з системою, було необхідно завантажити DOS-11, а після RSX-11B. Програми для RSX-11B використовували макроси DOS-11 для операцій вводу-виводу на диск;
  • «RSX-11D» — багатокористувацька дискова система;
  • «IAS» — варіант RSX-11D з поділом часу, випущений приблизно в той же час, що і PDP-11/70. Перша версія RSX, що включає DCL (Digital Command Language), спочатку відомий як PDS (Development Program System);
  • «RSX-11M» — багатокористувацька версія, популярна на всіх різновидах PDP-11;
  • «RSX-11S» — версія RSX-11M з віртуальною пам'яттю для вбудованих додатків реального часу;
  • «RSX-11M-Plus» — поліпшена версія RSX-11M, спочатку розроблена з метою підтримки багатопроцесорного комп'ютера PDP-11/74, який не був випущений; також використовувалася як стандартна ОС для PDP-11/70;
  • «RSX-20F» — PDP-11/40 система для процесора DEC KL10 на основі RSX-11M;
  • «Micro/RSX» — укороченая версія RSX-11M-Plus, розроблена спеціально для Micro/PDP-11;
  • «P/OS» — версія RSX-11M-Plus для лінійки персональних комп'ютерів DEC Professional на базі PDP-11.

Архітектура[ред. | ред. код]

PDP-11 був 16-бітним комп'ютером з 16-бітовими адресами, але підтримувала фізичну пам'ять понад 64К з допомогою перемикання кадрів сторінок — 64К адресний простір процесу відображалися деякі сторінки із загальної множини до 4М, у кожного процесу це відображення було своїм.

Це в повній мірі використовувалася в RSX-11. Крім того, ядро виконувалося в окремому 64К просторі, і кожен системний виклик означав зміну контексту сторінок.

Пам'ять виділялася з далекого недоступного простору, далі сторінки з виділеної області можуть відображатися в адресний простір і ставали доступні.

Поняття про процес (як пізніше і в Win16) складалося з двох сутностей — модуль (бінарний образ з уже завантажених в пам'ять заголовком) і завдання (модуль в процесі виконання, що має стек і поточний контекст процесора). Виконувані файли мали оверлейву структуру (схоже було пізніше і в Win16), і створювалися програмою TKB (аналог link і ld).

Для обробки всіх операцій введення-виведення з пристроїв використовувався системний виклик $QIO — «поставити запит вводу-виводу в чергу даного пристрою» (приблизний аналог overlapped IO Win32).

Файлова система Files-11 стала прототипом, на основі якого пізніше була створена NTFS, але імена файлів кодувалися в кодуванні RADIX-50 і могли тільки 9.3.

На рівні системних викликів пристрою і дискові файли не мали нічого спільного.

Інтерпретатор команд MCR був у вищій мірі особливою програмою, драйвер термінала містив сильні зав'язки на неї, командний рядок виконуваного процесу перебувала всередині батьківського MCR і звернення до неї здійснювалися спеціальними системними викликами.

ОС підтримувала аналог hibernate — команду SAVE.

Радянські клони[ред. | ред. код]

Посилання[ред. | ред. код]