Hoofdstuk 4 Besturingssystemen

Slides:



Advertisements
Verwante presentaties
KWALITEITSZORG november 2012
Advertisements

Stilstaan bij parkeren Dat houdt ons in beweging
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Wat was toen het grootste het grootste probleem van de van de FOD?
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.

NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
1 Resultaten marktonderzoek RPM Zeist, 16 januari 2002 Door: Olga van Veenendaal, medew. Rothkrans Projectmanagement.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
1 COVER: Selecteer het grijze vlak hiernaast met rechtsklik & kies ‘change picture’ voor een ander beeld of verwijder deze slide & kies in de menubalk.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
Thema HACCP
STAPPENPLAN GRAMMATICUS.
Lesdoelstellingen Op het einde van deze les ken je:
Ronde (Sport & Spel) Quiz Night !
BESTURINGS SYSTEMEN Vincent Naessens.
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
Hoofdstuk 4 Besturingssystemen
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays  Klassiek gebruik  For opdracht, Increment/Decrement  Wijzers, Arrays en Wijzers.
INITIATIE DEFINITIESELECTIECONCIPIËREN INBEDDING IN ORGANISATIE ONDERHOUD Opdrachtgever/ Projectleider Eigenaar Architect en zijn team Stakeholders INITIATIEDEFINITIESELECTIECONCIPIËRENINBEDDINGONDERHOUD.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Tevredenheids- enquête 2012 P. Grouwels Inleiding Mogelijke antwoorden: Zeer goed: 4 sterren ****: volledig tevreden; Goed: 3 sterren ***:
Nooit meer onnodig groen? Luuk Misdom, IT&T
Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker  Werking van vertolker  Voor- en nadelen.
Hoofdstuk 4 Besturingssystemen
Hoofdstuk 3 Basisprogrammatuur
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler  Enkel MACRO en MCREINDE directieven  Extra macro-directieven De Lader De.
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Softwarepakket voor het catalogeren en determineren van fruitsoorten
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
1Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen &  vorige toestand uitgang.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
1. 33 GERECHTIGHEID GODS 21 Thans is echter buiten de wet om GERECHTIGHEID GODS openbaar geworden, waarvan de wet en de profeten getuigen, 34.
Seminarie 1: Pythagoreïsche drietallen
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
Hoe gaat dit spel te werk?! Klik op het antwoord dat juist is. Klik op de pijl om door te gaan!
Eerst even wat uitleg. Klik op het juiste antwoord als je het weet.
1 SOCS Hoofdstuk 4 Besturingssystemen. 2 Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer  Randapparaten  In- en.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
STIMULANS KWALITEITSZORG juni 2014.
Waar gaat het nou toch om?!
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
DIGITAL ANALYTICS TOOLS. 2 DIGITALE MEDIA - METEN.
Openbaar je talent Service public, talent particulier.
Hoofdstuk 3 - Conditionele logica
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
SOCS Test 1.
Besturingssystemen Ga verder met een muisklik..
Transcript van de presentatie:

Hoofdstuk 4 Besturingssystemen SOCS Hoofdstuk 4 Besturingssystemen

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Kosten en Baten

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Halttoestand en uitvoeringstoestand Probleemtoestand en supervisietoestand Geprivilegieerde bevelen Supervisie-oproep De volledige bevelencyclus Multiprogrammatie …

Processortoestanden Als CVO niets te doen? Oplossing: Geen programma om uit te voeren Huidige programma wacht op gegevens Oplossing: Actief wachten LUS: SPR LUS Nadeel: DGT-transporten worden gestoord “Halttoestand” Alleen 4de stap van bevelencyclus (nagaan of PO-aanvraag mag optreden)

Halt-, Uitvoeringstoestand 0 1 2 3 4 5 6 7 8 9 H/U S/P CC ONV OVI SOI BT 10 11 12 13 14 15 16 17 18 19 GPF WEK DRK G IN UIT SCH OVL SPL MFT Alleen 4de stap bevelencyclus 0: Halttoestand 1: Uitvoeringstoestand Volledige bevelencyclus

Halt-, Uitvoeringstoestand Ander bevel Programma-onderbreking Halt- toestand Uitvoerings- toestand KTO STP KTO 7100100298 Stapel 3001111200 Stapel

