socs

79
1 SOCS Hoofdstuk 4 Besturingssysteme n

Upload: adrian-jensen

Post on 01-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SOCS

1

SOCS

Hoofdstuk 4

Besturingssystemen

Page 2: SOCS

2

Inhoud

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

Page 3: SOCS

3

Inhoud

Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden

Halttoestand en uitvoeringstoestand Probleemtoestand en supervisietoestand Geprivilegieerde bevelen Supervisie-oproep De volledige bevelencyclus

Multiprogrammatie …

Page 4: SOCS

4

Processortoestanden

Als CVO niets te doen? 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)

Page 5: SOCS

5

Halt-, Uitvoeringstoestand

H/U S/P CCONV OVI SOI BT

GPF WEK DRKG IN UIT SCH OVL SPL MFT

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19

0: Halttoestand1: Uitvoeringstoestand

Alleen 4de stapbevelencyclus

Volledigebevelencyclus

Page 6: SOCS

6

Halt-, Uitvoeringstoestand

Halt-Halt-toestandtoestand

Uitvoerings-Uitvoerings-toestandtoestand

STP

KTOKTO

Anderbevel

Programma-onderbreking

3001111200

Stapel

7100100298

Stapel

STP?

KTO?

PO?

ander?PO

Page 7: SOCS

7

Halt-, Uitvoeringstoestand

Lijst met taken Taak = functie (op einde KTG) Taak afgewerkt: volgende uit lijst Lijst leeg: STP

TAAK1: ……

TAAK2: ……

TAAK3: ……

NULL

Page 8: SOCS

8

Halt-, Uitvoeringstoestand

struct taak {int * beginAdres;struct taak * volgendeTaak;

}struct taak * taken = (struct taak *) -1;main() {

taken = maakTakenLijst();while (taken != (struct taak *) –1)

{ int * taak = taken->beginAdres;

taken = taken->volgendeTaak;/* start uitvoering taak */

}}

MAIN: … | creeer taken…WHILE: HIA R0,TAKEN

VGL.w R0,-1VSP GEL,STOPHIA R1,0(R0) | adresHIA R0,1(R0) | volg.BIG R0,TAKENSBR 0(R1) | start …SPR WHILE

STOP: STPTAKEN: -1

Page 9: SOCS

9

Probleem-, Supervisietoestand

Besturingsprogramma

Gebruikersprogramma

Ik mag allesIk mag niet alles!

CVO moet weten welk programma uitgevoerd wordt!

Page 10: SOCS

10

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

Page 11: SOCS

11

Halt-, Uitvoeringstoestand

H/U S/P CCONV OVI SOI BT

GPF WEK DRKG IN UIT SCH OVL SPL MFT

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19

0: Supervisietoestand1: Probleemtoestand

CVO voert besturings-programma uit

CVO voert gebruikers-programma uit

Page 12: SOCS

12

Halt-, Uitvoeringstoestand

Halt-Halt-toestandtoestand

Uitvoerings-Uitvoerings-toestandentoestanden

STP

KTO

KTOAnderbevel

Programma-onderbreking

3001111200

Stapel

Probleem-Toestand (1)

SupervisieToestand (0)

KTO

0110100132

Stapel

Niet-gepriv.bevel

PO

5100100298

Stapel

PO

Page 13: SOCS

13

DRAMA bevelenDRAMA bevelen

Geprivilegieerde bevelen

Probleemtoestand: Niet alle bevelen toegelaten!

INV, UTV,INV, UTV,MKH, MKL, MKH, MKL, TSM, TSO,TSM, TSO,STP, KTOSTP, KTO

HIA, BIGHIA, BIGOPT, AFT, VER, OPT, AFT, VER, DEL, MOD, VGLDEL, MOD, VGL

SPR, VSP, SPR, VSP, SBR, KTG,SBR, KTG,

ONDOND

Geprivilegieerdebevelen

Niet-geprivilegieerdebevelen

Page 14: SOCS

14

Geprivilegieerde bevelen

