multiprogrammering i danmark 1967-75 søren lauesen it-university of copenhagen
DESCRIPTION
Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen E-mail: [email protected] http://www.itu.dk/people/slauesen/ December 2009. 2 . Interrupt - multiprogrammering. (Lauesen: Forelæsningsnoter 1969). Fx disktransport slut, tidssignal hver 20 ms. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/1.jpg)
Multiprogrammeringi Danmark 1967-75
Søren LauesenIT-University of Copenhagen
E-mail: [email protected]://www.itu.dk/people/slauesen/
December 2009
![Page 2: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/2.jpg)
2. Interrupt - multiprogrammering
Testes efter hver ordre.Ved interrupt: Gem registre. Hop til monitor. Vælg et passende program. Fortsæt med det. Programmerne kører tilsyneladende samtidig.
Fx disktransport slut, tidssignal hver 20 ms.
(Lauesen: Forelæsningsnoter 1969)
![Page 3: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/3.jpg)
3. Udelelighed
Typiske løsninger i processtyring: Og hvad så?Kig hver 20 ms.Eller spær for alle interrupts imens.
Dijkstra's løsning 1965:Wait(semaphore).Se og opdater.Signal(semaphore).
(Lauesen: Forelæsningsnoter 1969)
![Page 4: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/4.jpg)
Priser ca. 1968 omregnet til nutidskroner ca. 2009:En computer: 4.000.000 nutidskronerEn computertime: 6.000 nutidskroner
4. Formål med multiprogrammering
Formål:1. Udnyt disk-ventetid, etc. til at udføre et andet program.2. Reagér på fysiske hændelser, fx temperatur for høj.3. Time-sharing: mange brugere skiftes til en bid af kagen.
Ordre fra Niels Ivar Bech, ca. 1968:Lav noget genialt af den slags. Så sørger jeg for at vi sælger det.
![Page 5: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/5.jpg)
Danmark
1956: Dask (5 kB, add instr: 56 s)1962: GIER (5 kB, add instr: 40 s)1968: RC4000 (48-96kB, add instr: 4 s)
Prototype: Overvågning af ammoniakfabrik i Pulawy.
1970: Monitor til RC4000. I praksis kørte kun ét program ad gangen.
1972: Boss2. Multiprogrammering, processtyring og time-sharing samtidig.
1974: Principperne brugt på BBC til styring af el-nettet.
5. Det historiske forløb
USA1946: ENIAC1960: IBM 1400, PDP 1
1969: Unix (Thompson & Ritchie)
1970: Unix kører med to brugere.
1973: Unix omskrevet til C.
1978: Overført til VAX- computeren.
![Page 6: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/6.jpg)
6. Compiler-gruppen, maj 1968
![Page 7: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/7.jpg)
7. RC 4000 monitoren - proces-begrebet
Begrebsmæssigt fundament mangledePulawy-systemet: periodiske processer og simpel interruptspærring.
Vi skulle:1. Dele cpu-tid (multiprogrammering)2. Allokere og beskytte lager mod programmeringsfejl3. Allokere og beskytte disk, printer, tape, mv.
Proces = Thread + beskyttet lagerområde
(Brinch Hansen: Monitor manual, 1971)
![Page 8: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/8.jpg)
(Brinch Hansen: Monitor manual, 1971)
8. RC 4000 monitoren - proceshierarkiet
Skal allokeringsstrategien indbygges?Jamen så . . .Og hvis nu . . . ?Alle ideer kunne skydes i sænk.
Idé:Lad os uddelegere det til under-processer.
![Page 9: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/9.jpg)
9. Lav lige sådan et under-operativsystem
Brølere i RC 4000Message-answer: en dyr subroutine med et par simple parametre - ingen buffere, fx.
Startede programmer kan ikke flyttes.
Processer kan ikke dele data.
Disk strategi kan ikke delegeres - og en fil har fast længde bestemt ved oprettelsen.
Et operativsystem i Algol er 5 gange længere end assembler. (Prøvet i Boss 1).
(Lauesen: Forelæsningsnoter 1976)
![Page 10: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/10.jpg)
10. Boss 2 - efter nogle Monitor-ændringer
(Lauesen: Comm.ACM, July 1975)
![Page 11: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/11.jpg)
11. Inde i Boss 2: corutiner i stedet for processer
Kø-semaforerDijsktra's consumer-producer algoritme.Lagerdeling muliggør lange buffere.
Program-segmenter på disk (paging). Reentrant kode.Ca. 50 terminaler.Ca. 100 "processer" (corutiner).Bevisligt deadlock-frit.
(Lauesen: Comm.ACM, July 1975)
![Page 12: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/12.jpg)
12. Boss 2: udviklingsprocessen
Projektstart: 1970, augustKravspec 1: 1970, oktober
TidsplanKravspec 2: 1970, novemberCorutiner, semaforer, pager virker: 1971, februarDrift: 1971, juli
MetrikkerLOC: 7.000 (=algol compiler)Personmåneder: 35LOC/p.måned: 200
26.000115226
Faktisk1971, januar 1971, maj1972, august
Testsession, 4 programmører P1-P4 - alt styret manueltBackup af driftssystem + load Boss: 3 minP1: Indlæs rettelser, compile, kør test, print testlog: 1 minP2, P3, P4: Samme: 3 minReserve, typisk til 2 ekstra forsøg: 6 minBackup af Boss, load driftssystem 2 minSamlet tid 15 min
Afleveringsprøve,Kemisk institut, ÅU.1972, september,3 ugers blandet drift, højst 4 driftsstop
![Page 13: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/13.jpg)
13. Installationen på Kemisk Institut, sept 1972
Samlet lager:96 k bytes
(Lauesen: Data nr. 2-3/73)
![Page 14: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/14.jpg)
14. Lagerforbrug, Kemisk Institut
(Lauesen: Data nr. 2-3/73)
![Page 15: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/15.jpg)
15. BBC, el-overvågning, vision okt 1973
(Jørgen Green: Indactic 33/20 System specification)
![Page 16: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/16.jpg)
16. Skærmbilleder - semigrafisk med 8 farver
(Jørgen Green: Indactic 33/20 System specification)
![Page 17: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/17.jpg)
17. Specialbygget tastatur
(Jørgen Green: Indactic 33/20 System specification)
![Page 18: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/18.jpg)
18. Intern struktur, BBC, dec 1973
(Lauesen: Internal structure of Indactic 33/20, sept 1974)
![Page 19: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/19.jpg)
19. Historier under udviklingen
PDP-11: Vidunderlig at programmere, veldokumenteret, også disk-interface.Men: Strømsvigts-interrupt kan ikke disables. Hvad gør man så i en diskdriver:
set start sector, set length, set mem.addr, set operation, go
Strømmen kan slukkes nårsomhelst og vores system genstarter på 3 s når man tænder.Men: Nogle gange går det ned når man genstarter.
Ca. 1200 indikationer (meldinger) fra driften om året. Fint. Vores system henter overlays, opdaterer skærmbilleder og logger på 1 s. No problem.Men: Der kommer en efterårsstorm og en højspændingsmast vælter.
I løbet af 1974-75 sælges mange anlæg alle med skræddersyede tilføjelser.Men: Sælgerne begynder at sælge kunde A's tilføjelse til kunde B. Det havde ingen tænkt på.
![Page 20: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/20.jpg)
20. Skærbæk-værket, 1976, efter ca. 1 års drift
![Page 21: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/21.jpg)
21. RC4000 Filsystem, Monitor 3 (1972)
(Lauesen: Forelæsningsnoter 1976)
![Page 22: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/22.jpg)
22. RC4000 Filkatalog (1972)
(Lauesen: Forelæsningsnoter 1976)
![Page 23: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/23.jpg)
23. Lagerforbrug, BBC-system
![Page 24: Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen](https://reader035.vdocuments.pub/reader035/viewer/2022062519/56815065550346895dbe6466/html5/thumbnails/24.jpg)
24. Datavisning, BBC-system
(Lauesen: Internal structure of Indactic 33/20, sept 1974)