RT-11 - RT-11

RT-11
Entwickler Digital Equipment Corporation und Mentec Inc.
Geschrieben in MAKRO-11
Arbeitszustand Abgesetzt
Quellmodell Geschlossene Quelle
Erstveröffentlichung 1970 ; Vor 51 Jahren ( 1970 )
Neueste Erscheinung 5.7 / Oktober 1998 ; Vor 22 Jahren ( 1998-10 )
Marketingziel Labor/Wissenschaftliche/Echtzeit-Industrieausrüstung
Verfügbar in Englisch
Plattformen PDP-11- Familie und Klone
Kernel- Typ Monolithischer Kernel
Standard - Benutzeroberfläche Tastaturmonitor (KMON) Befehlszeilenschnittstelle
Lizenz Proprietär

RT-11 ("RT" für Echtzeit ) ist ein eingestelltes kleines Low-End-Einzelbenutzer- Echtzeitbetriebssystem für die PDP-11- Familie der 16-Bit-Computer der Digital Equipment Corporation . RT-11, das für Real-Time steht , wurde erstmals 1970 implementiert und weit verbreitet für Echtzeitsysteme , Prozesssteuerung und Datenerfassung auf der gesamten Produktlinie von PDP-11-Computern verwendet. Es wurde auch für kostengünstige allgemeine Computeranwendungen verwendet.

Eigenschaften

Multitasking

RT-11-Systeme unterstützten kein präemptives Multitasking , aber die meisten Versionen konnten mehrere gleichzeitige Anwendungen ausführen. Alle Varianten der Monitore stellten einen Hintergrundjob zur Verfügung . Der FB, XM und ZM - Monitore auch vorgesehen Vordergrund Job , sowie sechs Systemaufträge , wenn über die SYSGEN ausgewählte Systemgeneration Programm. Diese Aufgaben hatten feste Prioritäten, wobei der Hintergrundjob am niedrigsten und der Vordergrundjob am höchsten war. Es war möglich, zwischen den Jobs über die Benutzeroberfläche der Systemkonsole zu wechseln , und SYSGEN konnte einen Monitor generieren, der einen einzelnen Hintergrundjob bereitstellte (die Varianten SB, XB und ZB).

Quellcode

RT-11 wurde in Assembler geschrieben . Die starke Nutzung der bedingten Assembler- und Makroprogrammierungsfunktionen des MACRO-11- Assemblers ermöglichte ein erhebliches Maß an Konfigurierbarkeit und ermöglichte es Programmierern, Befehle auf hoher Ebene zu spezifizieren, die sonst im Maschinencode nicht vorgesehen wären. RT-11-Distributionen enthielten den Quellcode des Betriebssystems und seiner Gerätetreiber, wobei alle Kommentare entfernt wurden, und ein Programm namens "SYSGEN", das das Betriebssystem und die Treiber gemäß einer benutzerdefinierten Konfiguration erstellte. Die Entwicklerdokumentation enthielt eine Kernel- Liste mit Kommentaren.

Gerätetreiber

In RT-11 konnten Gerätetreiber geladen werden, außer dass vor V4.0 der Gerätetreiber für das Systemgerät (Startgerät) zur Konfigurationszeit in den Kernel integriert wurde. Da RT-11 häufig für die Gerätesteuerung und Datenerfassung verwendet wurde, war es für Entwickler üblich, Gerätetreiber zu schreiben oder zu verbessern. DEC förderte eine solche Treiberentwicklung, indem es seine Hardware-Subsysteme (von der Busstruktur bis zum Code) offen machte, die Interna des Betriebssystems dokumentierte, Hardware- und Software-Drittanbieter ermutigte und die Entwicklung der Digital Equipment Computer Users Society förderte .

Menschliche Schnittstelle

Das Ende der HELP- Befehlsausgabe von RT-11SJ wird auf einem VT100 angezeigt .

Benutzer bedienten RT-11 in der Regel über ein Druckterminal oder ein Videoterminal , ursprünglich über eine per Bügel wählbare Stromschleife (für konventionelle Fernschreiber) oder über eine RS-232- (später auch RS-422 )-Schnittstelle auf einer der CPU-Karten ; Dezember unterstützte auch die VT11 und VS60 Grafikgeräte (angezeigt Vektorgrafikterminals mit einem graphischen Zeichengenerator zum Anzeigen von Text und einem Lichtstift zur grafischen Eingabe). Ein Favorit von Drittanbietern war die Tektronix 4010- Familie.

