- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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 −
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.
To Continue Learning Please Login
Login with Google