Assembly 编写Linux兼容内核

Assembly 编写Linux兼容内核,assembly,linux-kernel,x86,operating-system,Assembly,Linux Kernel,X86,Operating System,我在这里看到了Linux系统调用列表: 如果我编写一个新内核来实现上面链接中列出的所有这些系统调用,那么该内核可以运行为Linux编译的所有程序吗? 它是否与Linux兼容 内核可以运行所有的程序吗 内核本身可以。。。没什么用 您需要操作系统操作系统来运行程序和执行其他常规操作。除了内核之外,操作系统还包括动态加载程序、标准库、标准实用程序和许多其他东西 但是,您可以将内核与Linux操作系统一起使用。这就是重建内核的含义:替换内核,但保持其他操作系统组件不变 不好的是,除了系统调用之外,内核还

我在这里看到了Linux系统调用列表: 如果我编写一个新内核来实现上面链接中列出的所有这些系统调用,那么该内核可以运行为Linux编译的所有程序吗? 它是否与Linux兼容

内核可以运行所有的程序吗

内核本身可以。。。没什么用

您需要操作系统操作系统来运行程序和执行其他常规操作。除了内核之外,操作系统还包括动态加载程序、标准库、标准实用程序和许多其他东西

但是,您可以将内核与Linux操作系统一起使用。这就是重建内核的含义:替换内核,但保持其他操作系统组件不变

不好的是,除了系统调用之外,内核还应该包含驱动程序,既可以用于硬件视频卡、硬盘驱动器等,也可以用于由Linux在内核中实现的文件系统等软件。在任何计算机上启动、输出到监视器、从磁盘读取程序等都需要驱动程序

此外,系统调用不是Linux内核和用户空间之间的唯一接口。为了使您的内核能够与Linux操作系统一起工作,您需要提供特殊的文件系统,如sysfs:许多Linux实用程序和程序希望在这里找到合适的文件

内核可以运行所有的程序吗

内核本身可以。。。没什么用

您需要操作系统操作系统来运行程序和执行其他常规操作。除了内核之外,操作系统还包括动态加载程序、标准库、标准实用程序和许多其他东西

但是,您可以将内核与Linux操作系统一起使用。这就是重建内核的含义:替换内核,但保持其他操作系统组件不变

不好的是,除了系统调用之外,内核还应该包含驱动程序,既可以用于硬件视频卡、硬盘驱动器等,也可以用于由Linux在内核中实现的文件系统等软件。在任何计算机上启动、输出到监视器、从磁盘读取程序等都需要驱动程序


此外,系统调用不是Linux内核和用户空间之间的唯一接口。要使内核与Linux操作系统协同工作,您需要提供特殊的文件系统,如sysfs:许多Linux实用程序和程序希望在此处找到合适的文件。

它将能够运行Linux程序,但典型的Linux程序希望出现的不仅仅是一系列系统调用。获得完全的Linux兼容性需要更多的工作。@fuz一个典型的Linux程序还需要什么?有可能实现它们吗?一个动态加载程序,一组共享库,一组配置文件,本地化数据,诸如此类。你不能真正实现这些东西,因为它们是略微标准化的,非常复杂,但你可以将它们放在你的系统上,供Linux程序使用。Linux编译的可执行文件是ELF格式的。因此,你正在设计的内核应该能够识别它。我建议你设计一些新的东西,不管你是为了好玩,还是为了使用它。在前一种情况下,编写一个与Linux兼容的内核就失去了所有的乐趣。在后一种情况下,考虑到Linux已经有25年的开端了。当然,这只是我的观点,我知道的最多的是什么?人们会不同意我的观点,但要有更广阔的视野,你需要了解双方。它将能够运行Linux程序,但典型的Linux程序期望的不仅仅是一堆系统调用。获得完全的Linux兼容性需要更多的工作。@fuz一个典型的Linux程序还需要什么?有可能实现它们吗?一个动态加载程序,一组共享库,一组配置文件,本地化数据,诸如此类。你不能真正实现这些东西,因为它们是略微标准化的,非常复杂,但你可以将它们放在你的系统上,供Linux程序使用。Linux编译的可执行文件是ELF格式的。因此,你正在设计的内核应该能够识别它。我建议你设计一些新的东西,不管你是为了好玩,还是为了使用它。在前一种情况下,编写一个与Linux兼容的内核就失去了所有的乐趣。在后一种情况下,考虑到Linux已经有25年的开端了。当然,这只是我的观点,我知道的最多的是什么?人们会不同意我的观点,但要有更广阔的视野,你需要了解双方。是的,请看一下/proc和/sys下的所有内容,这只是开始;你也可以重新实现大部分或全部。感谢所有的帮助…我决定不让它与Linux兼容…我同意@glauxosdeveryep,看看/proc和/sys下的所有内容,仅供初学者使用;您也可以重新实现大部分或全部功能。感谢您的帮助…我决定不让它与Linux兼容…我同意@glauxosdever