【发布时间】:2013-07-26 07:04:54
【问题描述】:
几天前我开始研究操作系统概念,但我已经遇到了一些问题。 主要是我对系统调用很好奇。 我了解到每个操作系统都提供了自己的 API (如Windows for Windows API,Linux for libc 等)
我开始感到困惑的是包装函数。 例如 Linux 有一个 fork() 包装函数。 这是否意味着此函数内部的算法执行系统调用例程 基于操作系统的系统调用表? 而且我不明白它是用 C 语言编写的。 这是否意味着它正在使用 C 标准库?还是只是 C 编译器? 此外,即使 C 编译器如何编译它的标准库 有不同种类的编译器,如 GCC windows C 编译器等? 我很好奇的是,C 标准库函数也调用系统调用对吗? 但它可能必须调用不同的系统调用才能在不同的操作系统中获得相同的输出,对吗? 这是否意味着,即使它是相同的标准 C 函数,系统调用 内部实现因操作系统而异?
我真的想要一个系统调用的好概念 plz :)
【问题讨论】:
标签: operating-system