Lecture 10: Syscalls Flashcards

(11 cards)

1
Q

Was ist ein System Call?

A

Aufruf vom User-Space in den Kernel, um Betriebssystem-Funktionen zu nutzen.

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

Drei typische Beispiele für System-Call-Funktionalität?

A

Ausgabe auf stdout, Datei-I/O, Speicherallokation.

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

Assembly-Instruktion zum Ausführen eines Syscalls?

A

syscall

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

Wer kapselt Syscalls meist auf C-Ebene?

A

Die Standardbibliothek libc.

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

Wo steht der Syscall-Index beim Aufruf?

A

Im Register rax.

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

Wo erhält man den Rückgabewert?

A

Ebenfalls in rax; negative Werte −4095 … −1 kennzeichnen Fehler (errno).

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

Register-Reihenfolge der ersten sechs Argumente?

A

rdi, rsi, rdx, r10, r8, r9.

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

Welche Register überschreibt syscall zusätzlich?

A

rcx (Rücksprungadresse) und r11 (rflags-Spiegel).

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

Unterschied zwischen exit (60) und exit_group (231)?

A

exit beendet nur den Thread, exit_group den gesamten Prozess inkl. aller Threads.

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

IDs der klassischen Datei-Syscalls read, write, open, close?

A

0, 1, 2, 3

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

Warum muss man bei printf weniger auf short writes achten als bei write?

A

printf ruft intern so oft write auf, bis der komplette Puffer ausgegeben ist.

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