编写符合POSIX标准的内核

Eya*_*ron 7 c operating-system kernel

我现在想写一个内核已有一段时间了.我已经对C有足够的了解,而且我已经涉足x86汇编程序了.你知道,我想在C中编写一个符合POSIX标准的内核,以便*NIX应用程序可以移植到我的操作系统中,但是我没有在标准POSIX内核函数上找到很多资源.我在Open Group的POSIX页面上找到了有关文件系统结构,环境变量等的资源.

不幸的是,我没有找到任何解释POSIX兼容内核必须具有的调用和内核函数的东西(换句话说,内核必须遵守POSIX的内部结构类型).如果有人能找到这些信息,请告诉我.

bdo*_*lan 11

POSIX根本没有定义内核的内部结构,内核到用户空间的接口,甚至libc.实际上,即使Windows也有一个符合POSIX标准的子系统.只需确保链接上定义的POSIX接口以某种方式工作.但是请注意,POSIX不需要在内核中专门实现任何内容 - 如果您愿意,可以使用您自己设计的更简单的内核接口在C库中实现.

碰巧许多POSIX兼容的操作系统(BSD,Linux等)在许多调用和内核层之间有着相当密切的关系,但也有例外.例如,在Linux上,write()调用是直接系统调用,sys_write()在内核中调用函数.但是在Windows上,write()是在POSIX支持DLL中实现的,它将文件描述符转换为NT句柄并调用NtWriteFile()服务它,然后调用它来调用相应的系统调用ntoskrnl.exe.所以你在如何做事方面有很多自由 - 这会让事情更难,如果有的话:)