DOS/360 og efterfølgere - DOS/360 and successors

Diskoperativsystem/360 , også DOS/360 eller simpelthen DOS , er det udgåede første medlem af en sekvens af operativsystemer til IBM System/360 , System/370 og senere mainframes . Det blev annonceret af IBM den sidste dag i 1964, og det blev første gang leveret i juni 1966. I sin tid var DOS/360 det mest anvendte operativsystem i verden.

DOS versioner

TOS/360

TOS/360 (Tape Operating System/360, ikke en DOS som sådan og ikke såkaldt) var et IBM -operativsystem til System/360 , der blev brugt i de tidlige dage omkring 1965 til at understøtte System/360 Model 30 og lignende platforme.

TOS, ifølge "Tape" i navnet, krævede et bånddrev. Det delte det meste af kodebasen og nogle manualer med IBM's DOS/360.

TOS gennemgik 14 udgivelser og blev afbrudt, da diske som IBM 2311 og IBM 2314 blev mere overkommelige på tidspunktet for System/360, hvorimod de havde været en dyr luksus på IBM 7090 .

DOS/360

DOS/360 var det primære operativsystem for de fleste små til mellemstore S/360 -installationer.

DOS/VS

DOS/VS blev udgivet i 1972. Den første DOS/VS -udgivelse var nummereret "Release 28" for at betegne en trinvis opgradering fra DOS/360. Det tilføjede virtuel hukommelse til støtte for den nye System/370 -serie hardware. Det brugte en fast sidetabel, der kortlagde et enkelt adresserum på op til 16 megabyte for alle partitioner tilsammen.

DOS/VS øgede antallet af partitioner (separate samtidige programmer) fra tre (navngivet baggrund, forgrund 1 og forgrund 2) til fem (BG og F1 til og med F4) og tillod et systemomfattende i alt femten underopgaver.

DOS/VS blev efterfulgt af DOS/VSE gennem z/VSE .

DOS/VSE

DOS/VSE blev introduceret i 1979 som en "udvidet" version af DOS/VS for at understøtte de nye 4300 processorer. De 4300 systemer inkluderede en funktion kaldet ECPS: VSE, der gav en lagring på et niveau til både processoren og I/O-kanalerne. DOS/VSE understøttede ECPS: VSE, men kunne også køre på et System/370 uden denne funktion. VSE var den sidste gratis version af DOS.

SSX/VSE

En IBM-medarbejder, der installerer en tredjepartsapplikation, der kører på SSX/VSE, på IBM Böblingen-anlægget, hvor SSX-arbejde blev udført

SSX/VSE ("Small System Executive") var et forsøg fra IBM på at forenkle køb og installation af VSE ved at levere et på forhånd genereret system, der indeholder operativsystemet og de mest populære produkter. SSX blev udgivet i 1982 og senere erstattet af VSE/SP. SSX blev solgt af IBM som et bundt af 14 komponentprodukter (Avancerede funktioner/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/ OCCF, VSE/IPCS, DOS/COBOL, Back Up/Restore, Space Management, VSE/DITTO) og ville oprindeligt kun acceptere at tilbyde de enkelte produkter separat via RPQ , selvom IBM senere indvilligede i at tilføje disse produkter individuelt til sin prisliste under pres fra ISV'er, der hævdede, at bundtet overtrådte kartelloven.

VSE/SP

I 1986 udgav IBM VSE/SP ("systemprodukt") i forbindelse med offentliggørelsen af 9370 -processorer. VSE/SP erstattede SSX/VSE og bundtede VSE med de mest populære VSE -programprodukter såsom VSE/AF, ACF/VTAM , CICS og POWER/VS . VSE/SP understøttede kun 24-bit adresser, på trods af kundeanmodninger om at levere en XA (31 bit) version.

VSE/ESA

VSE/ESA var en 31-bit DOS/VSE-version, der blev udgivet i 1990 med understøttelse af op til 384 MB reel lagerplads. Det gav op til tolv statiske partitioner og tillod VSE/POWER og ACF/VTAM at køre i private adresserum . Det introducerede en ny funktion kaldet dynamiske partitioner, som kunne tillade op til 150 samtidige job, hver i sit eget adresserum. Version 1 kunne køre i enten ESA- eller 370 -tilstand, hvor ESA -tilstanden også understøtter XA -hardware med begrænsninger. Version 2 understøttede kun ESA -tilstand med ESA -hardware.

