I thought now was the right time to sum things up a bit as far as kernel development status is concerned…
- Bootstrapping – Done.
- Memory allocation – Done, but no user-mode interface yet
- Processes, threads, and inter-process communication – In progress. Multitasking will require clock interrupt handling, syscall interface to IPC will require user interrupts management. Executable loading will probably be one of the last kernel features to be completed.
- Interrupt management – Cannot progress, requires processes and IPC
- I/O ownership and other security token subsystems – Requires processes
As can be seen, all these services are heavily dependent on each other in a crazily messy fashion, but globally, in true respect of the microkernel tradition, we need a bit of processes and IPC before we move any step further in other areas. Interestingly enough, completing process management will also require advances in these other areas. This pushes further my belief that all these kernel components are fundamentally entangled and shouldn’t be separated from each other through extra isolation.