Post on 04-Jun-2015
ICT Infrastructuren26 november 2007
David N. Jansen
Hoofdstukken 2–4
Hoofddoelen en -functies van besturingssystemen
ProcessenThreads
Procesalgebra
Doelen van Besturingssystemen
het OS bemiddelt tussengewone programma’s en de hardware
gebruiksgemakefficiëntieontwikkeling faciliteren
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
Diensten voorgewone programma’sprogramma’s ontwikkelenprogramma’s startenabstractie van hardware
toegang tot in- en uitvoer toegang tot bestanden foutafhandeling
gebruikersbeheer toegangsrechten boekhouding
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
Evolutie van Besturingssystemen
handbediening / geen OSbatch processing
single multiprogrammed
interactief timesharing
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
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
Multiprogrammed batch processing
Interactief timesharing
één interactieve centrale computermet meerdere terminals
Interactief en één gebruiker
achteruitgang of vooruitgang?
iedere gebruiker zijn eigen computerMS-DOS: uitgekleed OS
geen multiprogramming/multitasking geen gebruikersbeheer
Proces
belangrijkste thema vandaaghoofdstukken 3+4 in Stallings’ boek
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
Toestand van een proces
besturingssysteem houdt toestand bijéén proces is actief (running),
de andere processen wachten
Completer toestandenmodel
Proces ontstaat en eindigtProces wacht om specifieke redenVeel processen... te veel voor het RAM
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
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
Completer toestandenmodel
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
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)
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
Proces vs. thread
Proces vs. thread
Procesinformatie geheugen bronnen (bestanden, in- en uitvoer)
Threadinformatie toestand van de thread (running / blocked / ...) programmateller stack
Waarvoor?
verschillende taken in één programma reageren op gebruiker commando’s uitvoeren achtergrondtaken sommige taken kunnen doorgaan
terwijl het programma op OS wacht multicore
OS-ondersteuning
Sommige OSen bieden geen threads aan dan zijn toch “user level threads” mogelijk
wel ondersteuning: “kernel level threads” langzamer, maar flexibeler
Procesalgebra
wiskundig model van processenproces = mogelijkheid tot acties
wiskundige notatie: stop geen actie a Peerst a, dan P P + Qóf P óf Q
Voorbeelden van PA-termen
Lamp: L = aan uit L((kopiëren uit FMSE))
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
Gebruik van PA
zijn twee programma’s equivalent?
interleavings van parallele processen? ... komt overeen met parallelisme in een OS!
Voorbeeld van PA
Sender = in send getack SenderReceiver = recv ack out Receiver
Sendbuf = send recv SendbufAckbuf = ack getack Ackbuf
Sender || Receiver || Sendbuf || Ackbuf
Traces
Een trace is een reeks van actiesmogelijk gedrag van een proces
P en Q zijn trace-equivalentals ze dezelfde traces hebben
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
Bisimulatie
een betere definitie van equivalentie
volgende week gaan we verdermet procesalgebra...