Der Tastaturmonitor (KMON) interpretierte vom Benutzer ausgegebene Befehle und würde verschiedene Dienstprogramme mit Befehlszeichenfolgeninterpreter (CSI)-Formen der Befehle aufrufen. Die RT-11-Befehlssprache hatte viele Funktionen (wie Befehle und Gerätenamen), die später in der DOS- Reihe von Betriebssystemen zu finden sind, die stark von RT-11 übernommen wurden. Die CSI Form erwartete Ein- und Ausgabedateinamen und Optionen ( ‚schaltet‘ auf RT-11) in einer genauen Reihenfolge und Syntax. Die Befehlszeilenschalter wurden durch einen Schrägstrich (" /") anstelle des Bindestrichs (" -") getrennt, der in Unix-ähnlichen Betriebssystemen verwendet wird. Alle Befehle hatten eine vollständige und eine kurze Form, an die sie vergeben werden konnten. Beispielsweise könnte der Befehl RENAME auf REN verkürzt werden .

Batch-Dateien und der Batch-Prozessor könnten verwendet werden, um eine Reihe von Befehlen mit einem rudimentären Kontrollfluss auszugeben . Batch-Dateien hatten die Erweiterung .BAT.

In späteren Versionen von RT-11 war es möglich, eine Reihe von Befehlen mit einer .COM-Befehlsdatei aufzurufen, aber sie wurden nacheinander ohne Flusskontrolle ausgeführt. Sogar später war es möglich, eine Reihe von Befehlen mit großer Kontrolle durch den Einsatz des Indirect Command File Processors (IND) auszuführen, der .CMD-Steuerdateien als Eingabe benötigte.

Dateien mit der Erweiterung .SAV waren eine Art ausführbare Dateien. Sie wurden als "Speicherdateien" bezeichnet, weil der RT-11-Befehl SAVE verwendet werden konnte, um den Inhalt des Speichers in einer Plattendatei zu speichern, die zu einem späteren Zeitpunkt geladen und ausgeführt werden konnte, sodass jede Sitzung gespeichert werden konnte.

Der SAVE-Befehl war zusammen mit GET, START , REENTER, EXAMINE und DEPOSIT grundlegende Befehle, die im KMON implementiert wurden. Einige Befehle und Dienstprogramme wurden später in die DOS- Reihe von Betriebssystemen übernommen. Zu diesen Befehlen gehören DIR , COPY , RENAME , ASSIGN , CLS , DELETE , TYPE , HELP und andere. Der FORMAT- Befehl wurde zur Formatierung der physischen Festplatte verwendet, obwohl er kein Dateisystem erstellen konnte, wofür der INIT-Befehl verwendet wurde (analog zum DOS-Befehl FORMAT /Q). Die meisten Befehle unterstützen die Verwendung von Platzhaltern in Dateinamen.

Physische Gerätenamen wurden in der Form 'dd{n}:' angegeben, wobei 'dd' ein zweistelliger alphabetischer Gerätename und das optionale 'n' die Gerätenummer (0–7) war. Wenn die Einheitsnummer weggelassen wurde, wurde Einheit 0 angenommen. Beispiel: TT: bezieht sich auf das Konsolenterminal, LP: (oder LP0 :) bezieht sich auf den Parallelleitungsdrucker und DX0:, DY1:, DL4: bezieht sich auf Datenträgervolumes (RX01-Einheit 0, RX02-Einheit 1, RL01 oder RL02) Einheit 4). Logische Gerätenamen bestanden aus 1–3 alphanumerischen Zeichen und wurden anstelle eines physischen Gerätenamens verwendet. Dies wurde mit dem ASSIGNBefehl erreicht. Beispielsweise könnte ein Problem auftreten, ASSIGN DL0 ABCdas dazu führen würde, dass alle zukünftigen Verweise auf 'ABC:' auf 'DL0:' abgebildet werden. Reservierter logischer Name DK: Bezieht sich auf das aktuelle Standardgerät. Wenn ein Gerät nicht in einer Dateispezifikation enthalten war, wurde DK: angenommen. Reservierter logischer Name SY: Bezieht sich auf das Systemgerät (das Gerät, von dem das System gebootet wurde).

