Wiki page by khorben on 13/03/2011 22:57:35

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:

  1. libc
  2. bootable disk image creation
  3. sh
  4. the utils utilities suite
  5. the others utilities suite (not part of the SUSv3)
  6. the devel utilities suite (part of the SUSv3 development extension)
The aim is to provide a fully-functional working environment, eventually matching the hardware requirements of some embedded platforms. Besides, this environment proves great in helping to write portable code, the libc abstracting away the differences between the different kernels. Moreover, its code was kept simple enough to know instantly the differences between them, and then fasten and ease the implementation of tools parsing C code, such as compilers and static analyzers.

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:

  1. libSystem's AppInterface private class (distributed message passing)
  2. Session, the users' login program
  3. Init (the system's Session)
  4. VFS (transparent file management over the network)
The plan is to experiment outside of the historical and cryptic existing standards for C development, meaning that the libSystem will be the equivalent to the libc on the system. With an object-oriented approach, it is believed that this framework will then easily provide consistent backends for different, higher-level languages.

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.

1.9 (diff)khorben
1.8 (diff)khorben
1.7 (diff)khorben
1.6 (diff)khorben
1.5 (diff)khorben
1.4 (diff)khorben
1.3 (diff)khorben
1.2 (diff)