SOCS
-
Upload
adrian-jensen -
Category
Documents
-
view
23 -
download
0
description
Transcript of SOCS
![Page 1: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/1.jpg)
1
SOCS
Hoofdstuk 4
Besturingssystemen
![Page 2: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/2.jpg)
2
Inhoud
Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Kosten en Baten
![Page 3: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/4.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/5.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/9.jpg)
9
Probleem-, Supervisietoestand
Besturingsprogramma
Gebruikersprogramma
Ik mag allesIk mag niet alles!
CVO moet weten welk programma uitgevoerd wordt!
![Page 10: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/10.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/11.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/13.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/14.jpg)
14
Geprivilegieerde bevelen
UitgevoerdUitgevoerdPOPO99
UitgevoerdUitgevoerdUitgevoerdUitgevoerd
Probleem-Probleem-toestandtoestand
Supervisie-Supervisie-toestandtoestand
Niet-Niet-geprivilegieerdgeprivilegieerdbevelbevel
GeprivilegieerdGeprivilegieerdbevelbevel
![Page 15: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/15.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/16.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/17.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/18.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/19.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/20.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/21.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/22.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/23.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/24.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/25.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/26.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/27.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/28.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/29.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/30.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/31.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/32.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/33.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/34.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/35.jpg)
35
Inhoud
Inleiding Programmatoestandswoord Programma-onderbrekingen Invoer en uitvoer Processortoestanden Multiprogrammatie Soorten Besturingssystemen Taken van een besturingssysteem Kosten en Baten
![Page 36: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/36.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/37.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/38.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/39.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/40.jpg)
40
Geheugenbeheer
Verschillende programma’s bescherming
AB
C
E
BP
D
In uitvoering
Resultaatcorrect ?
Privacygeschonden?
![Page 41: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/41.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/42.jpg)
42
Geheugenbeheer
MAIN: ………
LABEL:…
INV R0,P2UTV R1,P3…
PO-vectorenPO-vectoren
PO_R1:BIG R0,BEWAAR…
Uitvoeren inSupervisor-toestand!
![Page 43: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/43.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/44.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/45.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/46.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/47.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/48.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/49.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/50.jpg)
50
Geheugenbescherming
Geheugen
Prog. A
ondergrens
bovengrens
CVOGeheugenbeheer eenheid
bus
Ondergrens
Adres
Bovengrens
<Ja Ja
Neen Neen
![Page 51: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/51.jpg)
51
Geheugenbescherming
Geheugen
Prog. A0200
1234
CVO
455
Geheugenbeheer eenheid
bus
0200
<
1234
Ja Ja
HIA R0,455
455
![Page 52: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/52.jpg)
52
Geheugenbescherming
Geheugen
Prog. A0200
1234
CVO
9991
Geheugenbeheer eenheid
bus
0200
<
1234
Ja
Neen
BIG R0,9991
Adres!
![Page 53: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/53.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/54.jpg)
54
Processorbeheer
Meerdere programma’s wie processor? Keuze gebaseerd op:
Hoogdringendheid (prioriteit) Beurtrol …
Sommige programma’s aan het wachten …
![Page 55: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/55.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/56.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/57.jpg)
57
Processorbeheer
Timesharing systeem: meerdere gebruikers Tijd eerlijk verdelen Responstijd (reactie-tijd): Elke gebruiker:
Indruk persoonlijke computer ter beschikking
![Page 58: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/58.jpg)
58
Processorbeheer
Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis
![Page 59: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/59.jpg)
59
Processorbeheer
Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis
![Page 60: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/60.jpg)
60
Processorbeheer
Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis Klaar!
![Page 61: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/61.jpg)
61
Processorbeheer
Te Doen:1. Practicum Perl2. Practicum BvP3. SOCS studeren4. Vakantiebrochures5. Karweien thuis
Enz.
![Page 62: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/62.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/63.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/64.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/65.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/66.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/67.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/68.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/69.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/70.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/71.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/72.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/73.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/74.jpg)
74
Boekhouding
Ten behoeve van facturatie Commercieel systeem
Statistieken t.b.v. computersysteemplanning Knelpunten Afregelen (Tunen)
![Page 75: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/75.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/76.jpg)
76
Baten
Gebruiksvriendelijkheid Correcte werking
Geprivilegieerde bevelen, … Efficienter
![Page 77: SOCS](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/77.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/78.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081519/568130e8550346895d970582/html5/thumbnails/79.jpg)
79
Cursustekst
Hoofdstuk 4: pag. 146 einde