TQ - OS-konsepter Flashcards

Theory Questions

1
Q

Hva menes med preemptive og non-preemptive OS?

A

Preemptive betyr at man kan ta vekk CPU fra en prosess (typisk ved hvert klokkeinterrupt). I non-preemptive må prosessen selv gi fra seg kontrollen (naturlig interrupt).

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

Hva mener man med monolittisk OS? Nevn eksempel.

A

Hele kjernen fungerer som et samlet program hvor alle funksjoner er inkludert. Linux og delvis Windows er eksempler.

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

Forklar sammenhengen mellom kommandolinje, systemkall og programvareinstruksjoner. Gi eksempler

A

Systemkall kan startes i et linje i et C-program (read, fork).
En kommando gis til OS fra kommandolinjen. En kommando er et program, inneholder systemkall (ls, cat).
En instruksjon er en linje i et assemblyprogram (add, mov)

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

Hva er forskjellen på trap og interrupt?

A

Traps are gay

Nei men forreal. Trap er software-interrupt, mens et interrupt er generert av hardware.

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

Vi har gitt følgende c-program:

main() {
  int p;
  p = fork();
  printf ("%d \n", p);
}

Hvilke utskrifter kan vi få når denne koden kjøres om vi forutsetter at fork() - systemkallet ikke feiler? Forklar hva tallene i utskriften faktisk betyr.

A

0
child pid

eller

child pid
0

0 er den child-prosessen sin PID. Det er ikke bestemt i koden hvilken rekkefølge forken vil skje, så derfor kan man få begge utfallene.

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