OS Hoofdstuk 3 Flashcards

1
Q

what is a process

A

a program in execution, a unit of work in an OS

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

De status van de activiteit van een process wordt gerepresenteerd door …?

A

De waarde van de program counter en de inhoud van de processor’s registers.

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

De geheugen layout van een process bestaat uit de volgende 4 delen:

A

text section, data section, heap section, stack section

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

A program becomes a process when …

A

an executable file is loaded into memory

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

A process can have on of the following 5 states:

A

New: process is being created.
Running: Instructions are being executed.
Waiting: Process is waiting for an event to occur.
Ready: Process is waiting to be assigned to a processor.
Terminated: Process has finished execution.

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

How many processes can have the state running on any core at any instant?

A

One

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

Wat doet de Process control block / task control block?

A

Geeft informatie weer over elk individueel proces:
Process state: new, ready, running, waiting, halted, terminated.
Program counter: geeft address van volgende instructie van het proces.
CPU registers: Kan informatie in opgeslagen worden, deze informatie blijft behouden na een interrupt.
CPU-scheduling information: proces priority, pointers to scheduling queues en andere scheduling.
Memory-management information: value van base en limit registers, page tables/segment tables.
Accounting information: Hoeveelheid cpu en realtime gebruikt, time limits, account numbers of job/proces nummers.
I/O status information: lijst van I/O devices die toegewezen zijn aan proces, lijst met open files.

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

Op systemen die threads supporten is de PCB uitgebreid zodat …

A

het informatie bevat over elke thread

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

What is the objective of multiprogramming

A

To have processes running at all times so that the cpu utilization is maximized.

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

What is time sharing?

A

Switching the CPU core among different processes so that the user can interact with each process at all times.

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

What does the process scheduler do?

A

It looks at the available processes and then makes sure all cpu cores are running a process. If the cpu is single core it will use time sharing to run all the processes on that core. If the cpu is multicore, it will spread the processes among the cores.

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

What does “degree of multiprogramming” mean?

A

The number of processes currently in memory.

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

What is an I/O bound process?

A

A process that spends more time doing I/O than computations.

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

What is a CPU-bound process?

A

Spends more time doing computations than doing I/o

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

What kind of processes can you find in the ready queue?

A

Processes with the state ‘ready’.

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

Een proces die op child-processen / I/O requests moet wachten komt in een cycle waarin het steeds in een wait queue terecht komt, wat gebeurt er als dit proces uiteindelijk wordt geterminate?

A

Het proces wordt uit alle queues gehaald en de resources worden deallocated.

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

Wat is swapping in de context van cpu scheduling?

A

Een proces wordt hier van memory naar een disk geswapped, hier wordt zijn status opgeslagen. Later wordt het weer terug geswapped naar het geheugen. Swapping is alleen nodig over er te veel geheugen wordt gebruikt en dit moet worden vrij gemaakt.

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

Wat is een context switch?

A

Wanneer er bij een proces een state save wordt gedaan en bij een ander proces een state resume. Dit gebeurt bij interrupts wanneer er een ander proces op de cpu moet komen.

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

Wanneer een proces en nieuw proces creëert zijn er 2 mogelijkheden voor executie:

A

1: de parent proces blijft uitvoeren, samen met child processen
2: parent wacht tot child processen zijn geterminate.

20
Q

Wanneer een proces en nieuw proces creëert zijn er 2 mogelijkheden voor address-space:

A

1: child proces is een duplicatie van de parent proces.
2: child proces heeft een nieuw programma ingeladen

21
Q

What is cascading termination?

A

When a parent proces is terminated, all of it’s child processes will also be terminated.

22
Q

what is a zombie process?

A

A process that has been terminated but the parent hasn’t called wait()

23
Q

Welke 2 vormen van interprocess communication (IPC) zijn er?

A

Shared memory en message passing

24
Q

Wat heeft een proces nodig om te kunnen communiceren in direct communication?

A

een naam van de receiver proces.

25
Q

is het symmetrisch of asymmetrisch wanneer 2 processen beide de naam van elkaar moeten weten om te kunnen communiceren?

A

symmetrisch

