YALC is a virtual architecture designed for educational purpose. It models a DLX-like processor and its set of ASM instructions, a compiler from a high level language (C-like), and an IDE with syntax checking and highlighting.
The user-mode kernel port is a port of the Linux kernel which runs in a set of processes. The result is a user-mode virtual machine and a kernel which can be debugged and developed using all of the usual process-level tools.