What is it? =========== Cynix is a simple IA-32 monolithic unix-like kernel written from scratch in C and asm for educational purposes. You can get it here or even browse the code online. The code is licensed under WTFPL. Features ======== * Uniprocessor support only * Multitasking * Virtual memory * Read-only ext2 driver * Various syscalls (shown below) * Basic kernel heap allocator (easily replaceable) * Built-in kernel debugger * Keyboard/rtc/pic/rs232 drivers * PCI driver * RTL8139 driver * ELF loading (only statically linked binaries) * Multiboot compliant * Sleep/wakeup mechanism for processes * Kernel threads * Spinlocks * Primitive IPC using pipes. Supported syscalls ================== The following syscalls are currently supported: (exit, fork, read, write, open, close, waitpid, execve, isatty, getpid, getppid, readdir, dup, dup2, stat, fstat, sbrk, getuid, setuid, getgid, setgid, pipe).