Kompatibelt tidsdelningssystem

Kompatibelt tidsdelningssystem (CTSS)
CTSS Scheduler in MAD and FAP.png
Inledning av två versioner av CTSS-schemaläggaren, en i MAD och en i FAP
Utvecklare MIT Computation Center , Project MAC
Skrivet i FAP-montering , MAD
Arbetstillstånd Utgått, simulator tillgänglig
Källmodell Öppen källa
Initial release 1961 ; 62 år sedan ( 1961 )
Marknadsföringsmål Högskolor och universitet
Tillgänglig i engelsk
Plattformar IBM 7090 , IBM 7094
Typ av kärna Monolitisk , skyddad

Standardanvändargränssnitt _
Kommandoradsgränssnitt
Licens [ data okänd/saknas ]
Efterträdde av Multics
Officiell hemsida www .cozx .com /dpitts /ibm7090 .html

Det kompatibla tidsdelningssystemet ( CTSS ) var det första operativsystemet för tidsdelning för allmänna ändamål . Kompatibel tidsdelning hänvisade till tidsdelning som var kompatibel med batchbearbetning ; det kan erbjuda både tidsdelning och batchbearbetning samtidigt.

CTSS utvecklades vid MIT Computation Center ("Comp Center"). CTSS demonstrerades första gången på MIT:s modifierade IBM 709 i november 1961. Hårdvaran ersattes med en modifierad IBM 7090 1962 och senare en modifierad IBM 7094 kallad "blå maskinen" för att skilja den från Project MAC CTSS IBM 7094. Rutintjänst till Användare av MIT Comp Center började sommaren 1963 och drevs där fram till 1968.

En andra utplacering av CTSS på en separat IBM 7094 som togs emot i oktober 1963 ("den röda maskinen") användes tidigt i Project MAC fram till 1969 då den röda maskinen flyttades till Information Processing Center och kördes till 20 juli 1973 CTSS körde endast på dessa två maskiner, men det fanns fjärranvändare av CTSS utanför MIT, inklusive sådana i Kalifornien, Sydamerika, University of Edinburgh och University of Oxford .

Historia

John Backus sa i sommarsessionen 1954 vid MIT att "Genom tidsdelning kan en stor dator användas som flera små; det skulle behöva finnas en lässtation för varje användare". Datorer på den tiden, som IBM 704 , var inte tillräckligt kraftfulla för att implementera ett sådant system, men i slutet av 1958 lade MIT:s Computation Center ändå till en skrivmaskinsinmatning till sin 704 med avsikten att en programmerare eller operatör kunde "få ytterligare svar från maskinen på tidsdelningsbasis med andra program som använder maskinen samtidigt".

I juni 1959 publicerade Christopher Strachey en artikel "Time Sharing in Large Fast Computers" vid UNESCOs informationsbehandlingskonferens i Paris, där han föreställde sig en programmerare som skulle felsöka ett program på en konsol (som en teletyp ) ansluten till datorn, medan ett annat program körde i datorn samtidigt. Att felsöka program var ett viktigt problem på den tiden, för med batchbearbetning tog det sedan ofta en dag från att man skickade in en ändrad kod, till att man fick resultatet. John McCarthy skrev ett memo om det på MIT, varefter en preliminär studiekommitté och en arbetskommitté inrättades vid MIT, för att utveckla tidsdelning. Kommittéerna förutsåg att många användare skulle använda datorn samtidigt, bestämde detaljerna för att implementera ett sådant system vid MIT och startade utvecklingen av systemet.

Experimentellt tidsdelningssystem

I juli 1961 hade några kommandon för tidsdelning blivit operativa på Computation Centers IBM 709, och i november 1961 demonstrerade Fernando J. Corbató vid MIT vad som kallades Experimental Time-Sharing System . Den 3 maj 1962 publicerade FJ Corbató, MM Daggett och RC Daley ett papper om det systemet vid Spring Joint Computer Conference . Robert C. Daley, Peter R. Bos och minst 6 andra programmerare implementerade operativsystemet, delvis baserat på Fortran Monitor System .

Systemet använde en IBM 7090 , modifierad av Herbert M. Teager, med ytterligare 3 Flexowriters för användarkonsoler, och kanske en timer . Var och en av de 3 användarna hade två bandenheter , en för användarens filkatalog och en för att dumpa kärnan (program i minnet). Det fanns också en bandenhet för systemkommandon, det fanns inga diskenheter. Minnet ( operativsystem). Indata från konsolerna skrevs till buffertarna i supervisorn, genom avbrott , och när ett returtecken mottogs gavs kontrollen till supervisorn, som dumpade den löpande koden till bandet och bestämde vad som skulle köras härnäst. Konsolkommandona som implementerades vid den tiden var inloggning, logga ut, input, edit, fap, mad, madtrn, load, use, start, skippm, listf, printf, xdump och xundump . [ citat behövs ]

Detta blev den första versionen av det kompatibla tidsdelningssystemet. Detta var tydligen den första offentliga demonstrationen någonsin av tidsdelning ; det finns andra påståenden, men de hänvisar till system för speciella ändamål, eller utan några kända artiklar publicerade. "Kompatibiliteten" för CTSS var med bakgrundsjobb som kördes på samma dator, som i allmänhet använde mer av beräkningsresurserna än tidsdelningsfunktionerna.

Ansökningar

DOTSYS och BRAILLEMBOSS