26
Q

wat voor soort communicatie heeft de volgende kenmerken? de processen kunnen alleen communiceren als ze lid zijn van dezelfde mailbox. Meer dan 2 processen kunnen met elkaar communiceren. tussen elk paar met communicerende processen kunnen meerdere verschillende links zijn met elke link corresponderend met 1 mailbox

A

indirect communication

27
Q

Messages van communicerende processen komen in een tijdelijke queue. Op welke 3 manieren kunnen deze queues geïmplementeerd worden?

A

Zero capacity: de max lengte van de queue is 0, de zender moet blocken tot de ontvanger heeft ontvangen.
Bounded capacity: de queue heeft lengte n, wanneer de queue vol is, moet de zender blocken tot ontvanger wat heeft ontvangen zodat dit weer uit de queue gaat.
unbounded capacity: queue heeft oneindige lengte, de zender blocked nooit.

28
Q

wat kan er in linux in /proc worden gevonden?

A

alle data van een proces

29
Q

wat is het verschil tussen een cooperative en een pre-emptive proces?

A

cooperative wordt niet geinterrupt en runt dus tot het klaar is.
pre-emptive processen kunnen worden geinterrupt

30
Q

wat zijn pipes?

A

een buis die er voor zorgt dat 2 processen kunnen communiceren. dit was een van de eerste IPC mechanismes in UNIX. pipes zijn erg simpel maar er zijn 4 dingen waar je om moet denken. bidirectional of undirectional communication? is er two-way communication? is het dan half duplex of full duplex? moet er een relatie zijn tussen de communicerende processen? moet de pipe over een network communiceren of op hetzelfde apparaat?

31
Q

What are anonymous pipes?

A

Ordinary pipes used by windows, they behave simularly to their unix counter parts. They are undirectional and use parent-child relationships between the communicating processes.

32
Q

What three parameters are passed when creating a pipe on windows?

A

handlers for reading and writing, instance of a STARTUPINFO structure, size of pipe.

33
Q

Wat zijn kenmerken van named pipes?

A

communicatie kan bidirectional zijn, parent-child relationships zijn niet nodig. Wanneer er een named pipe is gemaakt kan deze door meerdere processen gebruikt worden om te communiceren.

34
Q

What does Remote Procedure Call (RPC) do?

A

it is a interprocess communication technique used for client-server communication. The RPC translates a request message from the client and sends to server. When request is received by server it sends response back to client. The client is blocked while server is processing previous call.

35
Q

Welke events vinden plaats binnen een Remote Procedure Call (RPC)?

A

1: client stub wordt aangeroepen door client.
2: Client stub maakt een system call om bericht naar server te sturen en zet parameters in message.
3: Bericht wordt verstuurd van client naar server door OS.
4: Message komt aan bij server stub door server’s OS.
5: Parameters worden uit bericht gehaald door server stub.
6: Server procedure wordt aangeroepen door server stub.

36
Q

Welke system call wordt er op windows gebruikt om een process aan te maken? Welke bij UNIX?

A

Bij windows CreateProcess()

Bij UNIX fork()

37
Q

Wat voor communicatie middel gebruikt Mach bij interprocess communication?

A

Message passing.

38
Q

Waar worden ordinary pipes voor gebruikt?

A

Communicatie tussen parent-child processen.

39
Q

Een ordinary pipe heeft twee eindes, hoe heten deze?

A

Read end en Write end

40
Q

Welk framework gebruikt android om met RPCs interprocess communication te krijgen?

A

Binder framework.

41
Q

`Wat wordt bedoeld met ‘exactly once’?

A

Dat de server exact 1 bericht ontvangt. De client moet dus messages blijven verzenden totdat de server een bericht acknowledged.

42
Q

Wat staat er in de text section van een proces?

A

de executable code

43
Q

Wat staat er in de data section van een proces?

A

global variables

44
Q

wat staat er in de heap section van een proces?

A

geheugen dat dynamisch wordt allocated tijdens runtime

45
Q

wat staat er in de stack section van een proces?

A

tijdelijke data storage voor bijvoorbeeld functie parameters, locale variabelen