I know, this is a lot slower than the old one, but it's a transition to
a new-new args parser that will use a hashmap... as soon as I get around
to writing a hashmap implementation.
- Tasklets are essentially kernel threads. Still working on passing
arguments to them, but they essentially just run functions and have
special names like [[kttydebug]]. Eventually, I want disk scheduling
and various (non-interrupt-driven) drivers running on these, but I'm
still not sure how stable they are.
- Fix the scheduler so it supports not having anything to run. This took
some tracking of what's running, and then inserting some liberal
sleeps. Doesn't appear to break anything. Makes the system work when
you try to sleep with only one process "running", so that's good.
- Start working on reimplementing the old kernel shell, but this time as
a tasklet running in the background over serial. Probably going to try
to add all the same features as before (tab completion, history, rich
editing), but it may take some time to get it all in there. This
console is mostly focused on helping with debugging EXT2 and other
future stuff.