Released 0.5.0 with the near finished process manager subsystem and lots of bugfixes. A simple user shell application is included along with a test application. Each virtual console has an instance of the shell spawned on it so you can finally interface with the kernel via a pretty good set of system calls. Each process spawned is a user mode process (ring3) with its own address space so theirs good separation and protection between multiple processes in the system. The test application lets you perform some illegal operation to stress test how stable the kernel is, so you can perform page faults, general protection faults and the like at will. The kernel process (ring0) after initializing the kernel itself and spawning the initial shells turns into the systems idle process. I have tested 0.5.0 on VMWare, Qemu and Bochs and it seems to be pretty stable. Their are some known issues with the FAT driver; still no write support and some small bugs with file/path naming. Also virtual mount points are not included within list operations.
Press F1, F2, F3 and F4 to navigate through the 4 virtual consoles, press F5 to see the schedulers current process table.
The basic shell commands are, TAB to see a list of available commands or auto complete the current command you are typing in. spawn to spawn a process, e.g.
>spawn /boot/test.bin (all file must be addresses with absolute paths, no relative addressing yet) dump to dump a file ontents to screen, e.g.
>dump /boot/menu.cfg. kill to kill a process, e.g.
>kill 9 to kill process 9. list to list the contents of a directory, e.g.
>list /device/, to list the contents of the device directory. commands like copy, rename and delete are also available (copy isnt implemented in the FAT driver yet).
Download the source code or binarys here:
AMOS 0.5.0 release (SourceForge.net)
And finally some screenshots of AMOS running...
