Besturingssystemen
1 Overzicht van computersystemen (pg 28)
- Besturingssysteem:
o Gebruikt hardwarebronnen van een/meer processors om aantal diensten te verzorgen voor de
gebruikers van het systeem
o Beheert secundaire geheugen en invoer/uitvoer-apparaten (I/O)
1.1 Basiselementen (pg 28)
- Processor:
o Beheert werking van computer
o Voert gegevensverwerking uit
o Soms genoemd als Central Processing Unit
- Hoofdgeheugen:
o Geheugen is vluchtig -> als pc uitgeschakeld wordt, gaat inhoud van geheugen verloren
o Als pc in slaapstand gaat, wordt inhoud van geheugen opgeslagen op harde schijf geheugen
o = reëel geheugen/primair geheugen = RAM ≠ Cache
- I/O-modules:
o Verplaatsen gegevens tussen pc en zijn externe omgeving:
Apparaten voor secundair geheugen (harde schijf, usb-stick, diskettes)
Communicatie-apparatuur
Werkstations
- Systeembus: verzorgt communicatie tussen processors, hoofdgeheugen & I/O-modules
- Computercomponenten op het hoogste niveau:
o Processor wisselt gegevens uit met geheugen -> gebruikt hiervoor 2 interne registers:
MAR (Memory Address
Register) -> hierin is
geheugenadres
vastgelegd voor volgende
lees- of schrijfbewerking
MBR (memory Buffer
Register) -> bevat
gegevens die naar
geheugen worden
geschreven of ontvangt
gegevens die uit
geheugen worden
gelezen
o In I/O-adresregister (I/O AR) is een
bepaald I/O-apparaat vastgelegd
I/O-bufferregister (I/O BR)
wordt gebruikt voor
uitwisselen van gegevens
tussen I/O-module &
processor
o Geheugenmodule bestaat uit
verzameling locaties (-> zijn
doorlopend genummerde
adressen)
Elke locatie bevat bitpatroon die instructie of een gegeven is
o I/O-module draagt gegevens over van externe apparaten naar processor & geheugen en
omgekeerd -> module bevat interne buffers voor tijdelijk opslaan van gegevens voordat deze
kunnen worden doorgegeven
1.2 Evolutie van de microprocessor (pg 30)
- Uitvinding van microprocessor zorgde voor revolutie op vlak van hardware -> je kon computers maken die
in je hand kunt vasthouden
1
,Eline Opsommer 2e jaar Toegepaste ICT-Apps&Gamification
o Was eerste processor die op 1 chip werkte (eerst was dat trager dan multichip processor, maar
intussen geëvolueerd dat het nu veel sneller is)
- Multiprocessors = elke chip (socket) bevat meerdere processoren (kernen, cores) die elk voor iets dienen
- Om te voldoen aan de vereisten van handheld devices heeft de klassieke microprocessor plaats moeten
maken voor de SoC (System on Chip)
o SoC: niet alleen CPU & cache staan op chip, maar ook DSP’s, GPU’s, I/O-devices &
hoofdgeheugen
DSP (Digital signal processing) -> gegevens die digitaal in wiskundige code
weergegeven worden
GPU (Graphics processing unit) -> processor die gebruikt wordt voor videotaken
1.3 Uitvoering van instructies (pg 31)
- programma = verzameling instructies die is opgeslagen in het geheugen
- 2 stappen:
o Processor haalt (fetches) instructies 1 voor 1 op uit geheugen
o & processor voert (executes) elke instructie uit
- Instructiecyclus = verwerking die vereist is voor 1 instructie
- Ophalen & uitvoeren van instructie:
o Processor haalt instructie op uit geheugen
o Program counter (PC) verhogen met 1 (->bevat adres van volgende op te halen instructie)
o Opgevraagde instructie is geladen in instructieregister (IR)
Instructie bevat bits die aangeven welke actie de processor moet uitvoeren -> processor
interpreteert instructie & voert gewenste actie uit
4 soorten acties:
o Processorgeheugen: gegevens overbrengen van processor naar
geheugen of omgekeerd
o Processor-I/O: gegevens uitwisselen met randapparaat door ze te
sturen van processor naar I/O-module & omgekeerd
o Gegevensverwerking: processor doet rekenkundige of logische
bewerkingen op gegevens
o Besturing: volgorde van uitvoering wijzigen door instructie
PC moet voor execute: omdat als counter na de execute staat & de execute zegt van ga naar
510, dan wordt daarna nog een +1 toegevoegd & springen we naar 511 wat verkeerd is
- Eigenschappen hypothetische machine:
- Voorbeeld uitvoering van programma:
o PC bevat 300 (adres 1e instructie) -> instructie (1940) wordt geladen
in IR & PC wordt verhoogd (proces gebruikt MAR & MBR)
2
, Eline Opsommer 2e jaar Toegepaste ICT-Apps&Gamification
o 1e 4 bits (1e hexadecimale cijfer) in IR geven aan dat AC moet worden geladen uit geheugen,
overige 12 bits (andere 3 hexadecimale cijfers) bepalen adres (hier 940)
o Volgende instructie (5941) wordt opgehaald uit locatie 301 & PC wordt verhoogd
o Oude inhoud van AC & inhoud van locatie 941 worden opgeteld & het resultaat wordt
opgeslagen in AC
o Volgende instructie (2941) wordt opgehaald uit locatie 302 & PC wordt verhoogd
o Inhoud van AC wordt opgeslagen in locatie 941
1.4 Interrupts (pg 34)
- Onderbreken de normale verwerking door de processor
- Gebruikt als middel om verwerkingsefficiëntie te verhogen:
o Meeste externe apparaten zijn trager dan processor
o Vb. processor verzendt gegevens naar printer -> na elke schrijfbewerking moet processor
pauzeren & niets doen totdat printer de instructie heeft verwerkt -> verspillend gebruik van
processor
- Types interrupts:
o Programma: door resultaat van uitvoering van instructie (vb. rekenkundige berekening met een te
grote waarde, delen door nul, poging tot uitvoeren van ongeldige machine-instructie, ..)
o Timer: door timer in processor -> hiermee kan BS functies uitvoeren met bepaalde regelmaat
o I/O: door I/O-controller om normale voltooiing van bewerking of fouten te melden
o Hardwarefout: door fouten vb. uitvallen van stroom
- Snel I/O -> groter kans dat processor niet moet wachten
- Traag I/O apparaat -> grotere kans dat processor wel moet wachten
1.4.1 Interrupts en de instructiecyclus (pg 35)
- Control flow zonder interrupts:
o Gebruikersprogramma voert reeks write-aanroepen uit
o Stukjes 1, 2 & 3 verwijzen naar opeenvolgende instructies waarvoor geen I/O
nodig is.
o Write-aanroepen worden verzonden naar I/O-routine
(systeemhulpprogramma die I/O-bewerkingen zal uitvoeren)
o I/O-programma bestaat uit 3 stukken:
4: instructiereeks voor voorbereiden van echte I/O-bewerking (vb.
kopiëren van uit te voeren gegevens naar een buffer &
voorbereiden van parameters voor apparaatopdracht)
Echte I/O-opdracht: programma moet na verzenden van deze
opdracht wachten tot I/O-apparaat de opdracht heeft uitgevoerd
(programma wacht door regelmatig testbewerking uit te voeren
om te kijken of I/O-bewerking klaar is)
5: instructiereeks om bewerking te voltooien (vb. instellen van vlag
die slagen of mislukken van bewerking aangeeft)
o Volledige uitvoering van I/O-bewerking kan lang duren -> I/O-programma
moet lang wachten op voltooien van bewerking -> gebruikersprogramma
wordt op punt van WRITE-aanroep lange tijd gestopt
- Control flow met interrupts: korte I/O-wachttijd
o Met interrupts andere instructies uitvoeren terwijl I/O-bewerking bezig is
o Gebruikersprogramma zal systeemaanroep doen (WRITE)
o I/O-programma is nu enkel voorbereidingscode & I/O-opdracht
o Als instructies zijn uitgevoerd -> besturing teruggeven aan programma
o Intussen is externe apparaat bezig met accepteren & afdrukken van
gegevens uit computergeheugen
o Als externe apparaat klaar is om meer gegevens van processor te
accepteren -> I/O-module verzendt signaal (interrupt request) naar
processor -> processor onderbreekt huidige programma & maakt zijsprong
naar routine voor bedienen van I/O-apparaat (interrupt handler)
o Als
apparaat klaar is ->
terug oorspronkelijke
uitvoering hervatten
3