因为我可以。
度过美好的时光是我参加这个项目 +我学到了很多很酷的低水平东西!
Cavos内核是一种单片X86_64,其中一个用相对简单的C编写,并在这里和那里编写一些Intel组件。它使用limine引导加载程序,并利用FAT32文件系统以及用于根部分区的EXT2进行引导。我尝试保持代码结构清洁且相当易于理解,同时避免过多抽象。因此,有时将代码质量和清晰度优先于性能提高。
当时,用户空间是我的主要重点,内核非常稳定。我正在尝试使该操作系统尽可能接近Linux,同时在其上添加自己的东西。与Linux的系统调用相当可见。这不是随机的,我希望Cavos尽可能与之兼容!
不! Cavos内核不与Linux共享源代码或标题。 Linux源代码是在用户空间组装过程中拉出的,但这仅仅是因为某些第三方(移植)程序取决于其标题。即使那样,也没有共享实际代码。
重要的是要提及这些目标可能永远不会得到满足,需要很长时间才能完成(我们在路上谈论了几年),或者根本不可能完成。此外,此列表不会包括实施或计划的所有功能,并且可以随时更改...
systemcall 有关此的所有内容都可以在install.md上找到。去那里以获取有关正确构建操作系统的更多信息,清洁未使用的二进制文件和其他东西。
2024年3月2日(星期六)。通过许多解决方法,“不良”决定和霸道的“正当工作”的心态,我将纯粹的X86(32位)内核拼凑在一起,可以不可避免地会为用户空间应用。仍然坚持旧的代码(当我几乎不了解简单概念,例如分页),过时的库和许多其他内容。有时可以起作用,但我不满意。
下午5:00;那天下午,我决定开始一个漫长的过程,将所有内容迁移到X86_64架构并解决了许多可靠性问题,这使实际的噩梦进行了调试。我基本上达到了一定的观点,以了解快速和dity解决方案只会导致完全避免的错误,这在添加了大量抽象后很难确定。
该项目是根据GPL V3(GNU通用公共许可证v3.0)许可的。有关更多信息,请转到许可证文件。