CPU: Prosesser Flashcards

1
Q

Hva gjør system kallet fork?

pid_t fork(void)

A

Lager en duplikat av den kallende prosessen inkludert en kopi av det virtuelle adresse spacet, åpne fildeskriptorer, og lignende.

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

Hva gjør system kallet execve?

int execve(char *filename, char *params[], char *envp[])

A

Eksekverer programmet som bli pekt på av filname og bruker parameterene gitt i params og environment gitt av envp.

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

Hva gjør systemkallet wait?

pid_t wait(int *status)

A

Venter til any av barneprosessene terminerer (om det er en kjørende barneprosess).

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

Hvilken måter kan en prosess terminere?

A

Ingen flere instruksjoner å eksekvere i programmet, ukjent status verdi.

En funksjon i programmet blir ferdig med en return. Parameter to return the status value.

Et systemkall til void exit(int status). Terminerer en prosess og returns status value.

Et systemkall til int kill(pid_t pid, int sig). Sender et signal til en prosess for å terminere den.

Usually, a status value of 0 indicates success, other values indicate errors.

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

Hvilken prosess tilstander har vi?

A

Running, Blocked og Ready

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

Hva er en context switch?

A

Prosessen av å bytte en kjørende prosess med en annen.

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

Hvilken hoved steg krever en context switch fra prosess 1 til prosess 2?

A
  1. Stop kjørende prosess 1
  2. Lage tilstanden (registere, instruksjons pekere) til prosess 1, vanligvis på stacken eller PCB.
  3. Gjennopprette tilstanden for prosess 2.
  4. Fortsette operasjon på program counter for prosess 2.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hva er tråder og hvordan er de forskjellige fra prosesser?

A

Tråder kan ses på som light-weight prosesser.

  • Gir mer effektivt sammarbeid mellom eksekverings units.
  • Deler mange prosess ressurser (f.eks. address space).
  • Har egen state, stack, prosessor registere og program counter.
  • Ingen minne addresse switch.
  • Billigere å switche ut tråder (enn prosesser/context switch).
  • Parallel eksekvering av samtidige oppgaver innen en prosess.

(Som illustrasjon så kan en tenke tå tråder kjører innen for en prosess, og deler addresse space og globale prosess data, men har sin egen state, register, program counter, stack)

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