RSTS/E - RSTS/E

RSTS
Rsts Spike.png
Rstse-10 1.png
RSTS/E 10.1 se spuštěním DCL CLI
Vývojář Digital Equipment Corporation , později Mentec
Napsáno Jazyk sestavení MACRO-11 , BASIC-PLUS -2, DCL , Forth
Pracovní stav Žádný vývoj, stále k dispozici
Zdrojový model Uzavřený zdroj
První vydání 1970 ; Před 51 lety ( 1970 )
Poslední vydání RSTS V10.1 / 1992 ; Před 29 lety ( 1992 )
K dispozici v Angličtina
Metoda aktualizace Binární patche, kompletní binární soubory
Správce balíčků ZÁLOHA
Platformy PDP-11
Typ jádra Operační systémy pro sdílení času
Výchozí
uživatelské rozhraní
Rozhraní příkazového řádku : DCL (Digital Command Language)
Licence Proprietární
Předchází TSS/8

RSTS ( / r ɪ s t ɪ y / ) je multi-user časově sdílení operační systém , původně vyvinutý Evans Griffiths & Hart z Bostonu, a získal Digital Equipment Corporation (DEC, nyní část Hewlett Packard ) pro Řada 16bitových minipočítačů PDP-11 . První verze RSTS (RSTS-11, verze 1 ) byla implementována v roce 1970 softwarovými inženýry DEC, kteří vyvinuli operační systém TSS-8 pro sdílení času pro PDP-8 . Poslední verze RSTS (RSTS/E, verze 10.1 ) byla vydána v září 1992. RSTS-11 a RSTS/E se obvykle označují pouze jako „RSTS“ a tento článek bude obecně používat kratší formu.

Zkratky a zkratky

  • BTSS (Basic Time Sharing System - never market market ) - Křestní název pro RSTS.
  • CCL ( Concise Command Language ) - ekvivalent příkazu ke spuštění programu uloženého v příkazovém řádku tlumočníka .
  • CIL (Core Image Library) - Podobně jako sdílená knihovna (.so) v systému Linux nebo .DLL v systému Microsoft Windows .
  • CILUS (Core Image Library Update and Save) - Program pro manipulaci se souborem CIL.
  • CLI (Interpreter příkazového řádku) -Viz rozhraní příkazového řádku .
  • CUSPs (běžně používané systémové programy) - aplikace pro správu systému, jako je Správce úloh nebo Editor registru v systému Microsoft Windows . Na RSTS-11 byly CUSP napsány v BASIC-Plus stejně jako uživatelské programy.
  • DCL (Digital Command Language) - Viz DIGITÁLNÍ příkazový jazyk .
  • DTR (DATATRIEVE) - programovací jazyk
  • FIP (File Information Processing) - rezidentní oblast pro vydávání požadavků na soubory
  • FIRQB (Block Information Request Queue Block) - Datová struktura obsahující informace o požadavcích na soubory.
  • KBM (Keyboard Monitor) - analogický tlumočníkovi příkazového řádku.
  • LAT (Local Area Transport) - předchůdce Digitalu k TCP/IP
  • MFD (Master File Directory) - kořenový adresář systému souborů.
  • PBS (Print Batch Services)
  • PIP ( Peripheral Interchange Program )
  • PPN (Project Programmer Number) - analogické s GID a UID v Unixu.
  • RDC (Remote Diagnostics Console)-Náhradní přední panel pro PDP-11, který využíval sériové připojení k terminálu konzoly nebo modemu namísto světel a přepínacích spínačů k ovládání CPU.
  • RSTS-11 (Resource Sharing Time Sharing System)-První komerční název produktu pro RSTS
  • RSTS/E (Resource Sharing Timesharing System Extended) - Aktuální implementace RSTS.
  • RTS (Run Time System)-segment pouze pro čtení poskytovaný dodavatelem, který by byl mapován do horního konce 32K, 16bitového adresního prostoru slov, který by uživatelský program používal k propojení s operačním systémem. Do RAM by byla načtena pouze jedna kopie RTS, ale byla by mapována do adresního prostoru jakéhokoli uživatelského programu, který to vyžadoval. V zásadě sdílený, znovu vstupující kód ke snížení požadavků na RAM sdílením kódu mezi všemi programy, které to vyžadovaly.
  • RTSS (Resource Time Sharing System - never marketed) - Druhý název pro RSTS
  • SATT (Storage Allocation Truth Table) řada bloků 512 kB na každém disku, která indikovala, zda byl na disk přidělen blok nebo klastr na celém disku. Bitově 1 indikovalo, že se používá klastr; a 0 naznačilo, že se nepoužívá.
  • SIL (Save Image Library) -Nový název pro soubor CIL poté, co DEC zahájil prodej systémů PDP-11 s veškerou pamětí Semiconductor a bez paměti s magnetickým jádrem , jako je PDP-11T55.
  • SILUS (Save Image Library Update and Save) - Nový název pro CILUS po přejmenování souborů CIL na SIL.
  • UFD (User File Directory) - domovský adresář uživatele. Kořenový adresář systému souborů.
  • XRB (Block Request Block) - datová struktura obsahující informace o jiných typech systémových požadavků, které k přenosu informací nepoužívají FIRQB

