Системный вызов — контролируемое обращение программы к функциям ядра: работе с файлами, процессами, памятью, сетью и другими защищёнными ресурсами.
Что такое системные вызовы?
Системный вызов — контролируемое обращение программы к функциям ядра: работе с файлами, процессами, памятью, сетью и другими защищёнными ресурсами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Системный вызов — контролируемое обращение программы к функциям ядра: работе с файлами, процессами, памятью, сетью и другими защищёнными ресурсами.
Программа передаёт номер операции и аргументы по ABI платформы, процессор переходит в предусмотренный привилегированный режим, ядро проверяет параметры и права и возвращает результат. Пользовательский код не получает произвольный доступ к памяти ядра.
Обычно разработчик вызывает библиотечную обёртку, например read или open. Не каждая функция libc приводит к системному вызову: часть работы выполняется полностью в user space, а часть функций может использовать другие механизмы. Переход в ядро имеет накладные расходы, поэтому важно избегать бессмысленных мелких вызовов, но не обходить проверки безопасности.