Lecture 10: Syscalls Flashcards
(11 cards)
Was ist ein System Call?
Aufruf vom User-Space in den Kernel, um Betriebssystem-Funktionen zu nutzen.
Drei typische Beispiele für System-Call-Funktionalität?
Ausgabe auf stdout, Datei-I/O, Speicherallokation.
Assembly-Instruktion zum Ausführen eines Syscalls?
syscall
Wer kapselt Syscalls meist auf C-Ebene?
Die Standardbibliothek libc.
Wo steht der Syscall-Index beim Aufruf?
Im Register rax.
Wo erhält man den Rückgabewert?
Ebenfalls in rax; negative Werte −4095 … −1 kennzeichnen Fehler (errno).
Register-Reihenfolge der ersten sechs Argumente?
rdi, rsi, rdx, r10, r8, r9.
Welche Register überschreibt syscall zusätzlich?
rcx (Rücksprungadresse) und r11 (rflags-Spiegel).
Unterschied zwischen exit (60) und exit_group (231)?
exit beendet nur den Thread, exit_group den gesamten Prozess inkl. aller Threads.
IDs der klassischen Datei-Syscalls read, write, open, close?
0, 1, 2, 3
Warum muss man bei printf weniger auf short writes achten als bei write?
printf ruft intern so oft write auf, bis der komplette Puffer ausgegeben ist.