Operating System Design Goals

Operating Systems have become quite complex and multifaceted with the advancement of time. However, that also means it is getting more and more difficult to design operating systems that satisfy all the specifications required these days. There are no complete solutions possible for design problems, but some approaches are more successful than others.

Design Requirements in Operating System

The design requirements are quite hard to specify in an operating system. They are basically divided into two parts: User design requirements and System design requirements. Details about these are given as follows −

  • User Design Requirements

    The operating system should be convenient, easy to use, reliable, safe and fast according to the users. However, these specifications are not very useful as there is no set method to achieve these goals.

  • System Design Requirements

    The operating system should be easy to design, implement and maintain. These are specifications required by those who create, maintain and operate the operating system. But there is no specific method to achieve these goals as well.

Design Goals in Operating Systems

There are many design goals that modern operating systems have to fulfil to be considered successful. Some of these are −

Operating System Design Goals

Concurrent Systems

Modern operating systems should be able to handle multiple users as well as multiple devices at the same time. This is necessary for the modern multi-core architectures. Because of these specifications, the operating system design can be quite complex and difficult to create.

Security and Privacy

Operating systems should be able to provide security and privacy for a system. This is very important as there are many malicious users who may want to hack into the computer system and steal user programs.

Resource Sharing

The operating system should make sure that resources are shared in a correct manner between multiple user processes. This can get quite complex when multiple users share the same device as well.

Future Hardware and Software Changes

A major design consideration is that the operating system should be able to weather future hardware and software changes and not become obsolete. This is necessary as the operating system being changed again and again is quite a costly process.

Portable Operating Systems

The operating systems should be portable i.e. they should work with different hardware and machines. There may be some speciality operating system that only work on one kind of machine, however, most of them are portable.

Backward Compatibility

The new operating systems created should be compatible with the previous models i.e. they should contain backward compatibility.

No Specific Type of Users

Operating systems should be developed keeping in mind a general user base so that many users can use them. Even specially developed operating systems that target a single user base contain generality.