Intro OS Flashcards

1
Q

Hvilken generelle data registere har vi i IA32?

A

Følgende fire registere kan brukes som ‘general purpose registers’, men hver har også en spesialisert hensikt.

EAX - Dedicated accumulator which is used for all major calculations. (At 000)

ECX - The universal loop counter which has a special interpretation for loops. (At 001)

EDX - The data register, which is an extension to the accumulator, stores data relevant to the operation applied to the accumulator. (At 010)

EBX - Currently used for free storage but was originally used as a pointer in 16-bit mode. (At 011)

Each of these registers also have 16-bit or 8-bit subset names.

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

Hvilken generelle adresse registere har vi i IA32?

A

Brukes kun for address pointing.

ESP (At 100) - Stack pointer. Is used to hold the top address of the stack.

EBP (At 101) - Base pointer. Is used to hold the address of the current stack frame. It is also sometimes used as free storage.

ESI (At 110) - Source index. Commonly used for string operations. It has a one-byte opcode for loading data from memory to the accumulator.

EDI (At 111) - Destination index. Commonly used for string operations. Has a one-byte STOS instruction to write data out of the accumulator.

EIP Instruction pointer. Holds the current instruction address

They have 16-bit subset names, but no 8-bit subsets.

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

Hva brukes en stack-frame base pointer til?

A

En stack er typisk delt inn i frames. Og hver frame kan inneholde lokale variabler, parametere som skal sendes til andre prosedyrer, og ‘procedure linking information’..

Stackframe base pointeren (som er holdt i EBP registeret) identifiserer et fixed referanse punkt innen stack framen for den kallte prosedyren.

Den gir en lett aksess til data strukturer som er passed on til stacken, til return instruction pointeren, og lokale variabler som er lagt til på stacken av ‘the called procedure’.

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

Hva er et OS?

A

It is an extended machine (top-down view)

  • Hides the messy details.
  • Presents a virtual machine, easier to use.

It is a resource manager (bottom-up view)
- Each program gets time/space on the resource.

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

Hvilken kategorier av OS har vi?

A

Single-user, singel-task
- Historisk, og sjelden i dag.

Single-user, multi-tasking
- PC-er og arbeidsstasjoner kan være konfigurert som dette, typisk mobiler i dag.

Mulit-user, multi-tasking
- Mye i bruk, gamle mainframes, og i dag for håndholdte, PC-er, arbeidsstasjoner og servere.

Distributed OSes
- Support for administrering av distribuerte ressursser.

Realt-time OSes:
- Support for systemer med sanntids krav, slik som biler, kjernereaktorer o.l.

Embedded OSes:
- Innebyggd i en enhet for å kontrollere en spesifikk type equipment som mobiler, mikrøbølgeovner, vaskemaskiner, etc.

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

Hva er det som definerer interfacet mellom OS’et og brukere?

A

Et set med forskjellige systemkall.

Å gjøre et systemkall ligner på å kalle en prosedyre eller funksjon, men systemkall går inn i kjernen (OS’et).

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

Hvilken to namespaces deler vi et OS?

A

User space og kernel space

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

Hvilken steg inneholder et systemkallet read?

count = read(fd,buffer,nbyte)

A
  1. Parametere blir pushet på stacken.
  2. Applikasjonen kaller biblioteks (library) code.
  3. Plasserer systemakall nummeret i registeret.
  4. Kaller kjernen (TRAP / exceptioninstruksjon)
    - Kjener undersøker systemkall nummeret.
    - Finner så den forrespurte systemkall handleren
    - Eksekverer den forrespurte operasjonen
  5. Returnerer til bibliotek og gjør cleanup.
    - Øker instruksjons pekeren
    - Fjerner parametere fra stacken
  6. Fortsetter prosessen (applikasjonen).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hva er en interrupt?

A

Interrupts er elektroniske signaler som (vanligvis) resulterer i en tvunget overføring av kontroll til en interrupt handling routine.

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

Hva slags events forrårsaker en interrupt?

A

Interrupts forrårsakes av asynkrone hendelser som når en disk operasjon er ferdig, innkommende nettverkspakker, eller utgåtte timers.

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

Hva er en IDT (ifht. interrutps)

A

En IDT er en forkortelse for et interrupt description table.

En IDT assosierer hver interrupt med en code descriptor (pointer to code segment).

Brukes altså av prosessoren for å avgjøre den korrekte responsen til interrupts og exceptions.

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

Hva slags events forrårsaker en exception?

A

Exceptions forrårsakes av synkrone hendelser generert når prosessoren oppdager en predefinert betingelse når den eksekverer en instruksjon.

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

Hvilken type exceptions har vi?

A

TRAPS
- The processor reaches a condition the exception handler can handle (e.g., overflow, break point in code like making a system call, …).

FAULTS
- The processor reaches a fault the exception handler can correct (e.g., division by zero, wrong data format, …) .

ABORTS
- Terminate the process due to an unrecoverable error (e.g., hardware failure) which the process itself cannot correct.

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

Responderer prosessoren forskjellig på interrupts og exceptions?

A

Nei, i hovedsak blir de håndtert på samme måte ved at prosessoren sjekker signalet opp mot en IDT for å avgjøre den korrekte responsen (hvilket kode segment som må kjøres).

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

Hva er forskjellen på User Level og Kernel Level?

A

Applikasjoner og flere sub-systemer kjører som regel i user mode (level 3)

  • Protected mode.
  • Ikke tilgang til HW eller device drivere direkte, kun via API.
  • Aksess kun til tildelt minne.
  • Begrenset instruksjon set.

OS kjører i kernel mode

  • Real mode.
  • Aksess til hele minnet.
  • Alle instruksjoner kan bli eksekvert.
  • Bypasser sikkerhet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hva er en monolittiske kjerne?

A

“The big mess”

  • Skrevet som en smaling av funksjoner lenket til et single object.
  • Vanligvis effektivt (ingen boundaries å krysse).
  • Store, komplekse, og lett å krasje.
  • UNIX, Linux, Windws 7 (++), ..
17
Q

Hva er mikro kernels?

A

En mikro kernel har minimal funksjonalitet (håndtere interrupts, minnet, prosessoren).

  • Andre tjenester er implementert i server prosesser som kjører i user space med en klient-server model.
  • Mye meldinger frem og tilbake (ueffektivt)
  • Mindre, modulær, utvidbar, portabel, …
  • MACH, L4, Chorus, Windows NT, ..