z/VSE

IBM frigav z/VSE 3.1 i 2005. Denne ændring i navngivningen afspejlede den nye "System z" -mærkning for IBM's mainframe -produktlinje, men repræsenterede ikke en grundlæggende ændring i arkitekturen fra VSE/ESA 2.7, der gik forud for den. Især understøttede den ikke den nye 64-bit z/Architecture, der kun kørte i 31-bit-tilstand, selv på 64-bit-kompatible maskiner. z/VSE 4.1 udgivet i 2007 introducerede understøttelse af 64-bit ægte adressering med op til 8 GB hukommelse. Mens dele af supervisoren kører i 64-bit-tilstand, giver den imidlertid kun 31-bit virtuelle adresserum til problemstatusapplikationer. I 2011 placerede et skøn antallet af websteder, der bruger z/VSE, på omkring 4.000.

Historie

Ved udviklingen af ​​en ny hardwaregenerering af forenede System/360 (eller S/360) computere havde IBM oprindeligt forpligtet sig til at levere et enkelt operativsystem, OS/360 , også kompatibelt med low-end-maskiner; men hardware var allerede tilgængelig, og OS/360-projektet faldt længere og længere bagefter tidsplanen, som beskrevet længe af Fred Brooks i The Mythical Man-Month . IBM blev tvunget til hurtigt at udvikle yderligere fire systemer:

Da OS/360 endelig blev frigivet, et år forsinket, krævede det mindst 64 KB hukommelse. DOS var designet til at bruge lidt hukommelse og kunne køre på 16 KB maskiner, en konfiguration tilgængelig på low-end S/360 model 30 . I modsætning til OS/360 var DOS/360 oprindeligt et system med et enkelt job, som ikke understøttede multitasking . En version med multitasking, der understøtter op til tre hukommelsespartitioner , der kræver 32 KB hukommelse, blev senere frigivet. På trods af sine begrænsninger blev DOS/360 det mest udbredte operativsystem til processorer med mindre end 256 KB hukommelse, fordi: System/360 hardware blev solgt meget godt; DOS/360 kørte godt på System/360-processorer, som mellemstore organisationer havde råd til; og det var bedre end de "operativsystemer" disse kunder havde før.

DOS/360 var operativsystemet, der fyldte tidsforskellen mellem meddelelsen om System/360 og tilgængeligheden af ​​det påtænkte operativsystem, OS/360. Som et resultat af forsinkelsen implementerede en række kunder DOS -systemer og foretog betydelige investeringer for at køre dem. IBM forventede, at DOS/360 -brugere snart ville opgradere til OS/360, men som følge af disse investeringer var de tilbageholdende med at forpligte sig til en sådan konvertering. IBM havde derefter brug for at fortsætte med at tilbyde DOS/360 som et ekstra operativsystem. Den Hackers Jargon File fejlagtigt, at GECOS (også kendt som GCOS) blev kopieret fra DOS / 360, hvilket ikke var tilfældet, men Xerox Data Systems Xerox Operating System (XOS) var med vilje ligner DOS til at forenkle program portering.

Hardware krav

IBM 2311 diskdrev

DOS/360 krævede en System/360 CPU (model 25 og nyere) med standardinstruktionssættet (decimal- og flydende instruktionssæt valgfrit). Mindstekravet til hukommelse var 16 KB; opbevaringsbeskyttelse var kun påkrævet, hvis der blev brugt multiprogrammering. En 1052 Model 7 printer-tastatur, enten en selektor eller multiplexor kanal , og mindst et diskdrev var påkrævet - oprindeligt en 2311 falder 7,25 MB. En kortlæser , kortstansning og line -printer var normalt inkluderet, men magnetbåndsdrev kunne erstattes.

En typisk konfiguration kan bestå af en S/360 model 30 med 32KB hukommelse og decimal instruktionssæt, en IBM 2540 kortlæser/kortstans, en IBM 1403 printer, to eller tre IBM 2311 diske, to IBM 2415 magnetbåndsdrev og 1052-7 konsollen.