Rozvoj

70. léta 20. století

Jádro z RSTS byl naprogramován v assembleru MACRO-11 , sestaveny a instalovány na disku pomocí CILUS programu , běžící na systému DOS-11 operační systém. RSTS se zavedl do rozšířené verze programovacího jazyka BASIC, který DEC nazýval „ BASIC-PLUS “. Veškerý systémový software CUSPS pro operační systém, včetně programů pro účtování zdrojů, přihlášení , odhlášení a správu systému, byl napsán v BASIC-PLUS. V letech 1970 až 1973, RSTS běžel jen v 56K bajtů z paměti magnetického jádra (64 kilobajtů včetně paměti mapované I / O prostor). To by systému umožnilo mít až 16 terminálů s maximálně 17 úlohami. Maximální velikost programu byla 16 kB. Do konce roku 1973 odhadoval DEC, že RSTS provozuje 150 licencovaných systémů.

V roce 1973 byla podpora správy paměti zahrnuta do RSTS (nyní RSTS/E) pro novější minipočítače DEC PDP-11/40 a PDP-11/45 ( PDP-11/20 byl podporován pouze pod RSTS-11). Zavedení správy paměti v novějších počítačích PDP-11 nejenže znamenalo, že tyto stroje byly schopné adresovat čtyřnásobek paměti (18bitové adresování, 256 kB bytů), ale také vydláždilo cestu vývojářům k oddělení procesů v uživatelském režimu z jádra jádra.

V roce 1975 byla podpora správy paměti znovu aktualizována pro novější 22bitové adresovatelné PDP-11/70 . Systémy RSTS lze nyní rozšířit tak, aby využívaly až dva megabajty paměti s až 63 úlohami. Tyto RTS a CCL koncepty byly zavedeny i když musel být sestaven v průběhu „ Sysgen “. Byla zavedena služba více terminálů, která by umožnila jedné zakázce schopnost ovládat více terminálů (celkem 128). Komunikace odesílání/přijímání velkých zpráv a meziprocesová komunikace se staly velmi důmyslnými a efektivními. V srpnu existuje 1 200 licencovaných systémů.

V roce 1977 proces instalace RSTS již nebyl závislý na DOS-11. Jádro RSTS bylo nyní možné kompilovat pod RT-11 RTS , formátovat jako soubor jádra s RT-11 SILUS a kopírovat do systému nebo na jiné disky, zatímco počítač sdílel čas. BASIC-PLUS RTS (stejně jako RT-11, RSX-11 , TECO a RTS třetích stran ) všechny běžely jako procesy v uživatelském režimu, nezávisle na jádře RSTS. Manažer systémy by nyní rozhodnout v průběhu zaváděcí fáze, která RTS běžet jako systémy výchozí KBM . Do té doby existovalo asi 3 100 licencovaných systémů.

V roce 1978 byla zahrnuta finální aktualizace správy paměti pro všechny počítače, které mohly podporovat 22bitové adresování. RSTS nyní může využívat maximální množství paměti dostupné pro PDP-11 (4 megabajty). Byla zahrnuta také podpora pro režim DOHLED, díky kterému byl RSTS prvním operačním systémem DEC s touto schopností. Podporována byla také DECnet a dálková diagnostika od techniků terénních služeb v RDC v Colorado Springs, Colorado (služba předplatného DEC). Do konce tohoto desetiletí existuje více než 5 000 licencovaných systémů.

80. léta 20. století

V roce 1981 podpora samostatného instrukčního a datového prostoru pro uživatele se stroji Unibus ( PDP-11/44 , PDP-11/45, PDP-11/55 a PDP-11/70) poskytla rozšíření omezení paměti individuálního programu . Kompilace programů pro použití odděleného prostoru instrukcí a dat by brzy poskytla programu až 64 kB pro pokyny a až 64 kB pro ukládání dat do vyrovnávací paměti. Součástí je DCL RTS a podpora novější revize DECnet III.

V roce 1983, s odhadovaným počtem 15 000 strojů DEC se systémem RSTS/E, zahrnoval V8.0-06 podporu nejmenšího 18bitového PDP-11 prodávaného společností DEC ( MicroPDP-11 ). Do této distribuce bylo zahrnuto předem vygenerované jádro a CUSPS, aby byla instalace na MicroPDP-11 snazší. DEC prodával předem vygenerovanou verzi na MicroPDP-11 jako MicroRSTS za sníženou cenu, ale uživatelé potřebovali koupit plnou verzi, pokud měli potřebu generovat vlastní jádro. Systém souborů byl upgradován a dostal označení RSTS Directory Structure 1 (RDS1). Všechny předchozí verze systému souborů RSTS mají označení RDS0. Novější souborový systém je navržen tak, aby podporoval více než 1700 uživatelských účtů. „Nyní se předpokládá, že existuje více než 10 000 licencovaných uživatelů a alespoň stejný počet nelicencovaných uživatelů!“.

