系统调用如何转换为CPU指令?

时间:2011-04-06 17:59:55

标签: c system-calls

假设有一个简单的程序,如:

#include<stdio.h>

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

此处open是系统调用。我想当shell运行它时,它会进行一些其他系统调用来实现它吗?像int x这样的声明怎么样 - 在某些时候它应该在背景中有一些额外的系统调用来从计算机获取内存?

我不确定系统调用与普通内容之间的界限是什么......最终,一切都需要操作系统的帮助吗?!

或者就像C生成一个可执行程序(代码),它可以在处理器上运行,在达到系统调用之前不需要OS帮助 - 此时它必须做一些事情来加载OS指令等...

有点模糊:)请澄清。

1 个答案:

答案 0 :(得分:29)