CTSS war die Konkurenz zum ITS
Da ITS etwa 5 Jahre neuer war als CTSS, und beide auf total anderer Hardware liefen, und beide eine total andere Usergruppe und Philosophie hatten, ist wohl schlecht von Konkurrent zu reden.
CTSS ist vor allen fuer eins interessant: Es ist das erste Timesharing System ueberhaupt. Die Hardware (IBM 7090 bzw 7094) musste sogar explizit dafuer modifiziert werden (Addition eines 2. Speichers und System/User Modi welche die 2 Speicher benutzen).
Ja, das ist nur ein User Prozess aufs mal im RAM. Alle anderen sind auf Disk/Swap. Jeder Prozess Contextswitch ist ein voller Swap-raus und Swap-rein (max 32k*36bit). Da sind selbst 8088/286 System die Segmente Swappen (wie Minix) fortschrittlicher. Paging hatte die Kiste sowieso nicht.
Des weiteren hatte jeder User nur ein Prozess, beinhaltend sein aktuell laufendes Program. Logisch hat man daher keine Pipes oder gar Job control.
Shell weiss ich nicht, ob es in dem Prozess mit drin war (Programme waeren dann wie zur Laufzeit geladene .so Libraries, wie bei VMS), oder ob die Shell im Kernel drin war und von dort aus eine Art "virtuellen Frontpanel" lieferte. Kommt drauf an, ob eine "rohe" 7090 (ohne Umbau und CTSS) eine Shell hatte oder nur Program per Frontpanel laden konnte. CTSS war eben Compatible, weil sie die identische Umgebung lieferte, einfach an mehrere User.
Es gab auch keine Systemcall Traps, Treiber wurden in jedes Program eingelinkt (bzw waren bereits geladene resident im Speicher), und die rohen IO Befehle wurden abgefangen und dann auf das richtige Device umgeleitet. Das ganze war auch das Vorbild fuer die IBM 370/390/ES9000/zSeries VM Sachen.
Zum Vergleich ITS lief auf einem DEC PDP-10, hatte variabel lange Segmente (kein Paging auf der ersten Hardware), mehrere Prozesse aufs Mal im Speicher, User koennen ihr RS232 Terminal "screen"-artig zwischen mehreren Prozessen switchen (und sogar an Prozesse anderer User andocken). Shells sind eigene Prozesse. Und die Kiste hatte Systemcalls. Also das was Unix gewesen waere wenn es als ersten Rechner etwas groesseres (36bit PDP-10 statt 16bit PDP-11) gehabt haette. --
hardware runs the world, software controls the hardware,
code generates the software, have you coded today
|