Od roku 1985 do roku 1989 se RSTS stal dospělým produktem v revizích verze 9 . DCL byl nainstalován jako primární RTS a systém souborů byl znovu upgradován (nyní RDS1.2), aby podporoval nové funkce uživatelských účtů. Hesla byla nyní šifrována pomocí upraveného algoritmu DES místo omezení na šest (6) znaků uložených ve formátu DEC Radix-50 . Před verzí 9 existoval v projektu (skupině) nula uživatelského systémového účtu (označení je [0,1]) a všechny účty v projektu číslo 1 byly privilegovány (ne na rozdíl od kořenového účtu v systémech Unix ). Po vydání verze 9 bylo možné vytvořit další účty pro projekt nula a pro jakýkoli účet bylo možné individuálně nastavit více oprávnění. Byla zahrnuta podpora protokolu LAT a také možnost spustit nejnovější verzi DECnet IV. Tato síťová vylepšení dala každému uživateli připojenému k terminálu prostřednictvím serveru DEC schopnost komunikovat s počítačem RSTS, stejně snadno, jako by to bylo možné s VAX se systémem VMS . Struktura příkazů DCL mezi operačními systémy DEC také přispěla ke známému vzhledu:

"Toto není jen další procesor pseudo příkazových souborů; je založen na funkcích VMS. Procesor příkazového souboru DCL je plně podporován a integrován do RSTS prostřednictvím rozsáhlých změn DCL a monitoru. DCL spouští příkazové soubory jako součást vaší úlohy; proto „není nutná žádná pseudoklávesnice ani vynucování příkazů na klávesnici (jako u ATPK).“

90. léta 20. století

V roce 1994 DEC prodal většinu svých softwarových aktivit PDP-11 společnosti Mentec. Digital i po krátkou dobu nadále podporoval vlastní zákazníky PDP-11 za pomoci zaměstnanců Mentec.

V roce 1997 společnost Digital and Mentec udělila každému, kdo chtěl používat RSTS 9.6 nebo starší pro nekomerční, hobby účely, bezplatnou licenci. Licence je platná pouze na emulátoru SIMH PDP-11. Licence se vztahuje také na některé další digitální operační systémy. Kopie licence jsou součástí autorizované softwarové sady, která je k dispozici ke stažení na oficiálních webových stránkách emulátoru SIMH .

Dokumentace

Standardní doplněk dokumentačních příruček, které doprovázejí distribuci RSTS, se skládá z nejméně 11 velkých tříkruhových pořadačů (souhrnně označovaných jako „Oranžová zeď“), jednoho malého tříkruhového pořadače obsahujícího RSTS/E Stručný referenční průvodce a brožované kopie of Introduction to BASIC AA-0155B-TK . Každý z 11 tříkruhových pořadačů obsahuje:

Příklad police na dokumenty RSTS/E

Svazek 1: Obecné informace a instalace

  • Adresář dokumentace
  • Poznámky k vydání
  • Notebook pro údržbu
  • Průvodce instalací a aktualizací systému

Svazek 2: Správa systému

  • Příručka správce systému

Svazek 3: Využití systému

  • Příručka uživatele systému
  • Průvodce psaním příkazů

Svazek 4: Nástroje

  • Referenční příručka nástrojů
  • Úvod do editoru EDT
  • Uživatelská příručka SORT/MERGE
  • Uživatelská příručka RUNOFF

Svazek 4A: Nástroje

  • Manuál editoru EDT


Svazek 4B: Nástroje

  • Referenční příručka Task Builder
  • Programmer's Utilities Manual
  • RT11 Utilities Manual
  • Uživatelská příručka TECO

Svazek 5: BASIC-PLUS

  • Jazykový manuál BASIC-PLUS

Svazek 6: Programování systému

  • Programovací manuál

Svazek 7: Programování MACRO

  • Příručka k systémovým směrnicím
  • Referenční příručka ODT

Svazek 7A: Programování MACRO

  • Jazykový manuál MACRO-11
  • Příručka programátora RMS-11 MACRO

Svazek 8: RMS

  • RMS-11: Úvod
  • Uživatelská příručka RMS11
  • Nástroje RMS-11

Úkon

Sdělení

RSTS používá k interakci s operátorem sériové komunikační připojení. Připojení může být místní počítačový terminál s rozhraním proudové smyčky 20 mA, rozhraní RS-232 (buď místní sériový port nebo vzdálené připojení přes modem ), nebo ethernetové připojení využívající DECnet nebo LAT. K systému RSTS se mohlo připojit až 128 terminálů (využívajících službu více terminálů) s maximálně 63 úlohami (v závislosti na použitém procesoru , velikosti paměti a prostoru na disku a zatížení systému). Většina systémů RSTS neměla ani zdaleka tolik terminálů. Uživatelé mohou také odesílat úlohy, které mají být spuštěny v dávkovém režimu. Existoval také dávkový program s názvem „ATPK“, který umožňoval uživatelům spouštět řadu příkazů na imaginárním terminálu (pseudoterminálu) v semiinteraktivním režimu podobném dávkovým příkazům v systému MS-DOS .

