TODO:
non-preemptive priority
known issues:
swap cleanup
(abandoned blocks when cleaning up after context switch)
likely linked to swap cleanup, CPU "runs away" but ps can be killed and recovers gracefully
defective functions in nosfs: get(Used/Free)(File/Fat)Blocks
(this means that the free/used space info given by ls, and the mbr data that tracks fs statistics is going to be wrong)