UitgevoerdUitgevoerdPOPO99

UitgevoerdUitgevoerdUitgevoerdUitgevoerd

Probleem-Probleem-toestandtoestand

Supervisie-Supervisie-toestandtoestand

Niet-Niet-geprivilegieerdgeprivilegieerdbevelbevel

GeprivilegieerdGeprivilegieerdbevelbevel

Page 15: SOCS

15

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., …)

Page 16: SOCS

16

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

Page 17: SOCS

17

Supervisie-oproep

/* 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,0FOR: VGL.w R1,1000

VSP GRG,EFORLEZDRUVER R0,R0DRUNWLOPT.w R1,1SPR FOR

EFOR: STP

OND 1 | LEZOND 2 | DRU

OND 2 | DRU

OND 3 | NWL

OND 9999 | STP

1000 x 4 + 1 = 4001 supervisie-oproepen1000 x 4 + 1 = 4001 supervisie-oproepen

R1R0

Page 18: SOCS

18

Behandelingsroutine voorsupervisie-oproepen

| Gebruikersprogramma

MAIN: …

OND 2

PO_R1:BIG R0,BEWAAR…BIG R9,BEWAAR+9

| welke dienst?

00123123

01250125

00124124

…6199990002

89998999

9000900001100001250000000000

Gebruikers-programma

StapelR9R9

HIA R0,0(R9)MOD R0,TDZDAFT.w R0,1HIA R1,0(R0)MOD R1,TDZD

DST1: VGL.w R1,1VSP NGEL,DST2SBR LEZ_PROCSPR TERUG1

Page 19: SOCS

19

Behandelingsroutine voorsupervisie-oproepen

PO_R1:BIG R0,BEWAAR…BIG R9,BEWAAR+9

| welke dienst?HIA R0,0(R9)MOD R0,TDZDAFT.w R0,1HIA R1,0(R0)MOD R1,TDZD

DST1: VGL.w R1,1VSP NGEL,DST2SBR LEZ_PROCSPR TERUG1

DST2: VGL.w R1,2VSP NGEL,DST3SBR DRU_PROCSPR TERUG

DST3: …TERUG: HIA R0,BEWAARTERUG1: HIA R1,BEWAAR+1

…HIA R9,BEWAAR+9

KTO

BEWAAR: RESGR 10

TDZD: 10000

Page 20: SOCS

20

Behandelingsroutine voorsupervisie-oproepen

| GebruikersprogrammaMAIN: …

OND 2…

DRU_PROC:…UTV R5,P3…KTG

xxx_PROC:………KTG

yyy_PROC:………KTG

LEZ_PROC:…INV R0,P1…KTG

PO-vectorenPO-vectoren

PO_R1: …

SBR DRU_PROC

KTO

(2)

(3)

(4)

(5)(6)

ProbeemtoestandSupervisie-

toestand

OND 2

(1)

Page 21: SOCS

21

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) …

Page 22: SOCS

22

Bevelencyclus

int skip_uitvoering;while (true) {

if (PTW[1] == 1) {/* uitvoeringstoest. *//* STAP 1:

haal bevel op */…/* STAP 2:

analyseer bevel */ fc = BR % 100000000;…skip_uitvoering = 0;if (PTW[2] == 1 &&

gepriv(fc)) { /* probleemtoestand */

PO_vlag[9] = 1;skip_uitvoering = 1;

}

/* STAP 3: voer uit */

if (! skip_uitvoering) {

switch (fc) {

case 11: /* HIA */reg[acc] = OR;

break;…

case 99: /* STP */PTW[1] = 0;

break;

}}

} /* if (PTW[1] == 1) */

Page 23: SOCS

23

Bevelencyclus

/* --------------------- STAP 4: toegelaten programma-

onderbreking? -------------------- */

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 */

Page 24: SOCS

24

Inhoud Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie

Principe Doorvoer STP-bevel Besturingsprogramma Opstarten van de computer

Soorten Besturingssystemen …

Page 25: SOCS