Tekniske detaljer

Den følgende beskrivelse gælder for DOS/360, medmindre andet er angivet. Senere versioner tilbyder ekstra funktionalitet.

Fordi DOS/360 var designet til at køre på low-end modeller af System/360-hukommelsesforbrug var en bekymring. Det var muligt at generere en DOS -supervisor , den residente del af operativsystemet, så lille som 5902 bytes. Detaljerede diagrammer angiver hukommelseskrav for hver sysgen -mulighed, ofte så lidt som 100 bytes. Et minimumssystem ville efterlade lidt over 10 KB lagerplads til rådighed for en enkelt batchpartition, hvilket var nok til at køre hjælpeprogrammer og alle kompilatorer undtagen COBOL , PL/I og fuld FORTRAN IV . For at holde hukommelsesforbruget så lille som muligt blev DOS udelukkende kodet i samlingssprog .

Transienter

Begrebet forbigående område er en del af Mythical Man-Months diskussion om design og brug af hovedhukommelse. For yderligere at reducere hukommelsesforbruget anvendte vejlederen overlejringer kaldet transienter, der blev læst ind i et af to reserverede forbigående områder efter behov.

  • Fysiske transienter blev indlæst i 556 byte A-transientområdet for at håndtere hardwarefejl (ERP'er), registrere fejlspecifikke data (OBR/MDR) på IJSYSRC og udsende fejlmeddelelser. Alle A-forbigående modulnavne begyndte med $$ A.
  • Logiske transienter blev indlæst i 1200-byte B-transientområdet for at levere fælles programtjenester som OPEN og CLOSE for LIOCS. Alle B-Transient-modulnavne begyndte med $$ B.

Brugen af ​​$$ A og $$ B præfikser sikrede hurtig indlæsning af transienter, fordi deres navne først blev gemt i biblioteket.

DOS/VS tilføjede Machine Check og Channel Check Handlers, som var et andet sæt transienter, der alle startede med $$ RAST og udførte i Recovery Transient -området. Dette blev udført som en del af forbedringerne af pålidelighed, tilgængelighed og anvendelighed (RAS) til System/370. Før denne tilføjelse forårsagede maskinkontrol afslutning af det kørende program, og kanalkontrol forårsagede afslutning af det program, der fik adgang til enheden, på tidspunktet for fejlen.

Multiprogrammering

Ligesom OS/360 kunne første udgivelser af DOS kun køre et program ad gangen. Senere versioner af "ægte" DOS var i stand til at køre op til tre programmer samtidigt i separate hukommelsespartitioner, understøttet af de samme hardware -hukommelsesbeskyttelsesfunktioner i det mere skalerbare OS/360 -operativsystem. Disse blev identificeret som BG ( baggrund ), F1 ( forgrund 1 ) og F2 ( forgrund 2 ). Multiprogrammering var en valgfri funktion i DOS/360, der kan vælges ved systemgenerering . En senere SYSGEN -indstilling tillod batchdrift i begge FG -partitioner. Ellers skulle forgrundsprogrammer startes manuelt af computeroperatøren .

DOS/VS tillod op til syv samtidige programmer, selvom fem eller seks var et mere almindeligt tal på grund af den mindre skala af hardware, der normalt er vært for DOS -systemer. Både DOS og DOS/VS tillader, at antallet af partitioner indstilles til IPL (Initial Program Load), IBM -udtrykket for Boot load.

Program biblioteker

Eksekverbare programmer blev gemt i et Core Image Library . Under kørsel kunne DOS ikke genvinde plads, da programmer blev slettet eller erstattet med nyere versioner. Når Core Image Library blev fuldt, skulle det komprimeres af et hjælpeprogram, og dette kunne standse udviklingsarbejdet, indtil det var færdigt. Mange butikker frøs simpelthen ændringer for en dag, komprimerede CIL "off-line" og IPLed med det nye Core Image Library i begyndelsen af ​​en arbejdsdag. Et bibliotek, der kan flyttes til programmer, der kan forbindes, og et bibliotek med kildeudtryk til assembler -makroer og inkluderer tekst blev også understøttet. Installationer kunne definere yderligere private flytbare biblioteker og kildeerklæringsbiblioteker på andre diskmængder.

Hjælpeprogrammer

DOS/360 havde et sæt hjælpeprogrammer , en Assembler og kompilatorer til FORTRAN , COBOL og til sidst PL/I , og det understøttede en række filorganisationer med adgangsmetoder til at hjælpe med at bruge dem:

  • Sekventielle datasæt blev kun læst eller skrevet, en rekordblok ad gangen fra start til slut.
  • I indekserede ( ISAM ) filer blev en bestemt sektion af hver post defineret som en nøgle, der kunne bruges til at slå bestemte poster op.
  • I filer med direkte adgang ( BDAM ) skulle applikationsprogrammet angive den fysiske placering på disken for de data, den ønskede at få adgang til. BDAM -programmering var ikke let, og de fleste kunder brugte det aldrig selv; men det var den hurtigste måde at få adgang til data på diske, og mange softwarevirksomheder brugte det i deres produkter, især databasesystemer som ADABAS , IDMS og IBM's DBOMP og DL/I .

Sekventielle filer og ISAM-filer kan gemme enten poster med fast længde eller variabel længde, og alle typer kan optage mere end én diskvolumen.

Telekommunikation

DOS/360 tilbød Basic Telecommunications Access Method ( BTAM ) og Queued Telecommunications Access Method ( QTAM ). BTAM var primitiv og svær at bruge efter senere standarder, men det tillod kommunikation med næsten enhver type terminal, hvilket var en stor fordel på et tidspunkt, hvor der var lidt standardisering af kommunikationsprotokoller. Enkelheden ved dets API tillod også den relativt nemme grænseflade mellem eksterne kommunikationsprocessorer, hvilket gjorde det lettere for DOS/360-maskiner at blive noder i multi-tier-netværk i store organisationer. Omvendt behøvede QTAM -brugere ikke så meget viden om individuelle enheder, fordi QTAM fungerede på det logiske niveau ved hjælp af makroerne ÅBEN/LUKKE/GET/PUT.

Jobkontrol

Alle DOS job kontrolsætninger begyndte med " // " i kort kolonner et og to, bortset fra slutningen af job , som var " / & ␢ ", end-of-data , " / * ␢ " og kommentarer , " * ␢ " . ( I den følgende beskrivelse repræsenterer tegnet " " et enkelt emne .)

  • Den JOB Erklæringen indeholder "begyndelsen af informationer om et job kontrol." Formatet er . <jobnavn> skal være et til otte alfanumeriske tegn for at identificere jobbet. <kommentarer> ignoreres.// JOB <jobname> <comments>
  • Den EXEC erklæring identificerer et program, der skal udføres som et job skridt . "Alle kontrolerklæringer, der er nødvendige for udførelse, skal behandles", før EXECerklæringen læses. Formatet er// EXEC <program>
  • Udtrykket PAUSE "kan bruges til at tillade operatørhandling mellem jobtrin." Formatet er . Kommentaren bruges til at give en meddelelse til operatøren.// PAUSE <comment>
  • Den comments udtalelse kan bruges til at vise en besked til operatøren. Formatet er * <comment>.
  • Den ende af data erklæring markerer afslutningen af data i input stream. Formatet er . Alle data om erklæringen efter blanket ignoreres./*
  • Den ende af job erklæring markerer afslutningen af et job, og kan indikere afslutningen af data, der skal skylles, hvis jobbet afsluttes unormalt. Formatet er /&. Alle data om erklæringen efter blanket ignoreres.
  • Den OPTION opgørelse angiver værdier af systemindstillinger, der gælder for dette job. Formatet er .// OPTION <option1>[,<option2>...]
  • Udtrykket ASSGN "bruges til at tildele en logisk I/O -enhed til en fysisk enhed." Formatet er . SYSxxx angiver en logisk enhed, f.eks. SYS001 eller SYSIPT. <enhed> er enten "X'cuu" "for at angive en fysisk enhed (kanal og enhed)," IGN "for ignorering eller" UA "for ikke -tildelt. <tape option> angiver enten indstillinger for båndtilstand, såsom densitet, paritet osv. eller "ALT" for at angive en alternativ enhed.// ASSGN SYSxxx,<device>[,<tape option>]
  • De RESET statement nulstiller specificeret I / O-enhed opgaver til deres faste værdier. Formatet er . <option> kan være "SYS" for at nulstille alle systemlogiske enhedstildelinger, "PROG" for at nulstille alle programmeringsopgaver, "ALL" for at nulstille alle tildelinger eller "SYSxxx" for at nulstille tildelingen for den logiske enhed "SYSxxx", for eksempel SYS002.// RESET <option>
  • Den LISTIO erklæring instruerer systemet til at udskrive en liste over alle specificerede I / O-opgaver i øjeblikket i kraft. Formatet er . <option> er "SYS" for at liste alle systemtildelinger, "PROG", "F1" eller "F2" for at liste alle tildelinger til baggrunden eller den angivne forgrundspartition, "ALL", "SYSxxx", "X'cuu ' "," UNITS "for at liste alle tildelte enheder, 'UA' for at liste alle ikke -tildelte enheder, eller 'DOWN' for at liste alle enheder, der er markeret som ude af drift.// LISTIO <option>
  • De MTC statement spørgsmål befaler til et magnetbånd enhed. Formatet er . <opcode> er en funktion som "FSF" for at videresende mellemrum i en fil eller "REW" for at spole båndet tilbage. <nn> er et tal, der kan angive det antal gange, operationen skal udføres, f.eks. mellemrum to filer frem.// MTC <opcode>,SYSxxx[,<nn>]
  • Den VOL sætning giver disk eller bånd volumen label information til standard label kontrol. Formatet er .// VOL SYSxxx,<volume>
  • DOS leverede oprindeligt TPLAB erklæringen for tape etiket information og DLAB og XTENT erklæringer for disk etiket og omfang oplysninger. Mindst allerede i 1968 var TPLAB erklæringen blevet erstattet af TLBL og DLAB erklæringen med DLBL. Disse udsagn brugte talrige positionsparametre og havde temmelig høje informationstætheder.

Forskelle fra OS/360

Jobkontrol sprog

DOS JCL er designet til analyse hastighed og enkelhed; den resulterende positionelle syntaks var betydeligt mere kryptisk end OS/360 søgeord-drevet jobkontrol.

Spooling

Tidlig DOS inkluderede intet spooling- undersystem for at forbedre effektiviteten af hulkort og line printer I/O. I slutningen af ​​1960'erne begyndte både IBM og eftermarkedsleverandører at fylde dette tomrum. IBM's spooler var en option kaldet POWER , og Software Design, Inc., et uafhængigt softwarefirma, solgte en spooler kaldet GRASP .

Programindlæsning

DOS/360 havde ingen flytende loader , så programmører måtte linke redigere en separat eksekverbar version af hvert program for hver partition eller adresserum, hvor programmet sandsynligvis ville blive kørt. Alternativt kunne assembler-sprog programmer skrives som selvflyttende , men det pålagde yderligere kompleksitet og en størrelsesstraf, om end en lille. Store DOS -butikker med flere maskiner og flere partitionslayouter skrev ofte deres egen flyttelæsser for at omgå dette problem.

Applikationsprogrammeringsinterface

DOS/360 applikationsprogrammeringsgrænsefladen var inkompatibel med OS/360. Sprogprogrammer på højt niveau skrevet til DOS skulle kompileres og forbindes, før de kunne bruges med OS/360. Mindre forskelle mellem kompilatorer af DOS i modsætning til OS krævede nogle gange ændringer af programmer. Havnen i den anden retning var imidlertid mere udfordrende. Da OS/360 havde betydeligt flere funktioner understøttet i sit API, skulle enhver brug af disse funktioner blive fjernet fra programmer, der blev overført til DOS. Dette var mindre et problem for programmører, der arbejder på sproghøjt niveau, f.eks. COBOL . Assembler -programmer havde derimod en tendens til at udnytte netop disse funktioner oftere og havde normalt brug for større ændringer for at køre på DOS.

Se også

Noter

Referencer

eksterne links

Denne artikel er baseret på materiale hentet fra Free On-line Dictionary of Computing før den 1. november 2008 og indarbejdet under "relicensering" -betingelserne i GFDL , version 1.3 eller nyere.