ICT Infrastructuren 26 november 2007 David N. Jansen.

Post on 04-Jun-2015

215 views 0 download

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

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