25

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 */

Dit moet een anderprogramma zijn.

Programma heeft diegegevens nodig.

Page 26: SOCS

26

Principe

PROG_B

PROG_A

Besturingsprog

PO_ROUT1

PO_ROUT6

halttijd

ON

D 7

3

ON

D 7

3 ON

D 7

3

KT

O

KT

O

KT

O

KT

O

ST

P

PO

6

PO

6

Lezen van schijf: OND 73 PO

6P

O6

I/O (A) gestart

I/O (A) gestart

I/O (A) klaar

Schijfbezig

I/O (A) klaar

I/O (B)gestart

Page 27: SOCS

27

Principe

Monoprogrammatie 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

Page 28: SOCS

28

Doorvoer

2 Identieke programma: Initialisatie 100 ms 4 x (100 ms wachten invoer + 100 ms rekenen) 100 ms wegschrijven = totaal 1 s

Uitvoering: Monoprogrammatie (na elkaar) Multiprogrammatie

Page 29: SOCS

29

DoorvoerProg_A

Prog_B

halt

Prog_A

Prog_B

halt

1 2

1 1,1

Monoprogrammatie

Multiprogrammatie

Doorvoer: 1 prog/s

Doorvoer: ±2 prog/s

Page 30: SOCS

30

DoorvoerProg_A

Prog_B

halt

Prog_A

Prog_B

PO_R1

PO_R6

halt

Prog_A

Prog_B

PO_R1

PO_R6

halt

Prog_A

Prog_B

halt

StartI/O

I/Oklaar

I/Oklaar

StartI/O

RealiteitVorige figuur

Page 31: SOCS

31

Werkloos?

Zelden processor 100% bezighouden Zwaar belast: 90 .. 95 % Licht belast: 0 .. 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

Page 32: SOCS

32

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?

Page 33: SOCS

33

Boekhouding

Voor elk programma: gegevensstructuur Inhouden van accumulatoren BT, CC, OVI, … (eerste deel PTW)

Gebruikt bij programmawisseling

R0R1

R9

PTWPro

gr.

A

R0R1

R9

PTWPro

gr.

B

R0R1

R9

PTWPro

gr.

C

Page 34: SOCS

34

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 POgeactiveerd

Page 35: SOCS

35

Inhoud

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

Page 36: SOCS

36

Soorten besturingssystemen

Algemeen Nut(general purpose)

Specifiek Doel(dedicated,embedded)

Niet-interactief Interactief

1 Gebruiker(Single User)

Meerdere gebruikers(Multi-User)

(Time sharing)

= Stapelverwerking(batch system)

Reële tijd(real time)

Vastetijdslimieten

Page 37: SOCS

37

Inhoud

… Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem

Geheugenbeheer Processorbeheer Het beheer van de randapparaten Bestandenbeheer Informatiebeheer Boekhouding

Kosten en Baten

Page 38: SOCS

38

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

Page 39: SOCS

39

Geheugenbeheer

Multiprogrammatie meerdere programma’s gelijktijdig in geheugen

Verschillende algoritmes: Aaneengesloten, gepagineerd, …

A B

C

E

BPD

A1

A2

A3

B1

B2

B3

BP1

BP2

BP3

BP4

E1

E2

D1

D2C1

HW: verspreide delenals 1 geheel laten voorkomen

Page 40: SOCS

40

Geheugenbeheer

Verschillende programma’s bescherming

AB

C

E

BP

D

In uitvoering

Resultaatcorrect ?

Privacygeschonden?

Page 41: SOCS

41

Geheugenbeheer

Geen geheugenbescherming: Elk programma kan in supervisor-mode

uitvoeren!

MAIN: ………

LABEL:…

INV R0,P2UTV R1,P3…

Niet toegestaanin probleem-toestand

Page 42: SOCS

42

Geheugenbeheer

MAIN: ………

LABEL:…

INV R0,P2UTV R1,P3…

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

Uitvoeren inSupervisor-toestand!

Page 43: SOCS

