1 / 34

ICT Infrastructuren 26 november 2007

ICT Infrastructuren 26 november 2007. David N. Jansen. Hoofdstukken 2–4. Hoofddoelen en -functies van besturingssystemen Processen Threads Procesalgebra. Doelen van Besturingssystemen. het OS bemiddelt tussen gewone programma’s en de hardware gebruiksgemak effici ëntie

baris
Download Presentation

ICT Infrastructuren 26 november 2007

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. ICT Infrastructuren26 november 2007 David N. Jansen

  2. Hoofdstukken 2–4 • Hoofddoelen en -functies van besturingssystemen • Processen • Threads • Procesalgebra

  3. Doelen van Besturingssystemen • het OS bemiddelt tussengewone programma’s en de hardware • gebruiksgemak • efficiëntie • ontwikkeling faciliteren

  4. Bemiddeling • processor: OS = een soort programma • kernel = deel van OS dat altijd in RAM blijft • gebruiker/andere programma’s:OS = (bijna) deel van hardware • OS beheert de hardware

  5. Diensten voorgewone programma’s • programma’s ontwikkelen • programma’s starten • abstractie van hardware • toegang tot in- en uitvoer • toegang tot bestanden • foutafhandeling • gebruikersbeheer • toegangsrechten • boekhouding

  6. Beheer van bronnen • de computer bestaat uit bronnen • processor • hoofdgeheugen (RAM) • secundair geheugen • in- en uitvoer van gegevens • het OS bepaaltwie die bronnen mag gebruiken

  7. Evolutie van Besturingssystemen • handbediening / geen OS • batch processing • single • multiprogrammed • interactief timesharing

  8. Single batch processing • gebruiker levert een stapel ponskaarten in • beheerders voegen wat extra kaarten toe (Job Control Language) • markeren begin en einde van de stapel • geven de soort van programma aan • „besturingssysteem” leest JCL-kaartenen beslist wat te doen • OS bewaakt correctheid en voortgang

  9. Multiprogrammed batch processing • in- en uitvoer is langzaam = veel wachttijd • als een job wacht, kan een andere draaien • betere afscherming tussen jobs vereist • ingewikkelder geheugenbeheer • verdeling van processortijd • gelijktijdig gebruik van in- en uitvoer • elk proces denkt dat het alleen is

  10. Multiprogrammed batch processing

  11. Interactief timesharing • één interactieve centrale computermet meerdere terminals

  12. Interactief en één gebruiker • achteruitgang of vooruitgang? • iedere gebruiker zijn eigen computer • MS-DOS: uitgekleed OS • geen multiprogramming/multitasking • geen gebruikersbeheer

  13. Proces • belangrijkste thema vandaag • hoofdstukken 3+4 in Stallings’ boek

  14. Wat is een proces? • een programma dat wordt uitgevoerdonder beheer van het besturingssysteem • een samenstel van • activiteiten • status van die activiteiten • bronnen • Het OS laat het proces denken dat het alleen is

  15. Toestand van een proces • besturingssysteem houdt toestand bij • één proces is actief (running),de andere processen wachten

  16. Completer toestandenmodel • Proces ontstaat en eindigt • Proces wacht om specifieke reden • Veel processen... te veel voor het RAM

  17. Proces ontstaat en eindigt • Proces ontstaat • login • OS biedt dienst in de vorm van proces aan • proces start een nieuw proces • Proces eindigt • normaal einde • niet voldoende bronnen • proces doet iets illegaals • in- of uitvoer kan niet • buitenstaander verzoekt om einde

  18. Redenen voor wachten • proces is niet aan de beurt • in- of uitvoer duurt langer • buitenstaander onderbreekt het proces • niet voldoende RAM:proces wordt op harde schijf opgeslagen

  19. Completer toestandenmodel

  20. Informatie over het proces • Het besturingssysteem houdt bij: • identiteit van het proces • processor-registers en geheugen • toestand van het proces (actief / blocked / ...) • bronnen die het proces gebruikt • details in tabellen 3.4 en 3.5 • Process Control Blockbevat deze informatie

  21. Process Control / Procesaansturing • hoofdstuk 3.4 in het boek: zelfstudie • belangrijk verschil: • process switch = één proces onderbreken, een ander activeren • mode switch = de processor springt van een modus in een andere (kernel / user mode)

  22. Threads • een lichte variant van processen • processen gebruiken twee soorten bron: • processortoegang • geheugen, bestanden etc. • threads gebruiken slechts één bron: • processortoegang • eenvoudiger dan proces •  beheer is sneller

  23. Proces vs. thread

  24. Proces vs. thread • Procesinformatie • geheugen • bronnen (bestanden, in- en uitvoer) • Threadinformatie • toestand van de thread (running / blocked / ...) • programmateller • stack

  25. Waarvoor? • verschillende taken in één programma • reageren op gebruiker • commando’s uitvoeren • achtergrondtaken • sommige taken kunnen doorgaanterwijl het programma op OS wacht • multicore

  26. OS-ondersteuning • Sommige OSen bieden geen threads aan • dan zijn toch “user level threads” mogelijk • wel ondersteuning: “kernel level threads” • langzamer, maar flexibeler

  27. Procesalgebra • wiskundig model van processen • proces = mogelijkheid tot acties • wiskundige notatie: • stop geen actie • a  P eerst a, dan P • P + Qóf P óf Q

  28. Voorbeelden van PA-termen • Lamp: L = aan  uit  L • ((kopiëren uit FMSE))

  29. Parallele processen in PA • extra operator P || Q • voert P en Q parallel uit • interleaving van aparte acties • synchronisatie van gemeenschappelijke acties • voorbeelden • a  stop || b  stop • a  c  stop || b  c  stop • a  b  stop || b  a  stop Deadlock

  30. Gebruik van PA • zijn twee programma’s equivalent? • interleavings van parallele processen? • ... komt overeen met parallelisme in een OS!

  31. Voorbeeld van PA • Sender = in  send  getack  Sender • Receiver = recv  ack  out  Receiver • Sendbuf = send  recv  Sendbuf • Ackbuf = ack  getack  Ackbuf • Sender || Receiver || Sendbuf || Ackbuf

  32. Traces • Een trace is een reeks van acties • mogelijk gedrag van een proces • P en Q zijn trace-equivalentals ze dezelfde traces hebben

  33. Beperkingen van trace-equivalentie • P = b  (k + t) • Q = (b  k) + (b  t) • zijn trace-equivalent • maar er is wel verschil: • P maakt keuze in samenwerking met omgeving • Q trekt zich niets van de omgeving aan

  34. Bisimulatie • een betere definitie van equivalentie • volgende week gaan we verdermet procesalgebra...

More Related