TSS (operativsystem) - TSS (operating system)

TSS
IBM logo.svg
Udvikler IBM
Arbejdstilstand Udgået
Kildemodel Kilde til rådighed
Første udgivelse 1967 ; 54 år siden ( 1967 )
Tilgængelig i engelsk
Platforme System/360 Model 67 , System/370 modeller med DAT
Standard
brugergrænseflade
Kommandolinjegrænseflade
Licens TSS/360: gratis
TSS/370: Ejendomsret
IBM System/360 Model 67-2. Dette er computermodellen, som TSS/360 ville have kørt på

Den IBM Time Sharing System TSS / 360 er en udgået tidlig time-deling operativsystem udelukkende er designet til en særlig model af System / 360 linje af mainframes, den model 67 . Den blev gjort tilgængelig på prøvebasis for et begrænset antal kunder i 1967, og blev aldrig officielt frigivet som et understøttet produkt af IBM. TSS var banebrydende for en række nye funktioner, hvoraf nogle senere blev vist i mere populære systemer som f.eks. MVS . TSS blev migreret til System/370 og 303x systemer , men på trods af sine mange fremskridt og nye kapaciteter opfyldte TSS ikke forventningerne og blev til sidst annulleret. TSS/370 blev brugt som grundlag for en port til UNIX til IBM -mainframe. TSS/360 inspirerede også til udviklingen af TSS-8- operativsystemet.

Nye egenskaber

TSS/360 var en af ​​de første implementeringer af tæt koblet symmetrisk multiprocessering . Et par Model 67 -mainframes delte et fælles fysisk hukommelsesrum og kørte en enkelt kopi af kernen (og applikationskoden). En I/O -operation lanceret af den ene processor kan ende og forårsage en afbrydelse i den anden. Model 67 brugte en standard 360 -instruktion kaldet Test og sæt til at implementere låsekodekritiske sektioner .

Det implementerede også virtuel hukommelse og virtuelle maskiner ved hjælp af positionsuafhængig kode .

TSS/360 inkluderede en tidlig implementering af en "Table Driven Scheduler"-en brugerkonfigureret tabel, hvis kolonner var parametre som aktuel prioritet, arbejdssætstørrelse og antal tidslinjer, der er brugt til dato. Kernen ville referere til denne tabel, når den nye prioritet for en tråd beregnes . Dette dukkede senere op i så forskellige systemer som Honeywell CP-V og IBM z/OS .

Som det var standard med operativsystemsoftware dengang, fik TSS/360 -kunder (f.eks. General Motors Research Laboratories ) fuld adgang til hele kilden til operativsystemkoden og udviklingsværktøjer. Brugerudviklede forbedringer og patches blev ofte inkorporeret i den officielle kildekode.

brugergrænseflade

TSS giver brugerne en kommandolinjegrænseflade . Brugere interagerer med kommandosystemet . Kommandoformatet består af Command_Name[ operands]. Kommandoenavnet er et til otte tegn uden indlejrede emner. Operanderne er valgfrie afhængigt af kommandoen og skal adskilles fra kommandonavnet med mindst en blank. Flere operander skal adskilles med TAB -tegn eller kommaer. Kommandolinjer kan fortsættes ved at skrive en bindestreg ("-") i slutningen af ​​linjen, der skal fortsættes, og skrive fortsættelsen i begyndelsen af ​​den næste linje. Flere kommandoer kan skrives på en linje ved at adskille dem med semikolon (";"). Kommentarer er tilladt i kommandolinjer, adskilt fra kommandoen med et semikolon og inkluderet i enkelte anførselstegn ("'"). Operander kan enten være positionelle eller søgeord med formatet "keyword = value".

Systemkommandoer er opdelt i syv kategorier:

  • Opgavehåndtering - LOGON, LOGOFF, ABEND osv.
  • Datastyring - CATALOG, DDEF, DELETE osv.
  • Programstyring - LOAD, DUMP, DISPLAY, TRAP osv.
  • Oprettelse af kommandoer - PROCDEF, BUILTIN
  • Beskedhåndtering
  • Brugerprofil - SYNONYM, STANDARD, PROFIL osv.
  • Programsproggrænseflade for programmer - ASM ( Assembler (F) ), COBOL , HASM ( Assembler (H) ), PLI ( PL/I (F) ), PLIOPT ( PL/I Optimizing Compiler ), FTNH ( FORTRAN (H)) , etc.

Positionsuafhængig kode

TSS leverede en tidlig implementering af positionsuafhængig kode , evnen til at få forskellige processer til at køre en enkelt kopi af en eksekverbar muligvis kortlagt til forskellige virtuelle adresser i hver proces.

Hver procedure kan have en skrivebeskyttet offentlig CSECT, en skrivbar privat prototypesektion (PSECT) og et skrivbart gemningsområde, der typisk er placeret i PSECT. Adressekonstanter for eksterne procedurer og indgangspunkter skal være placeret i PSECT, da den dynamiske loader ikke vil placere en rutine på den samme virtuelle adresse i hver proces. Et program, der følger Type I -forbindelseskonventioner, er ved indgangen generelt ansvarlig for at gemme sine registre i det gemte område, som register 13 peger på, hente adressen på dets PSECT fra ord 19 i gemningsområdet, kæde gemmeområdet til et nyt gemmeområde og sætte adressen på det nye gemmeområde i register 13. En opkaldende, der følger Type I-forbindelseskonventioner, indlæser en V-konstant for rutinen i General Register 15 (GR15) og kopierer en R-konstant for rutinens PSECT til det 19. ord af gemningsområdet pegede på at være GR13, før du kalder disse rutiner.

Når den dynamiske indlæser indlæser et program, laver det en kopi af PSECT og flytter adcons til at afspejle de virtuelle adresser, der er tildelt inden for den aktuelle proces, derfor har hver bruger af programmet en unik kopi af PSECT.

Dynamic Loader indlæser ikke programsider eller løser adressekonstanter før den første sides fejl.

Kritik

TSS/360 led af problemer med ydeevne og pålidelighed og mangel på kompatibilitet med OS/360 , selvom disse problemer til sidst blev løst. IBM forsøgte at udvikle TSS på en meget aggressiv tidsplan med et stort stab af programmører til at konkurrere med Multics . I 1967 var det blevet tydeligt, at TSS/360 led af de samme slags forsinkelser som OS/360. I februar 1968 på tidspunktet for SHARE 30 var der atten S/360-67 websteder, der forsøgte at køre TSS. Under konferencen meddelte IBM via "blåt brev", at TSS/360 blev fjernet-et stort slag for tidsdelingsfællesskabet. Denne beslutning blev midlertidigt omgjort, og TSS/360 blev først officielt annulleret i 1971. TSS/360 var imidlertid stadig stille tilgængelig for en tid for eksisterende TSS/360 -kunder som en midlertidig foranstaltning.

Efter at TSS/360 blev annulleret, lagde IBM sin primære indsats i Time Sharing Option (TSO), en tidsdelingsmonitor til OS/360. Flere andre grupper udviklede mindre ambitiøse, mere vellykkede tidsdelingssystemer til S/360-67, især CP-67 på IBM's Cambridge Scientific Center , en tidlig virtual machine-monitor, der udviklede sig til VM/370 , MTS ved University of Michigan og ORVYL ved Stanford University . IBM leverede også TSS/370 PRPQ som en migrationssti for eksisterende TSS/360 -kunder, der gennemgik flere udgivelser.

Se også

Referencer

Yderligere læsning

eksterne links