Roadmap
Even though the project reference is still not complete, plans are being made to help the decisions, and continue to learn about operating system development throughout the design process. An (outdated) roadmap can be downloaded here, in planner format:
1. POSIX environment
It makes it easy to complete a lot of working code, it gives a good view of the needs of an Operating System, and makes one practice C and programming. A number of UNIX utilities are already functional, including a shell. The libc has enough code for the environment to be booted on top of a third-party kernel. Work is currently concentrated on, in order:
- libc
- bootable disk image creation
- sh
- the utils utilities suite
- the others utilities suite (not part of the SUSv3)
- the devel utilities suite (part of the SUSv3 development extension)
2. DeforaOS System software
Meanwhile, the actual implementation of DeforaOS, with its own original concepts, will be based on an entirely different ground. This will mean a focus on, in order:
- libSystem's AppInterface private class (distributed message passing)
- Session, the users' login program
- Init (the system's Session)
- VFS (transparent file management over the network)
3. DeforaOS graphical environment
A strong focus on the usability of the system as a whole is also a major aspect of the development of this project. Notwithstanding the amount of work already required in the two first tasks, it is believed to be necessary to study and fulfill the requirements of actual users, so as to better design the underlying layers of the system.Therefore, a full-featured desktop environment is also being developed actively as part of this project. It is achieved while trying to rely on fewer external resources wherever possible, meaning it will eventually be easy to integrate with the rest of the system. Another benefit of this approach is, again, to match the requirements of embedded platforms.
4. DeforaOS micro-kernel
If by the time the userland system is actually complete, there is not an
existing kernel tailored to its requirements, then the development of a dedicated
micro-kernel will be started. Meanwhile, portability across as many existing Operating Systems is the objective, including flavors of the Linux, BSD and Solaris-based distributions.