Files
codezero/conts/posix
Bahadir Balban 965f2f9456 Brought mm0 initialization up to init_execve()
Changes:
It is now possible to use do_mmap() from within mm0.

- pager_new_virtual()/delete_virtual() return addresses that are
  disjoint from find_unmapped_area() used by mmap() interface for
  anonymous or not-fixed areas.
- find_unmapped_area() now uses task->map_start task->map_end instead
  of task->start and task->end. task->start/end are still valid task
  space addresses for mmap(), but finding a new address is limited to
  map_start/map_end.

- We have both interfaces because mmap() is only useful for backed-files.
  When the pager needs to access a user memory range for example, that is
  not backed by a file and thus we need to use pager_new_virtual() instead
  of mmap() for mapping.
2009-10-06 14:15:33 +03: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.