43

Geheugenbeheer

MAIN: HIA.a R0,LABELBIG R0,9991…

LABEL:…

INV R0,P2UTV R1,P3…

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

Page 44: SOCS

44

Geheugenbeheer

MAIN: HIA.a R0,LABELBIG R0,9991…

LABEL:…

INV R0,P2UTV R1,P3…

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

OND 1

Page 45: SOCS

45

Geheugenbeheer

MAIN: HIA.a R0,LABELBIG R0,9991OND 1

LABEL:…

INV R0,P2UTV R1,P3…

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

INV R0,P2 In supervisortoestand!

Page 46: SOCS

46

Geheugenbeheer

Geen geheugenbescherming: IV tegen overschrijven beschermen

Onvoldoende!MAIN: HIA R0,9991

HIA R1,INSTRBIG R1,0(R0)OND 1

INSTR:SPR LABEL

LABEL:…

INV R0,P2UTV R1,P3

Page 47: SOCS

47

Geheugenbeheer

MAIN: HIA R0,9991HIA R1,INSTRBIG R1,0(R0)OND 1

INSTR:SPR LABEL

LABEL:…

INV R0,P2UTV R1,P3

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

HIA R0,9991HIA R1,INSTRBIG R1,0(R0)

9991

Page 48: SOCS

48

Geheugenbeheer

MAIN: HIA R0,9991HIA R1,INSTRBIG R1,0(R0)OND 1

INSTR:SPR LABEL

LABEL:…

INV R0,P2UTV R1,P3

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

OND 1

SPR LABEL

Page 49: SOCS

49

Geheugenbeheer

MAIN: HIA R0,9991HIA R1,INSTRBIG R1,0(R0)OND 1

INSTR:SPR LABEL

LABEL:…

INV R0,P2UTV R1,P3

PO-vectorenPO-vectoren

PO_R1:BIG R0,BEWAAR…

INV R0,P2

SPR LABEL

In supervisortoestand!

Page 50: SOCS

50

Geheugenbescherming

Geheugen

Prog. A

ondergrens

bovengrens

CVOGeheugenbeheer eenheid

bus

Ondergrens

Adres

Bovengrens

<Ja Ja

Neen Neen

Page 51: SOCS

51

Geheugenbescherming

Geheugen

Prog. A0200

1234

CVO

455

Geheugenbeheer eenheid

bus

0200

<

1234

Ja Ja

HIA R0,455

455

Page 52: SOCS

52

Geheugenbescherming

Geheugen

Prog. A0200

1234

CVO

9991

Geheugenbeheer eenheid

bus

0200

<

1234

Ja

Neen

BIG R0,9991

Adres!

Page 53: SOCS

53

Geheugenbeheer

Besturingsprogramma: tabel met vrij/bezet

Beginadres Lengte Toegekend aan …

0000 1140 A

1140 1060 Vrij

2200 2253 B

4453 76 Vrij

4529 1271 C

5800 1150 D

6950 50 Vrij

7000 3000 Besturings-programma

Page 54: SOCS

54

Processorbeheer

Meerdere programma’s wie processor? Keuze gebaseerd op:

Hoogdringendheid (prioriteit) Beurtrol …

Sommige programma’s aan het wachten …

Page 55: SOCS

55

Processorbeheer

afgewerkt

klaar

wachten

uitvoering

passief

Klaar om uitgevoerd te worden

Nog niet in het geheugen gebracht

I/O klaar

Gekozen

Supervisie-oproep (I/O)

Supervisie-oproep (STOP)

Page 56: SOCS

56

Processorbeheer

Besturingssysteem: tabel met info programma’s

Prog. Toestand Prio R0 … PTW

A klaar 10 0000001234 … 0110000123

B klaar 7 0000002341 … 0110011232

C wacht 3 0000000000 … 0110004434

D klaar 1 9999999999 … 0110006545

E passief 15 ??? … ???

Page 57: SOCS

57

Processorbeheer

