我在这里看到了Linux系统调用列表:
http://syscalls.kernelgrok.com/
如果我编写一个实现上述链接中列出的所有系统调用的新内核,内核是否可以运行为Linux编译的所有程序?
它会兼容Linux吗?
答案 0 :(得分:4)
内核可以运行所有程序
本身 内核可以...... 没什么用处。
您需要操作系统(OS)来运行程序并执行其他常规操作。除内核外,OS还包括动态加载程序,(标准)库,(标准)实用程序以及许多其他功能。
但是,您可以将您的内核与Linux操作系统一起使用。 (这就是"重建内核"意思是:替换内核,但保持其他操作系统组件相同)。
不好的是,除了系统调用之外,内核应该包含驱动程序,既包括硬件(视频卡,硬盘驱动器等),也包括软件(如文件系统,由Linux在内核中)。在任何计算机上启动,输出到监视器,从磁盘读取程序等都需要驱动程序
此外,系统调用不是Linux内核和用户空间之间的唯一接口。为了使内核能够与Linux OS一起工作,您需要提供像<{1}}这样的特殊文件系统:许多Linux实用程序和程序希望在此处找到合适的文件。