Spätere Versionen von RT-11 erlaubten die Angabe von bis zu 64 Einheiten (0-77 Oktal) für bestimmte Geräte, aber der Gerätename war immer noch auf drei alphanumerische Zeichen beschränkt. Diese Funktion wurde durch eine SYSGEN-Auswahl aktiviert und nur auf die DU- und LD-Gerätehandler angewendet. In diesen beiden Fällen wurde die Form des Gerätenamens zu 'dnn:', wobei 'd' 'D' für das DU-Gerät und 'L' für das LD-Gerät war und 'nn' 00–77 (oktal) war.

Software

RT-11 wurde mit Dienstprogrammen zum Ausführen vieler Aktionen ausgeliefert. Die Dienstprogramme DIR , DUP , PIP und FORMAT dienten der Verwaltung von Datenträgervolumes. TECO , EDIT und die visuellen Editoren KED (für den DEC VT100 ) und K52 (für den DEC VT52 ) wurden verwendet, um Quell- und Datendateien zu erstellen und zu bearbeiten. MACRO , LINK und LIBR dienten zum Erstellen ausführbarer Dateien. ODT , VDT und das SD-Gerät wurden zum Debuggen von Programmen verwendet. Die Version von DEC von Runoff diente der Erstellung von Dokumenten. Schließlich wurde VTCOM verwendet, um sich über ein Modem mit einem anderen Computersystem über das Telefon zu verbinden und zu verwenden (oder Dateien zu und von diesem zu übertragen).

Das System war vollständig genug, um viele moderne Personal-Computing-Aufgaben zu bewältigen. Produktivitätssoftware wie LEX-11, ein Textverarbeitungspaket und eine Tabellenkalkulation von Saturn Software, die unter anderen PDP-11-Betriebssystemen verwendet wird, lief auch auf RT-11. Große Mengen an freier, benutzer beigetragen Software für die RT-11 wurden aus dem verfügbaren Digital Equipment Computer - Anwender Society (DECUS) einschließlich einer Implementierung von C . Obwohl die Werkzeuge zum Entwickeln und Debuggen von Assemblersprachenprogrammen zur Verfügung gestellt wurden, waren andere Sprachen wie C, Fortran , Pascal und mehrere Versionen von BASIC von DEC als "Schichtprodukte" gegen Aufpreis erhältlich. Versionen dieser und anderer Programmiersprachen waren auch aus anderen Quellen von Drittanbietern erhältlich. Es ist sogar möglich, RT-11-Maschinen mit DECNET , dem Internet und Protokollen, die von anderen Drittanbietern entwickelt wurden, zu vernetzen .

Distributionen und minimale Systemkonfiguration

Das RT-11-Betriebssystem konnte von einer Maschine gebootet werden, die aus zwei 8-Zoll-250-KB- Disketten und 56KB-Speicher besteht und nützliche Arbeiten ausführen konnte, und konnte 8 Terminals unterstützen. Andere Boot-Optionen umfassen die RK05 2,5 MB Wechselfestplatte oder Magnetband . Distributionen waren vorinstalliert oder auf Lochstreifen , Magnetbändern, Kassettenbändern oder Disketten erhältlich. Ein minimales, aber vollständiges System, das einen einzelnen Echtzeitbenutzer unterstützt, könnte auf einer einzelnen Diskette und in 8K 16-Bit-Wörtern (16KB) RAM laufen, einschließlich Benutzerprogrammen. Dies wurde durch die Unterstützung für Austausch und Überlagerung erleichtert. Um den Betrieb auf einem solchen kleinen Speichersystem zu realisieren, würde die Tastaturbefehlsbenutzerschnittstelle während der Ausführung eines Benutzerprogramms ausgelagert und dann bei Programmbeendigung in den Speicher eingelagert. Das System unterstützte eine Echtzeituhr , ein Druckterminal, eine VT11-Vektorgrafikeinheit, einen 16-Kanal-100-kHz-A/D-Wandler mit 2-Kanal-D/A, eine serielle 9600-Baud-Schnittstelle, bidirektionale 16-Bit-Karten usw.

Dateisystem

