Directories: oskit/examples/unix, oskit/examples/unix/extended, oskit/examples/unix/threads Targets: Lots Documentation: See the READMEs and source in this directory and in oskit/unix. Original Code Source: Flux Research Group, University of Utah Description: This directory is used to build certain OSKit example programs in FreeBSD user-mode (or with some tweaking and for some programs, on Linux). It depends on the support code contained in the base oskit/unix directory. This directory links the simple examples from ../x86, the extended subdirectory links examples from ../x86/extended (those requiring the FreeBSD C library). You can guess what threads is for. Re the filesytem tests: You can create a filesystem-in-a-file to run the fs test programs on using regular unix tools (on Linux at least). First use dd to create a big file: dd if=/dev/zero bs=1024 count=2000 of=ext2fsinafile Second run mkfs on it: mkfs -V -t ext2 ext2fsinafile Re debugging, you may see errors like Cannot insert breakpoint 0: Error accessing memory address 0xe: Invalid argument. when single stepping in code after an itimer has been setup. Note that 0xe == 14 == SIGALRM (on FreeBSD at least). To work around this you can set a breakpoint before the itimers are setup which does "handle SIGALRM pass" and then set one after the itimer stuff which does "handle SIGALRM ignore". (I.e., set the breakpoint and then use the gdb "commands" command.) By default, programs are compiled and linked against the oskit headers, and linked against the oskit C library (rather than the system headers in /usr/include and system libraries in /usr/lib). This allows more complete oskit kernels to be run in user mode. This requires an additional library that contains the syscall stubs, renamed to avoid name collision.