ICT Infrastructuren 26 november 2007 David N. Jansen.

34
ICT Infrastructuren 26 november 2007 David N. Jansen

Transcript of ICT Infrastructuren 26 november 2007 David N. Jansen.

Page 1: ICT Infrastructuren 26 november 2007 David N. Jansen.

ICT Infrastructuren26 november 2007

David N. Jansen

Page 2: ICT Infrastructuren 26 november 2007 David N. Jansen.

Hoofdstukken 2–4

Hoofddoelen en -functies van besturingssystemen

ProcessenThreads

Procesalgebra

Page 3: ICT Infrastructuren 26 november 2007 David N. Jansen.

Doelen van Besturingssystemen

het OS bemiddelt tussengewone programma’s en de hardware

gebruiksgemakefficiëntieontwikkeling faciliteren

Page 4: ICT Infrastructuren 26 november 2007 David N. Jansen.

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

Page 5: ICT Infrastructuren 26 november 2007 David N. Jansen.

Diensten voorgewone programma’sprogramma’s ontwikkelenprogramma’s startenabstractie van hardware

toegang tot in- en uitvoer toegang tot bestanden foutafhandeling

gebruikersbeheer toegangsrechten boekhouding

Page 6: ICT Infrastructuren 26 november 2007 David N. Jansen.

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

Page 7: ICT Infrastructuren 26 november 2007 David N. Jansen.

Evolutie van Besturingssystemen

handbediening / geen OSbatch processing

single multiprogrammed

interactief timesharing

Page 8: ICT Infrastructuren 26 november 2007 David N. Jansen.

Single batch processing

gebruiker levert een stapel ponskaarten inbeheerders 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

Page 9: ICT Infrastructuren 26 november 2007 David N. Jansen.

Multiprogrammed batch processing

in- en uitvoer is langzaam = veel wachttijdals 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

Page 10: ICT Infrastructuren 26 november 2007 David N. Jansen.

Multiprogrammed batch processing

Page 11: ICT Infrastructuren 26 november 2007 David N. Jansen.

Interactief timesharing

één interactieve centrale computermet meerdere terminals

Page 12: ICT Infrastructuren 26 november 2007 David N. Jansen.

Interactief en één gebruiker

achteruitgang of vooruitgang?

iedere gebruiker zijn eigen computerMS-DOS: uitgekleed OS

geen multiprogramming/multitasking geen gebruikersbeheer

Page 13: ICT Infrastructuren 26 november 2007 David N. Jansen.

Proces

belangrijkste thema vandaaghoofdstukken 3+4 in Stallings’ boek

Page 14: ICT Infrastructuren 26 november 2007 David N. Jansen.

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

Page 15: ICT Infrastructuren 26 november 2007 David N. Jansen.

Toestand van een proces

besturingssysteem houdt toestand bijéén proces is actief (running),

de andere processen wachten

Page 16: ICT Infrastructuren 26 november 2007 David N. Jansen.

Completer toestandenmodel

Proces ontstaat en eindigtProces wacht om specifieke redenVeel processen... te veel voor het RAM

Page 17: ICT Infrastructuren 26 november 2007 David N. Jansen.

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

Page 18: ICT Infrastructuren 26 november 2007 David N. Jansen.

Redenen voor wachten

proces is niet aan de beurtin- of uitvoer duurt langerbuitenstaander onderbreekt het proces

niet voldoende RAM:proces wordt op harde schijf opgeslagen

Page 19: ICT Infrastructuren 26 november 2007 David N. Jansen.

Completer toestandenmodel

Page 20: ICT Infrastructuren 26 november 2007 David N. Jansen.

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.5Process Control Block

bevat deze informatie

Page 21: ICT Infrastructuren 26 november 2007 David N. Jansen.

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)

Page 22: ICT Infrastructuren 26 november 2007 David N. Jansen.

Threads

een lichte variant van processenprocessen gebruiken twee soorten bron:

processortoegang geheugen, bestanden etc.

threads gebruiken slechts één bron: processortoegang

eenvoudiger dan proces beheer is sneller

Page 23: ICT Infrastructuren 26 november 2007 David N. Jansen.

Proces vs. thread

Page 24: ICT Infrastructuren 26 november 2007 David N. Jansen.

Proces vs. thread

Procesinformatie geheugen bronnen (bestanden, in- en uitvoer)

Threadinformatie toestand van de thread (running / blocked / ...) programmateller stack

Page 25: ICT Infrastructuren 26 november 2007 David N. Jansen.

Waarvoor?

verschillende taken in één programma reageren op gebruiker commando’s uitvoeren achtergrondtaken sommige taken kunnen doorgaan

terwijl het programma op OS wacht multicore

Page 26: ICT Infrastructuren 26 november 2007 David N. Jansen.

OS-ondersteuning

Sommige OSen bieden geen threads aan dan zijn toch “user level threads” mogelijk

wel ondersteuning: “kernel level threads” langzamer, maar flexibeler

Page 27: ICT Infrastructuren 26 november 2007 David N. Jansen.

Procesalgebra

wiskundig model van processenproces = mogelijkheid tot acties

wiskundige notatie: stop geen actie a Peerst a, dan P P + Qóf P óf Q

Page 28: ICT Infrastructuren 26 november 2007 David N. Jansen.

Voorbeelden van PA-termen

Lamp: L = aan uit L((kopiëren uit FMSE))

Page 29: ICT Infrastructuren 26 november 2007 David N. Jansen.

Parallele processen in PA

extra operator P || Qvoert 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

Page 30: ICT Infrastructuren 26 november 2007 David N. Jansen.

Gebruik van PA

zijn twee programma’s equivalent?

interleavings van parallele processen? ... komt overeen met parallelisme in een OS!

Page 31: ICT Infrastructuren 26 november 2007 David N. Jansen.

Voorbeeld van PA

Sender = in send getack SenderReceiver = recv ack out Receiver

Sendbuf = send recv SendbufAckbuf = ack getack Ackbuf

Sender || Receiver || Sendbuf || Ackbuf

Page 32: ICT Infrastructuren 26 november 2007 David N. Jansen.

Traces

Een trace is een reeks van actiesmogelijk gedrag van een proces

P en Q zijn trace-equivalentals ze dezelfde traces hebben

Page 33: ICT Infrastructuren 26 november 2007 David N. Jansen.

Beperkingen van trace-equivalentie

P = b (k + t)Q = (b k) + (b t)

zijn trace-equivalentmaar er is wel verschil:

P maakt keuze in samenwerking met omgeving Q trekt zich niets van de omgeving aan

Page 34: ICT Infrastructuren 26 november 2007 David N. Jansen.

Bisimulatie

een betere definitie van equivalentie

volgende week gaan we verdermet procesalgebra...