mirror of
https://github.com/drasko/codezero.git
synced 2026-01-16 12:53:16 +01:00
Pager handles client capability requests by using one of its own capabilities to create a new one that suits the client's needs. The current issue is that the kernel can have multiple caps and it may not know which one is suitable for using to create one for the client. The kernel knows this very well, so the solution would be to attempt to use capabilities that roughly match (i.e. by type) and leave it to the kernel to decide whether it is any powerful to suit client's needs.
Codezero POSIX Services This directory contains the source code for the POSIX services developed on top of the Codezero Microkernel. There is a pager called MM0 which demonstrates how a pager on top of Codezero should act, by its system call usage. FS0 is the VFS task that implements File IO via IPC. FS0 can be thought of as a micokernel server. Test0 is the userspace task that tests microkernel system call functionality as well as the POSIX system call functionality by issuing calls to MM0 and FS0. Codezero POSIX services partially demonstrate how a POSIX level operating system would be written on top of Codezero. Unlike shallow implementations on embedded systems that only look like POSIX, mm0 and fs0 implement a real virtual memory subsystem and virtual filesystem that solidly backs the API. Neverhteless services such as terminal IO and common filesystem support are currently missing.