Hoofdstuk 3 Flashcards
Hoe ga je van een programma naar iets dat de cpu kan interpreteren?
Een programma geschreven in een programeertaal kan niet direct uitgevoerd worden door de hardware.
Je moet het omzetten naar een instructieset -> compileren.
Welke soorten processors zijn er?
x86 -> oude 32bit instructieset gebruikt door intel en amd computers
x86-64 -> nieuwe versie van x86.
ARM -> gebruikt door raspberry pi, tablets,smartphones etc door lage kost
MIPS -> tablets,smartphones,embedded systems
8051
en
JVM -> omgezet naar bytecode, kan door cpu gebruikt worden als het toestel ook jvm geinstalleerd heeft.
Welke 2 stappen heeft een instructieset?
Fetch -> neemt de volgende instructie op
Execute -> voert de opgehaalde instructie uit.
Wat zit er allemaal in een CPU register
PC -> bevat een counter die bijhoudt welke instructie het is
AC -> accumulator wordt gebruikt voor tussenstappen.
IR -> analyseert de bits van de instructie zodat het weet wat het moet doen
Wat zijn interrupts?
Dit is wanneer er een onderbreking is in de cyclus.
na elke cyclus moet je kijken of er een interrupt is opgetreden.
als dit zo is moet je de cyclus onderbreken,toestand opslaan en een fetch-execute-cyclus en een content switch dit is de interupt handler
daarna kan het weer verder.
Wat zijn binaries?
Dit is de gecompileerde versie van een programma dat een os kan interpreteren.
Wordt opgeslaan in de harde schijf.
als je ze inlaadt komt die in de ram van de computer
Wat kan OS allemaal door processen?
De computer kan meerdere programmas tegelijkertijd uitvoeren en kan programmas beheren die worden uitgevoerd
Wat is de adress space van een proces?
Een proces kan maar een bepaald gedeelte van de ram aanspreken dit is zijn ruimte.
Leg de proces image uit?
dit is hoe een process eruitziet in het ram-geheugen.
tekst -> instructies.
data -> globale variabelen
stack -> tijdelijke opslag voor instructies,variabelen etc…
Heap -> als je iets groot moet opslaan , maar wat bewaard wordt moet je zelf verwijderen.
Wat is een proces control block?
Een element in een proces table -> deze bevat info over id,staat, en om te beheren
Wat is een proces table?
Een table met een verzameling van processen.
Welke soorten processen zijn er?
interactief-proces -> opstarten met een dubbelklik,kan in de forground dan kan je terminal niet gebruiken en kan in background dan kan je terminal wel gebruiken na opstart
batch-processen -> verzameling van processen die in wachtrij wordt geplaatst wachtend op uitvoering.
ze worden 1 per 1 uit de wachtrij gehaald
daemons -> services die continu draaien en wachten in de achtergrond voor gebruik.
Hoe onstaan processen?
bij opstarten start het proces met pid 1 -> moeder van alle processen
alle andere processen worden aangemaakt als kinderen van de ouderprocessen.
er zijn 2 functies om een proces te maken
fork -> maakt een kopie van een process in de ram.
vervangt de pid in met een ongebruikte pid
vult de ppid in met de pid van de ouder.
exec -> de kopie van de fork wordt overschreven met de juiste waarden die nodig zijn,instructies,functies etc
Wat gebeurt er als een proces wordt afgesloten?
het procesbeeld wordt verwijderd en alle gebruikte resources worden vrijgegeven.
pcb wordt nog niet verwijderd omdat ouder moet weten waarom het is gestopt.
Redenen waarom een proces zou stoppen?
Het proces is afgewerkt of er is een fout. of het proces is onderbroken door een ander.