Here is a (possibly incomplete) list of missing features and limitations:
| intro: | What you are reading |
| config.h: | Setup parameters, such as table sizes, and the device driver switch table. |
| unix.h: | All strcuture declarations, typedefs and defines. | (Includes things like errno.h).
| extern.h: | Declarations of all global variables and tables. |
| data.c: | Dummy to source extern.h and devine globals. |
| dispatch.c: | System call dispatch table. |
| scall1.c: | System calls, mostly file-related. |
| scall2.c: | Rest of system calls. |
| filesys.c: | Routines for managing file system. |
| process.c: | Routines for process management and context switching. Somewhat machine-dependent. |
| devio.c: | Generic I/O routines, including queue routines. |
| devtty.c: | Simple TTY driver, slightly-machine dependent. |
| devwd.c: | Hard disk driver. Very machine-dependent. |
| devflop.c: | Floppy disk driver. Very machine-dependent. |
| devmisc.c: | Simple device drivers, such as /dev/mem. |
| machdep.c: | Machine-dependent code, especially real-time-clock and interrupt handling code. |
| extras.c: | Procedures missing from the Q/C compiler's library. |
| filler.mac: | Dummy to make linker load UZI at correct address. |
| makeunix.sub: | CP/M SUBMIT file to compile everything. |
| loadunix.sub: | CP/M SUBMIT file to load everything. |