Files
codezero/conts/posix
Bahadir Balban dc03c7b130 Implemented a protocol between client and pager for requesting caps.
In posix, test0 makes inter-space ipc for testing extended ipc. This
correctly fails when only the cap to ipc to pager is given to all tasks
in the container.

In order to overcome this problem, the tasks who fork for doing ipc to
each other make a request to the pager to get capabilities to do so.

Pager finds its own widened ipc capability over the container, replicates
it, validates and reduces it to desired boundaries (i.e. just ipc betw.
two spaces) and grants it as IMMUTABLE to requesting tasks.

This protocol may be useful in implementing a client/server capability
request relationship. Code builds but untested.
2009-11-08 14:15:33 +02:00
..

			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.