[Previous] - [Main menu] - [Next]

Motivation & Goals

Why are we developing this operating system.


One of the primary factors for motivating us to do this project, is the fact that this kind of programming is what fascinates us. It is exciting to learn and understand how the complex machine, that a personal computer is, works. Also seeing that something you have created can get a 30 kg piece of metal and plastic to do some pretty amazing stuff.

Personal Goals

To fullfill our curiosity, and learn more about programming in assembly and C++. It can also make ordinarily boring times go faster.

Project Goals

The Maverick OS project has a few primary goals which has a major influence on the outcome of certain key design questions. Here is a brief descriptions of each goal:

Easy to Use

The system should be easy to use for the novice user. Intuitive standard user interfaces in applications and introdutory tutorials that educates the user along the way.

High Learning Depth

As users get more and more familiar with the operating system, they can increase the amount of machine information and configuration options available. Above the novice user level users can configure applications and the system. At the superuser level all configurations options are available, but it requires a certain amount of knowledge to not make fatal mistakes.


Security is a big issue on multiuser systems. Different security levels are used to control who can do what on the system. Some users may only be allowed to run a few trusted applications, while others can run all the applications they want and configure the entire system.


The system should also be very flexible, so that it can run on a large variaty of hardware configurations, including configurations which do not necessarily provide the most up-to-date hardware. This include running on very old x86 computers and even other architectures like Alpha, Motorola and PowerPC.


Scalability is somewhat related to the flexibility goal. It means that the Maverick OS should be able to utilize hardware from anything like an 15 years old 80186 to a futuristic Quadruple 600 Mhz Pentium III machine in a cluster formation.


Who want to wait a long time for something to be done ? No one. As much processing power as possible must go to the applications, so minimizing the system overhead is important. That requires a minimal use of system ressources for system administration purposes. Tweaking configuration options can be the key to faster systems.