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