Přihlášení [Projekt, Programátor]

Uživatelé připojeni k systému zadáním příkazu LOGIN (nebo HELLO) na odhlášeném terminálu a stisknutím klávesy return. Ve skutečnosti zadáním libovolného příkazu na odhlášeném terminálu jednoduše spustíte program PŘIHLÁŠENÍ, který poté příkaz interpretuje. Pokud to byl jeden z příkazů, které bylo povoleno používat uživatelem, který ještě není přihlášen („Odhlášen“), pak byl přidružený program pro tento příkaz ZŘETĚZEN, jinak byla vytištěna zpráva „Řekněte HELLO“ na terminálu. Před verzí 9 mohl uživatel také iniciovat přihlášení na 1 řádek, ale toto ponechalo heslo uživatele na obrazovce, aby jej mohl zobrazit kdokoli jiný v místnosti (následující příklady):

Přihlášení a odhlášení RSTS/E s BASIC jako výchozím RTS
Bye

HELLO 1,2;SECRET

Ready

nebo

I 1,2;SECRET

Ready

nebo

LOGIN 1,2;SECRET

Ready

Stav terminálu lze určit z odpovědí příkazů vytištěných interpretem příkazů. Přihlášený uživatel komunikující s BASIC-PLUS KBM dostal výzvu „Připraveno“ a uživatel, který je odhlášen, dostane výzvu „Na shledanou“.

Uživatel by se přihlásil zadáním svého čísla PPN a hesla. Čísla uživatelů se skládala z čísla projektu (to by byl ekvivalent čísla skupiny v Unixu), čárky a čísla programátora. Obě čísla se pohybovala v rozmezí 0 až 254, se zvláštními výjimkami. Při zadávání účtu bylo číslo projektu a programátora uzavřeno v závorkách. Typické číslo uživatele může být [10,5] (projekt 10, programátor 5), [2146], [254,31] nebo [200,220] atd. Když uživatel běžel systémový program, když byl odhlášen (protože správce systému to povolil), jejich číslo PPN bylo [0,0] a v SYSTAT CUSP by se zobrazovalo jako **, **. To tedy není platné číslo účtu.

Systémové a uživatelské účty

V každém projektu bylo číslo programátora 0 obvykle vyhrazeno jako skupinový účet, protože na něj mohl odkazovat speciální symbol #. Pokud by bylo uživatelské číslo [20,103], odkaz na název souboru začínající „#“ by odkazoval na soubor uložený v účtu s uživatelským číslem [20,0]. Tato funkce by byla užitečná ve vzdělávacím prostředí, protože programátor číslo 0 mohl být vydán instruktorovi třídy a jednotlivci, kterým studenti dali účty se stejným číslem projektu, a instruktor mohl ukládat do svého účtu soubory označené jako sdílené číslo projektu (což by byli studenti pouze v této třídě a žádný jiný).

Existovaly dvě speciální třídy čísel projektů. Číslo projektu 0 je obecně vyhrazeno pro systémový software a před verzí 9 existoval pouze 1 účet 0 projektu (pojmenovaný [0,1]). Programátoři v projektu číslo 1 byly privilegované účty, ekvivalentní „root“ jednoho účtu v systémech Unix, kromě toho, že čísla účtů [1,0] až [1,254] ​​byly všechny privilegované účty. Poté, co byla verze 9 vydána, mohl správce systému udělit určitá oprávnění konkrétnímu účtu.

Účet [0,1] slouží k ukládání samotného souboru operačního systému, všech run-time knihovních systémů a určitých systémových souborů týkajících se zavádění systému (komentáře autora jsou vpravo uvedeny tučně):

DIR [0,1]
 Name .Ext    Size   Prot    Date       SY:[0,1]
BADB  .SYS       0P  < 63> 06-Jun-98         List of bad blocks
SATT  .SYS       3CP < 63> 06-Jun-98         Bitmap of allocated disk storage
INIT  .SYS     419P  < 40> 06-Jun-98         Operating system loader program
ERR   .ERR      16CP < 40> 06-Jun-98         System error messages
RSTS  .SIL     307CP < 60> 06-Jun-98         Operating system itself
BASIC .RTS      73CP < 60> 06-Jun-98         BASIC-PLUS run time system
RT11  .RTS      20C  < 60> 06-Jun-98         RT-11 run time system
SWAP  .SYS    1024CP < 63> 06-Jun-98         System swap file
CRASH .SYS      35CP < 63> 06-Jun-98         System crash dump
RSX   .RTS      16C  < 60> 23-Sep-79         RSX-11 run-time system
TECO  .RTS      39C  < 60> 24-Sep-79         TECO text editor

Total of 1952 blocks in 11 files in SY:[0,1]