Timesharing systeem: meerdere gebruikers Tijd eerlijk verdelen Responstijd (reactie-tijd): Elke gebruiker:

Indruk persoonlijke computer ter beschikking

Page 58: SOCS

58

Processorbeheer

Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis

Page 59: SOCS

59

Processorbeheer

Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis

Page 60: SOCS

60

Processorbeheer

Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis Klaar!

Page 61: SOCS

61

Processorbeheer

Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis

Enz.

Page 62: SOCS

62

Processorbeheer

Vóór: CVO gebruikersprogramma: Wekker zetten

Twee mogelijkheden: Gebruikersprogramma doet supervisor-oproep

wachten Wekker afzetten Volgende taak kiezen + eerst wekker instellen

Wekker loopt af Huidige taak tijdelijk uitstellen Volgende taak kiezen + eerst wekker instellen

Page 63: SOCS

63

Processorbeheer

Wekker: Opdrachtpoort: P9 P9 interval

interval > 0 wekker actief (telt af) interval <= 0 wekker inactief

Wekker actief: Elke s: P9 P9 – 1

Indien P9 == 0 PO_vlag[3] 1

Page 64: SOCS

64

Processorbeheer

Besturingsprogramma:…| Stel wekker inHIA R1,intervalUTV R1,P9| Herstel accumulatorenHIA R0,bewaar+0HIA R1,bewaar+1…HIA R9,bewaar+9KTO

bewaar: RESGR 10interval: 1000

Page 65: SOCS

65

PrincipePROG_A

PROG_B

PROG_C

PROG_D

PO_ROUT1PO_ROUT2

PO_ROUT6

halt tijd

ON

D 7

3

KT

O

KT

O

KT

O

KT

O

KT

O

Lezen van schijf: OND 73 PO

6P

O6

KiesProg. I/O (C)

gestartKies Prog.

KiesProg. Kies

Prog.KiesProg.

KT

O

Page 66: SOCS

66

Beheer van randapparaten

Besturingsprogramma: Toestand van elk apparaat bijhouden Opdrachten bijhouden indien apparaat bezig

Bezig (lezen)

CVO: Iets anders

Schrijven op schijf in wachtrij

Page 67: SOCS

67

Beheer van randapparatenApparaat Toestand Opdrachten

Scherm bezig A

Schrijf “xyz = …”

Toetsenbord klaar Beschikbaar

12345, abcde

Drukker klaar ---

Schijf bezig A

Schrijf cil:4,…, Data

B

Lees cil:6,…,Adres

Schijf2 defect ---

Page 68: SOCS

68

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

Page 69: SOCS

69

Bestandenbeheer

Prog.java

Socs.doc

Spel

Inhoudstafel

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

Page 70: SOCS

70

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 | R0dag,R1maand,R2jaar

Page 71: SOCS

71

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

2 april 2006

10:00:00

1.002.100

# PO-en

15:34:02

Referentiedatum + tijd

2 april 2006

Huidigedatum + tijd

20.042 s later

Niet nauwkeurig (PO uitstellen, missen, …)

Page 72: SOCS

72

Informatiebeheer

Bijhouden van de tijd 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)

Page 73: SOCS

73

Informatiebeheer

Samenwerkende programma’s Informatie uitwisselen = Communicatie

A B

A B

| zend(B,boodschap)OND 234

| boodsch = ontvang(A)OND 235

Besturingssysteem

Page 74: SOCS

74

Boekhouding

Ten behoeve van facturatie Commercieel systeem

Statistieken t.b.v. computersysteemplanning Knelpunten Afregelen (Tunen)

Page 75: SOCS

75

Inhoud

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

Baten Kosten Uiteindelijk rendement

Page 76: SOCS

76

Baten

Gebruiksvriendelijkheid Correcte werking

Geprivilegieerde bevelen, … Efficienter

Page 77: SOCS

77

Kosten

Apparatuur 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, …)

Page 78: SOCS

78

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

Page 79: SOCS

79

Cursustekst

Hoofdstuk 4: pag. 146 einde