Допустим, есть простая программа вроде:
#include<stdio.h>
void main()
{
int x;
printf("Cool");
fd = open("/tmp/cool.txt", O_READONLY)
}
open
здесь системный вызов. Я полагаю, когда оболочка запускает его, она делает еще несколько сотен системных вызовов для его реализации? Как насчет объявления типа int x
- в какой-то момент должны быть какие-то дополнительные системные вызовы в фоновом режиме для получения памяти из компьютера?
Я не уверен, какова граница между системными вызовами и обычные вещи ... все, в конце концов, нуждается в помощи операционной системы, верно?!
Или это похоже на то, что C генерирует исполняемый файл (код), который может быть запущен на процессоре и не нуждается в помощи ОС. пока не будет достигнут системный вызов - в этот момент он должен что-то сделать, чтобы загрузить инструкции ОС и т. д.
Немного расплывчато :) Пожалуйста, поясните.