TQ - OS-konsepter Flashcards
Theory Questions
Hva menes med preemptive og non-preemptive OS?
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).
Hva mener man med monolittisk OS? Nevn eksempel.
Hele kjernen fungerer som et samlet program hvor alle funksjoner er inkludert. Linux og delvis Windows er eksempler.
Forklar sammenhengen mellom kommandolinje, systemkall og programvareinstruksjoner. Gi eksempler
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)
Hva er forskjellen på trap og interrupt?
Traps are gay
Nei men forreal. Trap er software-interrupt, mens et interrupt er generert av hardware.
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.
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.