1 / 24

Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen

Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen E-mail: slauesen@itu.dk http://www.itu.dk/people/slauesen/ December 2009. 2 . Interrupt - multiprogrammering. (Lauesen: Forelæsningsnoter 1969). Fx disktransport slut, tidssignal hver 20 ms.

monet
Download Presentation

Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multiprogrammering i Danmark 1967-75 Søren Lauesen IT-University of Copenhagen E-mail: slauesen@itu.dk http://www.itu.dk/people/slauesen/ December 2009

  2. 2. Interrupt - multiprogrammering (Lauesen: Forelæsningsnoter 1969) Fx disktransport slut, tidssignal hver 20 ms. 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.

  3. 3. Udelelighed (Lauesen: Forelæsningsnoter 1969) 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).

  4. 4. Formål med multiprogrammering Priser ca. 1968 omregnet til nutidskroner ca. 2009: En computer: 4.000.000 nutidskroner En computertime: 6.000 nutidskroner 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.

  5. 5. Det historiske forløb 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. USA 1946: ENIAC 1960: 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.

  6. 6. Compiler-gruppen, maj 1968

  7. (Brinch Hansen: Monitor manual, 1971) Proces = Thread + beskyttet lagerområde 7. RC 4000 monitoren - proces-begrebet Begrebsmæssigt fundament manglede Pulawy-systemet: periodiske processer og simpel interruptspærring. Vi skulle: 1. Dele cpu-tid (multiprogrammering) 2. Allokere og beskytte lager mod programmeringsfejl 3. Allokere og beskytte disk, printer, tape, mv.

  8. (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.

  9. 9. Lav lige sådan et under-operativsystem Brølere i RC 4000 Message-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)

  10. (Lauesen: Comm.ACM, July 1975) 10. Boss 2 - efter nogle Monitor-ændringer

  11. Program-segmenter på disk (paging). Reentrant kode. Ca. 50 terminaler. Ca. 100 "processer" (corutiner). Bevisligt deadlock-frit. (Lauesen: Comm.ACM, July 1975) 11. Inde i Boss 2: corutiner i stedet for processer Kø-semaforer Dijsktra's consumer- producer algoritme. Lagerdeling muliggør lange buffere.

  12. 12. Boss 2: udviklingsprocessen Afleveringsprøve, Kemisk institut, ÅU. 1972, september, 3 ugers blandet drift, højst 4 driftsstop Projektstart: 1970, august Kravspec 1: 1970, oktober Tidsplan Kravspec 2: 1970, november Corutiner, semaforer, pager virker: 1971, februar Drift: 1971, juli Metrikker LOC: 7.000 (=algol compiler) Personmåneder: 35 LOC/p.måned: 200 Faktisk 1971, januar 1971, maj 1972, august 26.000 115 226 Testsession, 4 programmører P1-P4 - alt styret manuelt Backup af driftssystem + load Boss: 3 min P1: Indlæs rettelser, compile, kør test, print testlog: 1 min P2, P3, P4: Samme: 3 min Reserve, typisk til 2 ekstra forsøg: 6 min Backup af Boss, load driftssystem 2 min Samlet tid 15 min

  13. 13. Installationen på Kemisk Institut, sept 1972 Samlet lager: 96 k bytes (Lauesen: Data nr. 2-3/73)

  14. 14. Lagerforbrug, Kemisk Institut (Lauesen: Data nr. 2-3/73)

  15. 15. BBC, el-overvågning, vision okt 1973 (Jørgen Green: Indactic 33/20 System specification)

  16. 16. Skærmbilleder - semigrafisk med 8 farver (Jørgen Green: Indactic 33/20 System specification)

  17. 17. Specialbygget tastatur (Jørgen Green: Indactic 33/20 System specification)

  18. 18. Intern struktur, BBC, dec 1973 (Lauesen: Internal structure of Indactic 33/20, sept 1974)

  19. 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å.

  20. 20. Skærbæk-værket, 1976, efter ca. 1 års drift

  21. 21. RC4000 Filsystem, Monitor 3 (1972) (Lauesen: Forelæsningsnoter 1976)

  22. 22. RC4000 Filkatalog (1972) (Lauesen: Forelæsningsnoter 1976)

  23. 23. Lagerforbrug, BBC-system

  24. 24. Datavisning, BBC-system (Lauesen: Internal structure of Indactic 33/20, sept 1974)

More Related