(Editor's note: This directory listing is previous to Version 9.)

Příkaz DIR je nainstalovaný CCL ekvivalentní příkazu RUN pro program DIRECT. [0,1] je číslo účtu (a název adresáře) účtu úložiště operačního systému. Bude označováno jako „číslo projektu 0, číslo programátora 1“.

Čísla uvedená za každým souborem představují jeho velikost v blocích disku, blok je 512 bajtů nebo 1/2 kilobajtu (K). „C“ označuje, že soubor sousedí (je uložen jako jeden soubor, aniž by byl rozdělen na kousky, podobně jako soubory v systému Microsoft Windows po defragmentaci disku ), zatímco „P“ označuje, že je speciálně chráněn (nelze jej odstranit, i privilegovaným uživatelem, pokud není bit P vymazán samostatným příkazem). Čísla v závorkách (jako „<40>“) představují ochrany souboru, který se vždy zobrazuje v desítkové soustavě. Ochrany označují, zda soubor může vidět jakýkoli jiný uživatel, jiní uživatelé se stejným číslem programátora, zda je soubor pouze pro čtení nebo zda jej může změnit jiný uživatel a zda může být soubor spuštěn běžným uživatelem. jim další oprávnění. Tyto ochranné kódy jsou velmi podobné ochraně r, w a x v Unixu a podobných operačních systémech, jako jsou BSD a Linux . Kód 60 je ekvivalentní soukromému souboru, kód 63 je soukromý neodstranitelný soubor a 40 je veřejný soubor.

Soubory knihovny jsou vedeny na účtu [1,1] a obvykle je na ně odkazováno logickým názvem LB :. Účet [1,2] je účet při spuštění systému (podobně jako unixový systém, který se spouští pod rootem) a obsahuje systémové CUSPS, na které lze odkazovat předponou názvu CUSP se znakem dolaru ($). "!" se používá pro účet [1,3], "%" pro [1,4] a "&" pro [1,5]. Účet [1,1] měl také zvláštní privilegium být jediným účtem, kde je uživateli přihlášenému pod tímto účtem povoleno provádět systémové volání POKE a vkládat hodnoty do jakékoli paměti v systému. Číslo účtu [1,1] je tedy v unixových systémech nejbližším ekvivalentem „root“.

Běhová prostředí

Jednou z funkcí RSTS jsou prostředky pro spouštění programů a prostředí používané k jejich spouštění. Různá prostředí umožňují programování v BASIC-PLUS, vylepšeném BASIC-Plus-2 a v tradičnějších programovacích jazycích, jako jsou COBOL a FORTRAN . Tato prostředí byla od sebe navzájem oddělená, takže bylo možné spustit program z jednoho prostředí a systém by se při spuštění jiného programu přepnul do jiného prostředí a poté vrátil uživatele do původního prostředí, se kterým začal. Tato prostředí byla označována jako RTS . Termín pro rozhraní příkazového řádku, který většina těchto RTS měla, byl KBM . Před verzí 9 potřeboval správce systému definovat, pod kterým RTS systém začne, a musel to být ten, který bude spouštět kompilované programy.

Správce systému může také nainstalovat speciální příkazy CCL , které mají přednost před všemi příkazy KBM (s výjimkou DCL ). CCL je analogický zkratce k programu v systému Windows nebo symbolickému odkazu v systémech založených na Unixu. CCL se instalují jako příkaz rezidentní v paměti buď během spouštění, nebo dynamicky, když je systém spuštěn správcem systému (tj. Není trvalý jako soubor na disku).

Po přihlášení může uživatel „PŘEPNOUT“ do ​​kteréhokoli z těchto prostředí, psát jazykové příkazy v programovacím jazyce BASIC-PLUS, vydávat příkazy RUN konkrétním programům nebo vydávat speciální příkaz nazvaný CCL pro spuštění programu s možnostmi příkazů. Většina správců systémů RSTS vygenerovala jádro tak, aby obsahovalo možnost stavového řádku „Control-T“, která uživateli sdělila, jaký program běžel, pod jakým RTS program používal, kolik paměti program zabíral, kolik toho mohl rozšířit na a kolik paměti RTS používalo.

ZÁKLADNÍ-PLUS

Programy napsané v BASIC-PLUS běžely pod BASIC RTS , což jim umožňovalo až 32 kB bytů paměti (z celkových 64 kB). Jazyk byl interpretován, přičemž každé jiné klíčové slovo bylo interně převedeno na jedinečný bajtový kód a proměnné a data byly indexovány a uloženy odděleně v paměťovém prostoru. Formát interního bajtového kódu byl znám jako PCODE - když byl vydán interaktivní příkaz SAVE, BASIC Plus RTS jednoduše uložil oblast pracovní paměti do souboru na disku s příponou „.BAC“. Ačkoli tento formát nebyl dokumentován, dva vysokoškoláci elektroniky z University of Southampton ve Velké Británii ( Nick de Smith a David Garrod ) vyvinuli dekompilátor, který by mohl zpětně analyzovat soubory BAC do jejich původního zdroje BASIC Plus doplněného o původní čísla řádků a názvy proměnných (oba následně pracoval pro DEC). Zbytek paměti použil samotný BASIC RTS . Pokud by někdo psal programy v jazyce, který by umožňoval skutečné binární spustitelné soubory, jako jsou BASIC-Plus-2, FORTRAN-IV nebo Macro Assembler, pak by dostupná paměť byla 56 kB (8 kB přidělených RTS ). Standardní výzva BASIC-PLUS je odpověď „Připraveno“ (příklad):

new
New file name--HWORLD

Ready

10 Print "Hello World"
20 Input "Press Control-T for 1 line status: ";a$
30 End
run
HWORLD  10:17 PM        01-Jan-08
Hello World
Press Control-T for 1 line status: ?
1       KB0     HWORLD+BASIC    KB(0R)  2(16)K+14K      0.2(+0.0) +0

Ready

save

Ready

compile

Ready

DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>

Total of 8 blocks in 2 files in SY:[1,2]

Ready

DCL (Digital Command Language)

Počínaje verzí 9 se DCL stal primárním spouštěcím RTS, přestože nemá schopnost spouštět binární programy. To bylo možné s příchodem mizejícího RSX RTS (viz níže). DCL byl kvůli kompatibilitě začleněn do všech nejnovějších verzí operačních systémů DEC (RSX-11, RT-11, VMS a novější OpenVMS ). Standardní výzva DCL je znak dolaru „$“ (příklad):

$ write 0 "Hello World, it is "+F$TIME()
Hello World, it is 01-Jan-08 10:20 PM
$ inquire p1 "Press Control-T for 1 line status:"
Press Control-T for 1 line status:
1       KB0      DCL+DCL       KB(0R)       4(8)K+24K       0.1(+0.1) -8
$ set verify/debug/watch
$ show memory
(show memory)
(SYSTAT/C)

Memory allocation table:
 Start   End  Length  Permanent   Temporary
   0K -   85K (  86K) MONITOR
  86K - 1737K (1652K)   (User)
1738K - 1747K (  10K)   (User)    DAPRES LIB
1748K - 1751K (   4K)   (User)    RMSRES LIB
1752K - 2043K ( 292K) ** XBUF **
2044K -  *** END ***
$

RSX (Realtime System eXecutive)

Programy, které byly napsány pro RSX RTS, jako je COBOL, Macro Assembler, nebo novější verze BASIC-Plus-2, by mohly využít maximální množství paměti dostupné pro binární program (56 kB kvůli požadavkům RTS, které potřebují nejlepších 8 kB použít pro sebe). RSTS verze 7 a novější umožňovaly začlenit RSX RTS do jádra, čímž zcela „zmizely“ z adresního prostoru uživatele, což umožňovalo 64 kB bytů paměti pro uživatelské programy.

Programy obešly omezení množství dostupné paměti pomocí knihoven (je -li to přípustné), komplikovanými strategiemi překrytí nebo voláním jiných programů („Chaining“) a předáváním jim příkazů v oblasti sdílené paměti s názvem „Core Common“, mezi jiné praktiky. Když je RSX výchozí KBM , standardní výzva RSX (přihlášená i odhlášená) je znak „>“ (nebo rutina monitorovací konzoly MCR) (příklad):

>run
Please type HELLO
>HELLO 1,2;SECRET
>run
?What?
>help
Valid keyboard commands are:

ASSIGN    DISMOUNT  HELP      RUN     UNSAVE
BYE       EXIT      MOUNT     SHUTUP
DEASSIGN  HELLO     REASSIGN  SWITCH

>run CSPCOM
CSP>HWORLD=HWORLD
CSP>^Z
>RUN TKB
TKB>HWORLD=HWORLD,LB:CSPCOM.OLB/LB
TKB>//
>run HWORLD.TSK
Hello World
Press Control-T for 1 line status: ?
1       KB0     HWORLD+...RSX   KB(0R)  7(32)K+0K       0.8(+0.2) +0

>DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>
HWORLD.OBJ       2   < 60>
HWORLD.TSK      25C  <124>

Total of 35 blocks in 4 files in SY:[1,2]

>

RT-11

RT-11 RTS emuloval verzi Single Job distribuce RT-11. Stejně jako emulace RSX obsadil RT-11 horních 8 tis. Paměti , spodních 56 tis. Zbývalo pro CUSPS , programy napsané ve FORTRAN-IV nebo Macro Assembler. Pokud je RT-11 výchozí KBM , standardní výzva RT-11 (přihlášená i odhlášená) je „.“ znak (příklad):

.VERSION
Please type HELLO

.HELLO 1,2;SECRET

.VERSION
RT-11SJ V3-03; RSTS/E V8.0

.R PIP
*HWORLD.MAC=KB:
        .MCALL .TTYIN,.PRINT,.EXIT
HWORLD: .ASCII /Hello World/<15><12>
        .ASCIZ /Press Control-T for 1 line status:/
        .EVEN

Start:  .PRINT #HWORLD
        .TTYIN
        .EXIT
        .END    START
^Z
*^Z

.R MACRO
HWORLD=HWORLD
*^Z

.R LINK
*HWORLD=HWORLD
*^Z

.R HWORLD.SAV
Hello World
Press Control-T for 1 line status:
1       KB0     HWORLD+RT11     KB(0R)  2(28)K+4K       0.6(+0.2) +0

..DIR HWORLD.*/na/ex/si/pr
SY:[1,2]
HWORLD.BAS       1   < 60>
HWORLD.BAC       7C  <124>
HWORLD.TSK      25C  <124>
HWORLD.MAC       1   < 60>
HWORLD.OBJ       1   < 60>
HWORLD.SAV       2C  <124>

Total of 37 blocks in 6 files in SY:[1,2]

.

TECO (textový editor a COrrector)

Samotný editor TECO byl implementován jako RTS, aby se maximalizovalo množství paměti dostupné pro vyrovnávací paměť pro úpravy, a také proto, že byl poprvé implementován v RSTS V5B, před vydáním běhových systémů pro obecné účely (RSX a RT11). TECO byl jediný RTS distribuovaný s RSTS, který neobsahoval vestavěnou KBM. Uživatel by spustil TECO (jako každý jiný program) spuštěním programu TECO (TECO.TEC). TECO a affine QEDIT byli přímými předky prvního textového editoru na bázi UNIX, ED. Většina systémů RSTS používala CCL k vytvoření souboru (MAKE filespec), úpravě souboru (TECO filespec) nebo spuštění programu TECO (MUNG filespec, data). Následující program je příkladem toho, jak lze TECO použít k výpočtu (aktuálně nastaveno na 20 číslic):

Ready

run TECO
*GZ0J\UNQN"E 20UN '
BUH BUV HK
QN< J BUQ QN*10/3UI
QI< \ +2*10+(QQ*QI)UA
B L K QI*2-1UJ QA/QJUQ
QA-(QQ*QJ)-2\ 10@I// -1%I >
QQ/10UT QH+QT+48UW QW-58"E 48UW %V ' QV"N QV^T '
QWUV QQ-(QT*10)UH >
QV^T @^A/
/HKEX$$
31415926535897932384

Ready

RSTS velikonoční vajíčka

Spuštění systému (INIT.SYS)

Pokud uživatel při spouštění systému zadal nerozpoznaný příkaz do spouštěcího nástroje INIT.SYS „Možnost:“, zobrazí se zpráva „Napište 'HELP' for help". Pokud uživatel následně do výzvy zadal „HELP“ (včetně uvozovek), odpověď byla „Jak zábavné, každopádně ...“, po níž následovala skutečná zpráva nápovědy.

Kontrolky konzoly PDP-11

Jednou z pěkných funkcí, které mohl správce systému do jádra zkompilovat, byl otočný vzor displeje, který dával iluzi 2 hadů, kteří se navzájem pronásledovali kolem světel konzoly. Normální jádro by poskytlo iluzi 1 hada pohybujícího se zprava doleva v datových světlech přes dno. Pokud by správce systému také zkompiloval objektový modul „světla“, uživatel by viděl dalšího hada pohybujícího se zleva doprava v adresních světlech v horní části. Toho bylo dosaženo pomocí dohledového režimu ve verzích před 9.0. RSX měl také podobný vzor zobrazení, který by vypadal, jako kdyby 2 hadi hráli kuře a narazili by na sebe uprostřed konzoly.

Teco velikonoční vajíčko

Příkaz 'make' umožnil uživateli vytvořit textový soubor a automaticky vstoupit do textového editoru TECO. Pokud uživatel zadá „milovat“, systém vytvoří soubor s názvem „love“ a zadá zpět „Not War?“

Otevřete seznam souborů

Kevin Herbert, později pracující pro DEC, přidal v 90. letech nezdokumentovanou funkci, která uživateli umožnila vstoupit do ^F a zobrazit seznam otevřených souborů, které uživatelský proces měl, doplněný o používané bloky a velikosti souborů

Hvězdný

Počínaje verzí 9.0 by nedokumentovaná funkce umožnila správci systému změnit zobrazení systémového data. RSTS se nyní stal prvním operačním systémem, který by zobrazoval systémové datum jako sadu čísel představujících hvězdné hvězdy, jak je běžně známé z televizních seriálů Star Trek .

Doplňky jiných společností

System Industries koupil jedinou zdrojovou licenci pro RSTS k implementaci vylepšení s názvemSIMACS (SImallelous Machine ACceSs), který umožnil jejich speciálnímu řadiči disků nastavit příznak semaforu pro přístup na disk, což umožňuje více WRITES do stejných souborů v systému RSTS, kde je disk sdílen více systémy PDS-11 RSTS. Tato funkce byla implementována do řadičů System Industries, které byly připojeny k mnoha počítačům DEC a které navrhl Dr. Albert Chu, zatímco pracoval ve společnosti System Industries.

Hlavní novinkou bylo použití semaforu , vlajky k označení toho, který procesor, prostřednictvím kooperativního sdílení, má výhradní přístup pro zápis.

To vyžadovalo mnoho změn ve způsobu, jakým byl přístup k diskům prováděn operačním systémem RSTS. Systém FIPS (File Information Processing System), který zpracovával přístup I/O, byl v RSTS s jedním vláknem. Chcete -li povolit zablokování přístupu k disku, zatímco jiný stroj měl aktivní přístup k bloku, vyžaduje se, aby FIPS mohl časový limit požadavku, přejděte k dalšímu požadavku a 'vraťte se' k zablokovanému v režimu každý s každým. Kód, který to umožňuje, napsal Philip Hunt při práci ve společnosti System Industries v Milipitas v Kalifornii. Na konci osmdesátých a na začátku 90. let nakonec pracoval pro digitální zařízení v oblasti Nové Anglie.

SIMACS nebyl omezen na produktovou řadu PDP-11 ; VAXen by to také mohl použít.

Emulace RSTS

ROSS/V

V roce 1981 společnost Evans Griffiths & Hart uvedla na trh výrobek ROSS/V . ROSS/V umožnil všem procesům RSTS v uživatelském režimu ( CUSPS , RTS a uživatelské programy) možnost spouštět v počítačích VAX-11 bez úprav pod VMS. Kód pro tuto emulaci zpracovával všechny procesy jádra, které by normálně zpracovávalo jádro RSTS běžící na PDP-11. Původní jazyk BASIC-PLUS, který prošel všemi verzemi RSTS, byl zadán subdodavatelem společnosti Evans Griffiths & Hart, Inc. za pevnou cenu 10 500 USD.

Jiné emulátory PDP-11

RSTS a jeho aplikace mohou běžet pod jakýmkoli emulátorem PDP-11. Další informace viz PDP-11

RSTS maskot

Spike a Albert

Verze

RSTS se původně jmenoval BTSS (Basic Time Sharing System). Před skutečným zahájením přepravy byl název změněn z BTSS na RTSS, protože společnost Honeywell již prodávala produkt s názvem BTSS . Jednoduchá chyba při psaní změnila název z RTSS na RSTS.

Verze Datum vydání Poznámky
1 Nikdy nevydáno
2A-19 1971 Instalováno na Carleton College a Seattle Pacific College.
2B Června 1971 Instalováno v Delaware School Auxiliary Association.
2C Říjen 1971 Vylepšená softwarová podpora (záznam I/O)
3A-19 Leden 1972
3B Květen 1972
3C Června 1972 Vylepšená softwarová podpora (režim UPDATE)
4A-12 Říjen 1972 Podporován nový hardware.
4B Července 1975 Opravená verze V4A bez nových funkcí

Přidání nové podpory správy paměti a možnosti instalovat více paměti do PDP-11/40 a PDP-11/45 vedlo k další změně názvu: RSTS-11 se nyní stal RSTS/E.

Verze Datum vydání Poznámky
5A-21 Červenec 1973 Rozšíření správy paměti od 64 kB do 256 kB.
5B-24 Listopadu 1974 Bylo zavedeno více souborů SWAP, RTS a CCL.
5C-01 Března 1975 Opravená verze V5B bez nových funkcí.
6A-02 Srpna 1975 Nový hardware, 22bitové adresování (2 MB), 63 úloh.
6B-02 Únor 1977 Nový hardware, SYSGEN pod RT-11, CCL za běhu.
6C-03 Února 1978 Podpora DECnet Phase II, DTR, DIBOL. Režim SUPERVISOR.
7.0 Srpna 1978 Nový hardware, (4 MB), podpora RDC.
7.1 Únor 1981 Kernel mode Instruction & Data space support, DECnet Phase III.
7.2 Srpna 1982 Nový hardware (disky UDA50).
8,0-06 Duben 1983 Nový hardware (MicroPDP-11).
9,0-14 Květen 1985 Nový hardware, výchozí DCL, PBS, více oprávnění, hašovaná hesla, nový nástroj pro zálohování a Stardate.
9,1-05 Říjen 1985 Vylepšená podpora hardwaru, vícevláknový FIP, LOAD INDEX.
9.2-10 Června 1986 Podporován nový hardware.
9,3-20 Leden 1987 Vylepšená podpora hardwaru, DECnet Phase IV.
9.4 Červenec 1987 Vylepšení nového hardwaru, plánovače a terminálové služby.
9,5-08 Prosinec 1987 Velikost klastru byla zvýšena na 64, přidáno ZÁLOHOVÁNÍ/DIR.
9.6 Září 1988 Podpora LAT, HELP SPIKE.
9.7 Července 1989 Nový hardware, DV0: za běhu je k dispozici ANSI PDP-11C.
10.0 Květen 1990 Historie příkazového řádku v TTDRV.
10.1 Září 1992 Opravy Y2K.

Klony v SSSR

Aplikace

Počítačové kanceláře někdy nasazovaly User-11 pro správu dat založenou na RSTS/E .

Viz také

Reference

externí odkazy