queue behind other threads at the same priority. Kernel modules Kernel – Contains task switching, memory allocation, and most non-I/O calls IOMAN – Handles I/O calls to various file managers and drivers. File managers basic set: SCF, Serial files (serial devices) RBF, Random block (disk devices) SBF, Sequential block (tape Devices) NFM, NULL devices (USB and other devices) MFM, Message PCF, PC FAT files PIPEMAN, Pipe manager Modman - Memory module directories SSM – System security (MMU handling) Cache – Cache handling, VectXXX – Vector / PIC handler FPU – Floating point emulation Align – Address alignment fault handler Commands The following list of commands is supported by the OS-9 shell. Shell built-in commands chd chx kill w wait setenv unsetenv setpr logout profile ex -e -ne -p -p=<str> -np -t -nt -v -nv -x -nx Utilities for operating system functions attr copy date deiniz del deldir dsave dump echo fixmod free ident iniz link list load makdir mdir merge mfree pd pr printenv procs rename save shell setime sleep tee tmode touch unlink System management utilities backup dcheck devs format frestore fsave irqs login os9gen tsmon xmode General utilities binex build cfp cmp code compress count edt exbin expand grep help make qsort tr umacs Comparisons with Unix OS-9's notion of processes and I/O paths is quite similar to that of Unix in nearly all respects, but there are some significant differences. Firstly, the file system is not a single tree, but instead is a forest with each tree corresponding to a device. Second, OS-9 does not have a Unix-style fork() system call—instead it has a system call which creates a process running a specified program, performing much the same function as a fork-exec or a spawn. Additionally, OS-9 processes keep track of two "current directories" rather than just one; the "current execution directory" is where it will by default look first to load programs to run (which is similar to the use of PATH environment variable under UNIX). The other is the current data directory. Another difference is that in OS-9, grandparent directories can be indicated by repeating periods three or more times, without any intervening slashes (a feature also found in 4DOS/4OS2/4NT/TC). For example, ..../file in OS-9, is similar to ../../../file in Unix. But . and .., with just one or two periods, each work the same in both OS-9 and Unix. OS-9 has had a modular