Den första versionen av DOTSYS punktskriftsöversättningsprogram kördes på CTSS och kunde matas ut till en BRAILLEMBOSS punktskriftsskrivare. DOTSYS på CTSS demonstrerades första gången den 18 augusti 1966 som en del av en förstudie där telesetterband, i form av nyheter, konverterades till grad 2 punktskrift. Följande månad demonstrerades framgångsrikt möjligheten att konvertera läroboksinformation på fjärrskrivarband till felfri grad 2 punktskrift. Eftersom MIT CTSS var ett akademiskt system, ett forskningsfordon och inte ett system för kommersiell datoranvändning, användes två år senare en version av DOTSYS utan CTSS-beroenden för mjukvaruportabilitet på en IBM 709 på American Printing House for the Blind för att skriva ut första punktskriftsupplagan av en bok som producerats från teleskrivare, bara några veckor efter den bläcktryckta versionen. Året därpå visades på CTSS en demonstration av utskrift av matematiska tabeller i punktskrift. Ett kort FORTRAN II-program skrevs för att producera en omvandlingstabell från tum till millimeter i punktskrift via punktskriftsskrivaren BRAILLEMBOSS.

Intrex

Diagram över Intrex som körs på CTSS

Intrex Retrieval System körde på CTSS. Intrex var ett experimentellt maskinorienterat bibliografiskt bibliografiskt lagrings- och hämtningssystem i pilotmodell med en databas som lagrade en katalog med ungefär 15 000 tidskriftsartiklar. Den användes för att utveckla och testa koncept för biblioteksautomatisering. En utplacering av tre BRISC CRT- konsoler för testning vid MIT Engineering Library visade att det föredrogs framför två andra system, ARDS och DATEL.

Funktioner

Genomförande

Kärna

CTSS använde en modifierad IBM 7090 stordator som hade två 32 768 (32K) 36-bitars- ordbanker av kärnminne istället för standardkonfigurationen som bara ger en. En bank var reserverad för övervakningsprogrammet för tidsdelning, den andra för användarprogram. CTSS hade en kärna i skyddat läge, arbetsledarens funktioner i A-kärnan (minnesbank A) kunde endast anropas genom programvaruavbrott, som i moderna operativsystem. Att orsaka minnesskyddsavbrott användes för programvaruavbrott. Processorallokeringsschemaläggning med en kvanttidsenhet 200 ms, styrdes av en återkopplingskö med flera nivåer . Den hade också en del speciell minneshanteringshårdvara, ett klockavbrott och möjligheten att fånga vissa instruktioner.

Arbetsledare subrutiner

  • RDFLXA – Läs en ingångsrad från konsolen
  • WRFLX – Skriv en utdatarad till konsolen
  • DEAD – Sätt användaren i död status, utan program i minnet
  • DORMNT – Sätt användaren i viloläge, med program i minnet
  • GETMEM – Få storleken på minnesallokeringen
  • SETMEM – Ställ in storleken på minnesallokeringen
  • TSSFIL – Få tillgång till CTSS-systemfilerna på disken
  • USRFIL – Byt tillbaka till användarens egen katalog
  • GETBRK – Hämta instruktionsplatsräknaren vid avsluta

Programmeringsspråk

CTSS hade först bara en assembler, FAP , och en kompilator, MAD . Fortran II- kod kan också översättas till MAD-kod genom att använda MADTRN. Senare hälften av systemet skrevs i MAD. Senare fanns det andra programmeringsspråk inklusive COMIT II , ​​LISP 1.5 och en version av ALGOL .

Filsystem

Varje användare hade sin egen katalog , och det fanns också delade kataloger för grupper av personer med samma "problemnummer". Varje fil hade två namn, det andra indikerar dess typ liksom tillägget i senare system. Till en början kunde varje fil ha ett av fyra lägen: temporär, permanent, skrivskyddad klass 1 och skrivskyddad klass 2. Lässkyddad klass 1 tillät användaren att ändra filläget. Filer kan också vara symboliskt länkade mellan kataloger. En kataloglista efter listf :

10 FILER 20 ANVÄNDA SPÅR DATUM NAMN LÄGE NR. SPÅR 5/20/63 MAIN MAD P 15 5/17/63 DPFA SYMTB P 1 5/17/63 DPFA BSS P 1 5/17/63 DPFA FAP P 2

Kringutrustning

Input-output hårdvara var mestadels standard IBM kringutrustning . Dessa inkluderade sex datakanaler som ansluter till:

Influenser

CTSS beskrevs i ett dokument som presenterades vid 1962 Spring Joint Computer Conference och påverkade i hög grad utformningen av andra tidiga tidsdelningssystem.

Maurice Wilkes bevittnade CTSS och designen av Titan Supervisor inspirerades av det.

Dennis Ritchie skrev 1977 att UNIX kunde ses som en "modern implementering" av CTSS. Multics , som också utvecklades av Project MAC, startades på 1960-talet som en efterföljare till CTSS – och inspirerade i sin tur till utvecklingen av Unix 1969. En av de tekniska termerna som ärvts av dessa system från CTSS är daemon .

Incompatible Timesharing System (ITS), ett annat tidigt, revolutionerande och inflytelserik MIT-tidsdelningssystem, producerades av människor som inte höll med CTSS och senare Multics; namnet var en parodi på "CTSS", eftersom senare namnet "Unix" var en parodi på "Multics". CTSS och ITS filsystem har ett antal designelement gemensamma. Båda har en MFD (huvudfilkatalog) och en eller flera UFD (användarfilkataloger). Ingen av dem har kapslade kataloger (underkataloger). Båda har filnamn som består av två namn som är högst sex tecken långa. Båda stöder länkade filer.

Se även

Vidare läsning

externa länkar