RT-11 implementierte ein einfaches und schnelles Dateisystem, das sechsstellige Dateinamen mit dreistelligen Erweiterungen ("6.3") verwendet, die in RADIX-50 kodiert sind , wodurch diese neun Zeichen in nur drei 16-Bit-Wörter (sechs Bytes) gepackt wurden. Alle Dateien waren zusammenhängend, was bedeutet, dass jede Datei aufeinanderfolgende Blöcke (die minimal adressierbare Einheit des Plattenspeichers, 512 Byte) auf der Platte belegte. Dies bedeutete, dass eine ganze Datei sehr schnell gelesen (oder geschrieben) werden konnte. Ein Nebeneffekt dieser Dateisystemstruktur war, dass beim Erstellen und Löschen von Dateien auf einem Volume im Laufe der Zeit die ungenutzten Plattenblöcke wahrscheinlich nicht zusammenhängend blieben , was zum limitierenden Faktor bei der Erstellung großer Dateien werden könnte; die Abhilfe bestand darin, eine Scheibe regelmäßig zu „quetschen“ (oder „zu quetschen“), um die nicht verwendeten Teile zu konsolidieren.

Jedes Volume hat nur ein Verzeichnis, das am Anfang des Volumes vorbelegt wurde. Das Verzeichnis besteht aus einem Array von Einträgen, einem pro Datei oder nicht zugewiesenem Speicherplatz. Jeder Verzeichniseintrag besteht aus 8 (oder mehr) 16-Bit-Wörtern, obwohl eine sysgen-Option zusätzlichen anwendungsspezifischen Speicher ermöglicht.

Kompatibilität mit anderen DEC-Betriebssystemen

Viele RT11-Programme (die keine speziellen Peripheriegeräte oder direkten Zugriff auf die Hardware benötigten) konnten direkt mit dem RT11 RTS ( Laufzeitsystem ) des RSTS/E- Timesharing-Systems oder unter RTEM (RT-Emulator) auf verschiedenen Versionen von . ausgeführt werden sowohl RSX-11 als auch VMS .

Die Implementierung von DCL für RT-11 erhöhte die Kompatibilität mit den anderen DEC-Betriebssystemen. Obwohl jedes Betriebssystem Befehle und Optionen hatte, die für dieses Betriebssystem einzigartig waren, gab es eine Reihe von Befehlen und Befehlsoptionen, die üblich waren.

Andere PDP-11-Betriebssysteme

DEC verkaufte auch RSX-11 , ein Multiuser-Multitasking-Betriebssystem mit Echtzeitfunktionen, und RSTS/E (ursprünglich RSTS-11 genannt), ein Multiuser-Timesharing-System, aber RT-11 blieb das Betriebssystem der Wahl für Datenerfassungssysteme , bei denen Echtzeit-Antwort war erforderlich. Das Unix- Betriebssystem wurde ebenfalls populär, aber es fehlten die Echtzeitfunktionen und die extrem geringe Größe von RT-11.

Hardware

RT-11 lief auf allen Mitgliedern der DEC PDP-11-Familie, sowohl auf Q-Bus- als auch auf Unibus-Basis , vom PDP-11/05 (erstes Ziel im Jahr 1970) bis zu den endgültigen PDP-11-Implementierungen (PDP -11/93 und /94). Darüber hinaus lief es auf den Systemen der Professional Series und dem PDT-11 "Programmed Data Terminal", ebenfalls von DEC. Da die PDP-11-Architektur in Ersatzprodukten anderer Firmen ( zB der M100 und Familie von Mentec ) oder als Reverse-Engineered-Klone in anderen Ländern ( zB dem DVK aus der Sowjetunion) implementiert wurde , läuft RT-11 auf auch diese Maschinen.

Peripheriegeräte

Das Hinzufügen von Treiberunterstützung für Peripheriegeräte wie einen CalComp-Plotter erforderte normalerweise das Kopieren von Dateien und erforderte kein SYSGEN.

Kompatible Betriebssysteme

Fuzzball

Fuzzball , eine Routing-Software für Internetprotokolle , war in der Lage, RT-11-Programme auszuführen.

SHAREplus

HAMMONDsoftware vertrieb eine Reihe von RT-11-kompatiblen Betriebssystemen, darunter STAReleven, ein frühes Mehrcomputersystem und SHAREplus, eine Mehrprozess-/Mehrbenutzer-Implementierung von RT-11, die einige Architekturkonzepte vom VAX/VMS- Betriebssystem entlehnte . Für den Betrieb waren RT-11-Gerätetreiber erforderlich. Transparenter Gerätezugriff auf andere PDP-11s und VAX/VMS wurde mit einer Netzwerkoption unterstützt. Eingeschränkte RSX-11- Anwendungskompatibilität war ebenfalls verfügbar. SHAREplus hatte seine stärkste Nutzerbasis in Europa.

