PROCESBEHEER DEEL 2 Flashcards

1
Q

Bespreek de delen van het proces: stack, data, code, PCD?

A

Code is de machinecode die moet uitgevoerd worden.

Data zijn globale variabele, statische data en dynamische variabelen (heap).

Stack zijn de lokale variabelen, parameters, return-values en return-adressen.

PCB is de Process Control Blok met de geheugenconfiguratie, registers, timers en andere.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In welke 5 toestanden kan een proces zijn?

A
 New
Nieuw toegevoegd
 Ready
Klaar om te runnen
 Running
Wordt nu gerunt
 Blocked
Wacht op I/O
 Exit
Hoeft niet meer te runnen, kan afgehandeld worden (opruimen, verwerken voor facturering, …))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Leg de 5 toestanden van een proces uit en geef uitleg bij de overgangen?

A

Een nieuw proces komt in de New state. Van daar uit zal het geadmit worden tot de Ready queue. Hier staan
de processen die klaar zijn om gerund te worden. Uit de ready queue zal
een proces gedispatched worden, zo komt het in de running state. Na een timeout zal het terug in de ready
queue komen. Na een I/O request komt het in de blocked state, en zal het in de overeenkomstige queue gezet
worden. Wanneer de event waar het op wacht dan plaatsvind, kan het terug naar de ready queue. Wanneer
een proces is afgelopen wordt het gereleased en komt het in de Exit state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat is een PCB?

A

PCB staat voor Process Control Block. Het is een datastructuur die informatie over het proces en de huidige toestand ervan bijhoudt. Het bevat onder meer de waarden van de registers, de configuratie van het geheugen, de process ID, de resources die het gebruikt, de kind-processen en enkele timers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

wat is idle time?

A

Alle processen wachten op I/O en er kan dus niets uitgevoerd worden. In batch systemen zal een nieuw proces
worden geladen en zullen er eventueel bestaande processen geswapt worden. In andere systemen kan dit op
verschillende manieren opgelost worden: een oneindige lus; een halt instructie (waaraan manieren voor
stroombesparing kunnen gekoppeld worden); (vanuit initiatief van de user) een nuttige berekening (in de naam
van de wetenschap, bijvoorbeeld projecten als SETI@HOME of FOLDING@HOME).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat gebeurt er tijdens een pre-emptive context switch?

A

Een pre-emptive context switch wordt veroorzaakt door een interrupt. De processor gaat naar kernel mode. De registers en geheugenconfiguratie worden opgeslagen in de PCB, dewelke in de juiste queue wordt gezet. De
processor zoekt een nieuw proces om te starten en zet dit proces in de active queue. Het geheugen wordt geconfigureerd voor het nieuwe proces en de registers worden uit de PCB geladen. De timer wordt voor de volgende context switch ingesteld. De processor gaat naar user mode en jumpt naar het juiste adres.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat is het verschil tussen pre-emptive en non pre-emprive scheduling?

A

Bij non pre-emptive scheduling wordt de controle volledig uit handen gegeven. In plaats van processen te
onderbreken met timers, kiezen processen zelf wanneer ze klaar zijn door te returnen. Dit is eenvoudiger als de
pre-emptive context switch, maar dit kan door de processen misbruikt worden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is een context-switch?

A

Een context-switch is het veranderen van proces. Registers en geheugenconfiguratie van het huidige proces moeten in haar PCB worden gezet, en dezelfde data moet uit het volgende PCB worden ingelezen. Contextswitches zijn vrij zware operaties, vooral door de switch tussen kernel mode en user mode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat is scheduling?

A

Scheduling is het beslissen welk proces als volgende aan de beurt komt. Hier zijn verschillende strategieën voor mogelijk. De doelen zijn: de processortijd eerlijk verdelen over de processen; uithongering (processen die nooit aan de beurt komen) beletten; weinig overhead veroorzaken; prioriteiten respecteren; en eventueel real-time constraints naleven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Bespreek de scheduling strategie X (wat/hoe, voordeel, nadeel)?

A

First Come First Served (FCFS)
FCFS is non pre-emptive. Het kiest het process met de langste wachttijd. Dit process mag uitvoeren tot het een I/O request moet doen of tot het klaar is. Dit heeft het voordeel dat lange processen sneller worden doorlopen. Nadelen, echter, zijn dat korte processen soms lang moeten wachten (= hoge response-tijd) en dat processen met veel I/O trager gaan.

Round-Robin
Deze methode wordt gebruikt in de meeste moderne OSen. Er is een queue van processen, en dit systeem kiest steeds het volgende. Ieder proces krijgt een gelijke time-slice en wordt dan onderbroken door een interrupt (m.a.w. round-robin is pre-emptive). Dit heeft als voordelen dat het systeem een goede response-tijd heeft en dat ieder proces een rechtvaardige behandeling krijgt. Nadeel, echter, is dat I/O gebonden processen minder tijd krijgen (doordat ze door I/O requests worden afgebroken).

Shortest Process Next (SPN)
SPN kiest het proces met de kleinste geschatte tijd en voert dit non pre-emptive uit. Dit heeft als voordeel dat er een snelle responsetijd is. Nadelen zijn dat je moet weten hoe lang een proces zal nodig hebben en dat er mogelijkheid bestaat tot starvation.

Shortest remaining Time (SRT)
SRT kiest het proces met de kleinste (geschatteTijd – uitgevoerdeTijd). Dit wordt pre-emptive uitgevoerd. Als er een nieuw proces bijkomst met een kleinere waarde, wordt het huidige onderbroken. Nadelen zijn dat je moet weten hoe lang een proces zal nodig hebben en dat er mogelijkheid bestaat tot starvation.

Highest Response Ratio Next (HRRN)
HRRN zoekt het proces met de hoogste waarde van de response ratio: ((gewachtteTijd + geschatteTijd) / geschatteTijd) en voert deze non pre-emptive uit. Voordeel is dat korte procesessen snel een grote RR hebben (en dus snel afgewerkt worden), maar ook lange processen die al lang wachten krijgen een steeds hogere RR. Dit zorgt dus voor een evenwicht tussen korte en lange processen. Nadeel is dat de geschatteTijd moet geschat worden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is uithongering (starvation)?

A

Een situatie waarbij bepaalde processen voor langere tijd geen processortijd meer krijgen als bijwerking van de scheduling strategie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly