Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Systemy operacyjne
Systemy operacyjneeasy

Czym jest system call i po co tryby user/kernel?

Tagi
#syscall#kernel#user-mode
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

System call to kontrolowane wejście do jądra dla operacji uprzywilejowanych (I/O, pamięć, procesy). Separacja user/kernel chroni system przed błędnymi lub złośliwymi aplikacjami.

Odpowiedź zaawansowana

Głębiej

System call zapewnia bezpieczeństwo i kontrolę zasobów:

  • Tryb user nie ma bezpośredniego dostępu do sprzętu.
  • Kernel weryfikuje parametry i uprawnienia.
  • Każdy syscall ma narzut (mode switch, walidacje).
  • Buforowanie i async I/O zmniejszają liczbę syscalli.

Przykłady

Przepływ read:

read() -> kernel waliduje FD -> kopiuje dane -> powrót do user

Typowe pułapki

  • Założenie, że syscall jest „darmowy”.
  • Brak walidacji pointerów user w kernelu.
  • Syscall per bajt zamiast buforowania.

Pytania uzupełniające na rozmowie

  • Jak syscalle wpływają na wydajność?
  • Jaka jest różnica między trap a interrupt?
  • Jak mmap zmniejsza liczbę syscalli?