Halt-, Uitvoeringstoestand int * tedoen = (int *) –1; main() { /* twee taken te doen */ tedoen = &andere_taak; /* begin eerste taak */ … if (tedoen == (int *) –1) { /* stop */ } else { /* begin taak */ } MAIN: HIA.a R0,TAAK BIG R0,TEDOEN … | eerste taak … HIA R0,TEDOEN VGL.w R0,-1 VSP GEL,NIETS SPR 0(R0) NIETS: STP TEDOEN: -1

Halt-, Uitvoeringstoestand Beter: lijst met taken Taak afgewerkt: volgende uit lijst Lijst leeg: STP TAAK1: … … TAAK2: … TAAK3: … NULL

Probleem-, Supervisietoestand Ik mag alles Ik mag niet alles! Gebruikersprogramma Besturingsprogramma CVO moet weten welk programma uitgevoerd wordt!

Probleem-, Supervisietoestand Correcte werking van computer garanderen: Verhinderen: gebruiker zelf apparaten aanstuurt Onderscheid tussen: Gebruikersprogramma Besturingsprogramma Twee toestanden: Supervisietoestand (monitortoestand) CVO voert Besturingsprogramma uit Probleemtoestand CVO voert Gebruikersprogramma uit

Halt-, Uitvoeringstoestand 0 1 2 3 4 5 6 7 8 9 H/U S/P CC ONV OVI SOI BT 10 11 12 13 14 15 16 17 18 19 GPF WEK DRK G IN UIT SCH OVL SPL MFT CVO voert besturings-programma uit 0: Supervisietoestand 1: Probleemtoestand CVO voert gebruikers-programma uit

Halt-, Uitvoeringstoestand Programma- onderbreking Ander bevel KTO 5100100298 Stapel Uitvoerings- toestanden Supervisie Toestand (0) STP Halt- toestand PO PO KTO KTO 0110100132 Stapel 3001111200 Stapel Probleem- Toestand (1) Niet- gepriv. bevel

Geprivilegieerde bevelen Probleemtoestand: Niet alle bevelen toegelaten! DRAMA bevelen HIA, BIG OPT, AFT, VER, DEL, MOD, VGL SPR, VSP, SBR, KTG, OND INV, UTV, MKH, MKL, TSM, TSO, STP, KTO Geprivilegieerde bevelen Niet-geprivilegieerde bevelen

Geprivilegieerde bevelen Probleem- toestand Supervisie- toestand Niet-geprivilegieerd bevel Geprivilegieerd bevel Uitgevoerd Uitgevoerd PO9 Uitgevoerd

Supervisie-oproep Gebruikerprogramma: Niet rechtstreeks randapparaten aanspreken Hulp vragen aan besturingsprogramma Mag wel geprivilegieerde bevelen uitvoeren Supervisietoestand! Overgang afdwingen: Geprogrammeerde PO (OND) = supervisor call, system call Operand = ‘dienst’ Mogelijk extra argumenten (via stapel, acc., …)

Supervisie-oproep Dienst- nummer Dienst 1 Lees getal in R0 in 2 Druk R0 af op scherm 3 Naar nieuwe lijn op scherm 4 Huidige datum + tijd in R0 … 9999 Stop de uitvoering van dit programma Verschillend van besturingsprogramma tot besturingsprogramma

1000 x 4 + 1 = 4001 supervisie-oproepen /* lees 1000 getallen in en druk getal, getal^2 af */ main() { int k, x; for (k=0; k<1000; k++) { x = getint(); printint(x); printint(x*x); } MAIN: HIA.w R1,0 FOR: VGL.w R1,1000 VSP GRG,EFOR LEZ DRU VER R0,R0 NWL OPT.w R1,1 SPR FOR EFOR: STP OND 1 | LEZ OND 2 | DRU OND 2 | DRU OND 3 | NWL OND 9999 | STP 1000 x 4 + 1 = 4001 supervisie-oproepen

Behandelingsroutine voor supervisie-oproepen | Gebruikersprogramma MAIN: … OND 2 … PO_R1: BIG R0,BEWAAR … BIG R9,BEWAAR+9 | welke dienst? HIA R0,0(R9) MOD R0,TDZD Gebruikers- programma 0123 0125 0124 … 6199990002 AFT.w R0,1 HIA R1,0(R0) MOD R1,TDZD DST1: VGL.w R1,1 VSP NGEL,DST2 R9 8999 9000 0110000125 0000000000 Stapel SBR LEZ_PROC SPR TERUG1

Behandelingsroutine voor supervisie-oproepen PO_R1: BIG R0,BEWAAR … BIG R9,BEWAAR+9 | welke dienst? HIA R0,0(R9) MOD R0,TDZD AFT.w R0,1 HIA R1,0(R0) MOD R1,TDZD DST1: VGL.w R1,1 VSP NGEL,DST2 SBR LEZ_PROC SPR TERUG1 DST2: VGL.w R1,2 VSP NGEL,DST3 SBR DRU_PROC SPR TERUG DST3: … TERUG: HIA R0,BEWAAR TERUG1: HIA R1,BEWAAR+1 … HIA R9,BEWAAR+9 KTO BEWAAR: RESGR 10 TDZD: 10000

Behandelingsroutine voor supervisie-oproepen Supervisie- toestand | Gebruikersprogramma MAIN: … OND 2 … Probeemtoestand (1) PO_R1: … SBR DRU_PROC KTO OND 2 (2) (6) PO-vectoren (3) (5) (4) DRU_PROC: … UTV R5,P3 KTG LEZ_PROC: … INV R0,P1 KTG LEZ_PROC: … INV R0,P1 KTG LEZ_PROC: … INV R0,P1 KTG

Supervisie-oproep Voordelen: Programmeur geen laag-niveau details Complexe taken correct uitgevoerd Buffering en boekhouding Timing, fouten opvangen, … echo-transmissie, lokaal editeren, … Optimisaties mogelijk Actief wachten vermijden Uitgesteld wegschrijven Vooraf inlezen Vooraf intypen (type ahead) …

Bevelencyclus int skip_uitvoering; while (true) { if (PTW[1] == 1) { /* uitvoeringstoest. */ /* haal bevel op */ … /* analyseer bevel */ … skip_uitvoering = 0; if (PTW[2] == 1 && gepriv(fc)) { PO_vlag[9] = 1; skip_uitvoering = 1; } if (! skip_uitvoering) { /* voeruit */ switch (fc) { … case STP: PTW[1] = 0; break; … } } } /* if (PTW[1] == 1) */

Bevelencyclus if (PTW[10] != 1) { /* G masker af */ int onv = PTW[0]; int k; /* Toeg. PO? */ for (k=9; k>onv; k--) if ((PO_vlag[k] && ((k == 1) || ! PTW[10+k])) break; if (k > onv) { /* POk */ opStapel(PTW, 0, 9); PTW[0] = k; /* ONV */ PO_vlag[k] = 0; /* uitv. + superv. */ PTW[1] = 1; PTW[2] = 0; vulin( Geheugen[9990+k] % 10000,PTW,6,9); } } /* if (G-masker) */ } /* while */

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Principe Doorvoer STP-bevel Besturingsprogramma Opstarten van de computer Soorten Besturingssystemen …

Multiprogrammatie Randapparaten traag t.o.v. CVO Actief wachten: heel onefficient PO en DGT: CVO kan iets anders doen Iets anders? /* lees sector in */ while (getPort(6) != KLAAR); putPort (7, cmd); /* doe iets anders */ … Programma heeft die gegevens nodig. Dit moet een ander programma zijn.

Principe tijd PO6 PO6 PROG_B PROG_A Besturingsprog PO_ROUT1 PO_ROUT6 Schijf bezig PROG_B PROG_A Besturingsprog PO_ROUT1 PO_ROUT6 halt KTO PO6 KTO OND 73 OND 73 KTO OND 73 KTO I/O (A) klaar I/O (B) gestart STP I/O (A) gestart PO6 I/O (A) klaar I/O (A) gestart tijd PO6 PO6 Lezen van schijf: OND 73

Principe Monoprogrammatie Multiprogrammatie Programma’s sequentieel uitgevoerd Slechts 1 programma tegelijk geladen Multiprogrammatie = Gelijktijdig (afwisselend) uitvoeren van verschillende programma’s CVO ‘bezig’ houden Veel programma’s  nooit werkloos

Doorvoer 2 Identieke programma: Uitvoering: Initialisatie 100 ms 4 x (100 ms wachten invoer + 100 ms rekenen) 100 ms wegschrijven = totaal 1 s Uitvoering: Monoprogrammatie (na elkaar) Multiprogrammatie

Doorvoer Monoprogrammatie Doorvoer: 1 prog/s 1 2 Multiprogrammatie 1 Prog_A Prog_B halt Monoprogrammatie Doorvoer: 1 prog/s 1 2 Prog_A Prog_B halt Multiprogrammatie 1 1,1 Doorvoer: ±2 prog/s

Doorvoer Vorige figuur Realiteit Prog_A Prog_B halt Prog_A Prog_B PO_R1 PO_R6 halt Start I/O I/O klaar Prog_A Prog_B halt Prog_A Prog_B PO_R1 PO_R6 halt Start I/O I/O klaar

Werkloos? Zelden processor 100% bezighouden Merk op: Zwaar belast: 90 .. 95 % Licht belast: 10 .. 30 % Merk op: Hoge multiprogrammatiegraad (= aantal programma’s in geheugen) Processor weinig (of niet) werkloos Elk programma slechts fractie van beschikbare tijd  lijkt dat de processor traag werkt

STP-bevel Geprivilegieerd Alleen besturingsprogramma (BP) weet of er nog taken zijn Gebruikersprogramma aan BP vragen om gestopt te worden Programma uit geheugen verwijderen Ander programma inbrengen?

Boekhouding Voor elk programma: gegevensstructuur Inhouden van accumulatoren BT, CC, OVI, … (eerste deel PTW) Gebruikt bij programmawisseling R0 R1 … R9 PTW Progr. A R0 R1 … R9 PTW Progr. B R0 R1 … R9 PTW Progr. C

Opstarten van de computer Programma in ROM uitvoeren Lader(s) inladen (bootstrap)  besturingsprogramma inladen Hoofdprogramma van besturingsprogramma: Gegevensstructuren initialiseren Op zoek naar werk Gebruikersprogramma’s of (geen werk) STP Besturingsprogramma alleen nog via PO geactiveerd

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Kosten en Baten

Soorten besturingssystemen Algemeen Nut (general purpose) Specifiek Doel (dedicated, embedded) Niet-interactief Interactief Reële tijd (real time) = Stapelverwerking (batch system) Vaste tijdslimieten 1 Gebruiker (Single User) Meerdere gebruikers (Multi-User) (Time sharing)

Inhoud … Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Geheugenbeheer Processorbeheer Het beheer van de randapparaten Bestandenbeheer Informatiebeheer Boekhouding Kosten en Baten

Taken/diensten besturingsprogramma Geheugenbeheer Waar elk programma in het geheugen Processorbeheer Aan welk programma zal CVO werken? Beheer in/uitvoer Besturen van alle randapparaten Bestandenbeheer Bestanden bijhouden op hulpgeheugens Informatiebeheer

Geheugenbeheer Multiprogrammatie  meerdere programma’s gelijktijdig in geheugen Verschillende algoritmes: Aaneengesloten, gepagineerd, … A B C E BP D A1 A2 A3 B1 B2 B3 PB1 PB2 PB3 PB4 E1 E2 D1 D2 C1 HW: verspreide delen als 1 geheel laten voorkomen

Geheugenbeheer Verschillende programma’s  bescherming In uitvoering E BP D Resultaat correct ? Privacy geschonden?

Geheugenbeheer Geen geheugenbescherming: MAIN: HIA.a R0,LABEL BIG R0,9991 OND 1 LABEL: … INV R0,P2 UTV R1,P3 …

Geheugenbeheer PO_R1: BIG R0,BEWAAR … PO-vectoren PO_R1: BIG R0,BEWAAR … MAIN: HIA.a R0,LABEL BIG R0,9991 OND 1 LABEL: … INV R0,P2 UTV R1,P3 … HIA.a R0,LABEL BIG R0,9991

Geheugenbeheer PO_R1: BIG R0,BEWAAR … PO-vectoren PO_R1: BIG R0,BEWAAR … MAIN: HIA.a R0,LABEL BIG R0,9991 OND 1 LABEL: … INV R0,P2 UTV R1,P3 … OND 1

Geheugenbeheer PO_R1: BIG R0,BEWAAR … PO-vectoren PO_R1: BIG R0,BEWAAR … MAIN: HIA.a R0,LABEL BIG R0,9991 OND 1 LABEL: … INV R0,P2 UTV R1,P3 … … INV R0,P2 In supervisortoestand!

Geheugenbeheer Geen geheugenbescherming: MAIN: HIA R0,9991 HIA R1,INSTR BIG R1,0(R0) OND 1 INSTR: SPR LABEL LABEL: … INV R0,P2 UTV R1,P3

Geheugenbeheer PO_R1: BIG R0,BEWAAR … PO-vectoren 9991 PO_R1: BIG R0,BEWAAR … MAIN: HIA R0,9991 HIA R1,INSTR BIG R1,0(R0) OND 1 INSTR: SPR LABEL LABEL: … INV R0,P2 UTV R1,P3 HIA R0,9991 HIA R1,INSTR BIG R1,0(R0)

Geheugenbeheer PO_R1: BIG R0,BEWAAR … SPR LABEL PO-vectoren PO_R1: BIG R0,BEWAAR … SPR LABEL MAIN: HIA R0,9991 HIA R1,INSTR BIG R1,0(R0) OND 1 INSTR: SPR LABEL LABEL: … INV R0,P2 UTV R1,P3 OND 1

Geheugenbeheer PO_R1: BIG R0,BEWAAR … SPR LABEL PO-vectoren PO_R1: BIG R0,BEWAAR … SPR LABEL MAIN: HIA R0,9991 HIA R1,INSTR BIG R1,0(R0) OND 1 INSTR: SPR LABEL LABEL: … INV R0,P2 UTV R1,P3 … INV R0,P2 In supervisortoestand!

Geheugenbescherming  < Geheugen ondergrens Prog. A bovengrens CVO Geheugenbeheer eenheid Ondergrens Bovengrens  < bus Adres Ja Ja Neen Neen

Geheugenbescherming  < HIA R0,455 Geheugen Prog. A CVO 0200 1234 Prog. A CVO Geheugenbeheer eenheid 0200 1234 455 455  < Ja Ja bus

Geheugenbescherming  < BIG R0,9991 Prog. A CVO 0200 1234 Prog. A CVO Geheugenbeheer eenheid 0200 1234 9991  < Ja Adres! bus Neen

Geheugenbeheer Besturingsprogramma: tabel met vrij/bezet Beginadres Lengte Toegekend aan … 0000 1140 A 1060 Vrij 2200 2253 B 4453 76 4529 1271 C 5800 1150 D 6950 50 7000 3000 Besturings-programma

Processorbeheer Meerdere programma’s  wie processor? Keuze gebaseerd op: Hoogdringendheid (prioriteit) Beurtrol … Sommige programma’s aan het wachten …

Processorbeheer Klaar om uitgevoerd te worden Gekozen klaar uitvoering Supervisie-oproep (I/O) passief wachten Supervisie-oproep (STOP) I/O klaar Nog niet in het geheugen gebracht afgewerkt

Processorbeheer Besturingssysteem: tabel met info programma’s Prog. Toestand Prio R0 … PTW A klaar 10 0000001234 0110000123 B 7 0000002341 0110011232 C wacht 3 0000000000 0110004434 D 1 9999999999 0110006545 E passief 15 ???

Processorbeheer Timesharing systeem: meerdere gebruikers Tijd eerlijk verdelen Respons-tijd (reactie-tijd):  Elke gebruiker: Indruk persoonlijke computer ter beschikking

Processorbeheer Te Doen: Practicum Perl Practicum BvP SOCS studeren Vakantiebrochures Karweien thuis

Processorbeheer Te Doen: Practicum Perl Practicum BvP SOCS studeren Vakantiebrochures Karweien thuis

Processorbeheer Te Doen: Klaar! Practicum Perl Practicum BvP SOCS studeren Vakantiebrochures Karweien thuis Klaar!

Processorbeheer Te Doen: Practicum Perl Practicum BvP SOCS studeren Vakantiebrochures Karweien thuis Enz.

Processorbeheer Vóór: CVO  gebruikersprogramma: Twee mogelijkheden: Wekker zetten Twee mogelijkheden: Gebruikersprogramma doet supervisor-oproep  wachten Wekker afzetten Volgende taak kiezen + eerst wekker instellen Wekker loopt af Huidige taak tijdelijk uitstellen

Processorbeheer Wekker: Opdrachtpoort: P9 P9  interval Wekker actief: interval > 0  wekker actief (telt af) interval <= 0  wekker inactief Wekker actief: Elke s: P9  P9 – 1 Indien P9 == 0  PO_vlag[3]  1

Processorbeheer Besturingsprogramma: … | Stel wekker in HIA R1,interval UTV R1,P9 | Herstel accumulatoren HIA R0,bewaar+0 HIA R1,bewaar+1 … HIA R9,bewaar+9 KTO bewaar: RESGR 10 interval: 1000

Principe tijd PO6 PROG_A PROG_B PROG_C PROG_D PO_ROUT1 PO_ROUT2 halt KTO KTO KTO PO6 KTO OND 73 KTO KTO Kies Prog. Kies Prog. I/O (A) gestart Kies Prog. Kies Prog. Kies Prog. tijd PO6 Lezen van schijf: OND 73

Beheer van randapparaten Besturingsprogramma: Toestand van elk apparaat bijhouden Opdrachten bijhouden indien apparaat bezig Bezig (lezen) CVO: Iets anders Schrijven op schijf  in wachtrij

Beheer van randapparaten Apparaat Toestand Opdrachten Scherm bezig A Schrijf “xyz = …” Toetsenbord klaar Beschikbaar 12345, abcde Drukker --- Schijf Schrijf cil:4,…, Data B Lees cil:6,…,Adres Schijf2 defect

Bestandenbeheer Bestand = ‘container’ voor informatie (bron)programma’s, teksten, gegevens, … = Hoog-niveau concept Gebruiker/programma hoeft plaats niet te kennen (alleen naam) Besturingsprogramma houdt bestanden bij op hulpgeheugen

Bestandenbeheer Inhoudstafel Socs.doc Prog.java Spel Naam Lengte Plaats Prog.java 19820 Cil:8/spoor:4/sec:2-7 Socs.doc 98172 Cil:2/spoor:5/sec:32-59 Spel 8729 Cil:1/spoor:8/sec:11-13

Informatiebeheer Besturingsprogramma houdt heel wat informatie bij Huidige datum/tijd Wie werkt op het systeem? Programma’s in uitvoering Beschikbare schijfruimte … Opvragen via supervisie-oproepen Voorbeeld OND 100 | R0dag,R1maand,R2jaar

Informatiebeheer Bijhouden van de tijd M.b.v. circuit dat regelmatige PO aanvraagt vb. Om de 20 ms (freq. van lijnspanning) Referentiedatum + tijd opvragen bij opstarten # PO-en tellen  huidige datum en tijd berekenen Referentie datum + tijd Huidige datum + tijd # PO-en 24 april 2002 1.002.100 24 april 2002 10:00:00 20.042 s later 15:34:02 Niet nauwkeurig (PO uitstellen, missen, …)

Informatiebeheer Bijhouden van de tijd DRAMA: Klok v/d 2de soort Kristal-oscillator Onder spanning  zeer nauwkeurig periodisch signaal Signaal naar tel-circuit geleid Eenmalig initialiseren Vaak batterij  klok blijft doorlopen DRAMA: Klok v/d 2de soort Poort P8 Inhoud = # 1/10 s sinds 1 januari 1990 (00:00)

Informatiebeheer Samenwerkende programma’s Informatie uitwisselen = Communicatie A B | zend(B,boodschap) OND 234 | boodsch = ontvang(A) OND 235 A B Besturingssysteem

Boekhouding Ten behoeve van facturatie Commercieel systeem Statistieken t.b.v. computersysteemplanning Knelpunten Afregelen (Tunen)

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Kosten en Baten Baten Kosten Uiteindelijk rendement

Baten Gebruiksvriendelijkheid Correcte werking Efficienter Geprivilegieerde bevelen, … Efficienter

Kosten Apparatuur Programmatuur Overhead aan tijd CVO complexer: PO, GBE, … Groot centraal geheugen (besturingsprogramma, multiprogrammatie) Voldoende randapparaten Programmatuur Verschillende manjaren Overhead aan tijd PO  toestand bewaren (+ later herstellen) Extra controles (of geoorloofd) Deels gecompenseerd door tijdswinst (multiprogrammatie, optimisaties, …)

Rendement 80% processortijd: BP 20% processortijd: gebuikersprogramma 80% apparatuur: beheer van apparatuur 20% apparatuur: uitvoeren van bevelen 75% programma: organisatie (lussen, …) 25% programma: rekenen 0,2 * 0,2 * 0,25 = 0,01 = 1 % echte rekenwerk

Cursustekst Hoofdstuk 4: pag. 146  einde