Как системный вызов преобразуется в инструкции ЦП?

Допустим, есть простая программа вроде:

#include<stdio.h>

void main() 
{ 
    int x;
    printf("Cool");
    fd = open("/tmp/cool.txt", O_READONLY)
}

open здесь системный вызов. Я полагаю, когда оболочка запускает его, она делает еще несколько сотен системных вызовов для его реализации? Как насчет объявления типа int x - в какой-то момент должны быть какие-то дополнительные системные вызовы в фоновом режиме для получения памяти из компьютера?

Я не уверен, какова граница между системными вызовами и обычные вещи ... все, в конце концов, нуждается в помощи операционной системы, верно?!

Или это похоже на то, что C генерирует исполняемый файл (код), который может быть запущен на процессоре и не нуждается в помощи ОС. пока не будет достигнут системный вызов - в этот момент он должен что-то сделать, чтобы загрузить инструкции ОС и т. д.

Немного расплывчато :) Пожалуйста, поясните.

13
задан Nishant 4 November 2017 в 10:44
поделиться