我在这里看到了Linux系统调用的列表:
http://syscalls.kernelgrok.com/
如果我编写了一个实现上述链接中列出的所有这些系统调用的新内核,那么内核能够运行所有为Linux编译的程序吗?
它会与Linux兼容吗?
发布于 2017-01-27 18:27:55
内核能运行所有的程序吗?
内核本身可以.没有任何有用的。
您需要操作系统(OS)来运行程序和做其他通常的事情。除了内核之外,OS还包括动态加载器、(标准)库、(标准)实用程序和许多其他东西。
但是,您可以在Linux操作系统中使用您的内核。(这就是“重新构建内核”的意思:替换内核,但保持其他OS组件不变)。
糟糕的是,除了系统调用之外,内核还应该包含驱动程序,包括硬件(视频卡、硬盘等)和软件(比如文件系统,它们是由内核中的Linux实现的)。在任何计算机上引导、输出到监视器、从磁盘读取程序等都需要驱动程序。
此外,系统调用不是Linux内核和用户空间之间的唯一接口。为了让内核使用Linux,您需要提供特殊的文件系统,比如sysfs:许多Linux实用程序和程序都希望在这里找到合适的文件。
https://stackoverflow.com/questions/41897436
复制相似问题