Development

Applications Support

Sunday, January 22, 2006

As a break from the kernel development I started thinking about user mode applications, what library's I will support and the kernels system call interface. Even though I'm not going down the POSIX road for system calls I could still port lib C across, probably GNU's libC. The docs specify how to create stubs for the system calls you do not support and the library functions that rely on them will fail gracefully. It might be more feasible to port a reduced C library across to AMOS, possible the diet libc or something similar. This leads to the question of whether to support dynamic linking. Ideally yes but it may not make it into the 1.0.0 release.

I am going to use the cool Tiny Shell library to help create a basic user shell application. A more advanced shell can be ported across (or written from scratch!) at a later date. The tiny shell library doesn't require a C library which suits at the moment. Only console read and write support is needed. It supports command history, auto completion, help and usage information. The shell will have some internal commands to perform operations like spawning a new process and navigating and manipulating the file system. Although I have this coded and ready, the kernels process manager subsystem will need to be finished and the process loader written before we can start running this stuff.




SourceForge.net Logo