TSX-11

TSX-11 , entwickelt von S&H Computing, war eine Multi-User-Multi-Processing-Implementierung von RT-11. Das einzige, was es nicht tat, war der Boot-Prozess, daher musste jede TSX-Plus-Maschine zuerst RT-11 booten, bevor TSX-Plus als Benutzerprogramm ausgeführt werden konnte. Sobald TSX-Plus lief, würde es die vollständige Kontrolle über die Maschine von RT-11 übernehmen. Es bot echten Speicherschutz für Benutzer vor anderen Benutzern, stellte Benutzerkonten bereit und hielt die Kontentrennung auf Festplattenvolumes aufrecht und implementierte eine Obermenge der RT-11 EMT-programmierten Anforderungen.

S&H schrieb den ursprünglichen TSX, weil "$25.000 für einen Computer ausgegeben wurden, der nur einen abgehörten Benutzer unterstützen konnte" (Gründer Harry Sanders); Das Ergebnis war der erste TSX für vier Benutzer im Jahr 1976. TSX-Plus (veröffentlicht 1980) war der Nachfolger von TSX, der 1976 veröffentlicht wurde. Das System war in den 1980er Jahren populär. RT-11-Programme liefen im Allgemeinen unverändert unter TSX-Plus und tatsächlich wurden die meisten RT-11-Dienstprogramme unverändert unter TSX-Plus verwendet. Gerätetreiber erforderten im Allgemeinen nur geringfügige Änderungen.

Je nach PDP-11-Modell und Speichergröße kann das System mindestens 12 Benutzer unterstützen (14-18 Benutzer auf einem 2 MB 11/73, je nach Auslastung). Die letzte Version von TSX-Plus hatte TCP/IP- Unterstützung.

Versionen

Varianten

Benutzer konnten aus vier Varianten mit unterschiedlicher Unterstützung für Multitasking wählen :

  • RT-11SJ (Single Job) erlaubte nur eine Aufgabe. Dies war die anfängliche Verteilung.
  • RT-11FB (Vordergrund/Hintergrund) unterstützte zwei Aufgaben: einen nicht interaktiven "Vordergrund"-Job mit hoher Priorität und einen interaktiven "Hintergrund"-Job mit niedriger Priorität.
  • RT-11XM (eXtended Memory), eine Obermenge von FB, bot Unterstützung für Speicher über 64 KB, erforderte jedoch einen Minicomputer mit Speicherverwaltungshardware; verteilt von ca. Ab 1975.
  • RT-11ZM unterstützte Systeme mit separatem Befehls- und Datenraum (wie auf den Unibus- basierten 11/44, 45, 55, 70, 84 und 94 und den Q-Bus- basierten 11/53, 73 , 83, und 93)

Spezialisierte Versionen

Mehrere spezialisierte PDP-11-Systeme wurden basierend auf RT-11 verkauft:

  • LAB-11 lieferte ein analoges LPS-11-Peripheriegerät für die Sammlung von Labordaten
  • PEAK-11 bietet weitere Anpassungsmöglichkeiten für die Verwendung mit Gaschromatographen (Analyse der vom GC erzeugten Peaks); Die Datensammlung lief im Vordergrundprozess von RT11, während die Datenanalyseprogramme des Benutzers im Hintergrund liefen.
  • GT4x-Systeme haben ein VT11-Vektorgrafik-Peripheriegerät hinzugefügt. Mehrere sehr beliebte Demoprogramme wurden mit diesen Systemen bereitgestellt, darunter Lunar Lander und eine Version von Spacewar! .
  • GT62-Systeme fügten ein VS60-Vektorgrafik-Peripheriegerät (VT11-kompatibel) in einem Anrichteschrank hinzu.
  • GAMMA-11 war ein verpacktes RT-11- und PDP 11/34-System, das eines der ersten vollständig integrierten nuklearmedizinischen Systeme war. Es umfasste schnelle Analog/Digital-Wandler, grafische 16-Bit-Farbdisplays und eine umfangreiche Softwarebibliothek für die Entwicklung von Anwendungen zum Zweck der Datenerfassung, -analyse und -anzeige von einer nuklearmedizinischen Gammakamera .

Klone in der UdSSR

In der UdSSR wurden mehrere Klone von RT-11 hergestellt:

Siehe auch

Verweise

Externe Links