The design goals in operating system are as follows −
Operating systems must handle multiple devices as well as multiple users concurrently. It is a must for modern multiple core architectures. Due to these features the design of the operating system is complex and very difficult to make.
Operating systems must provide security and privacy to a system. It is important to prevent the malicious user from accessing your system and to prevent the stealing of the user programs.
Operating system ensures that the resources of the system must be shared in a correct fashion in between multiple user processes. It becomes more complex when multiple users use the same device.
Operating systems must be flexible in order to accommodate any change to the hardware and software of the system, It should not be obsolete. It is necessary as it is costly to change the operating system again and again on any change to the software or hardware.
Operating system that is able to work with different hardware and systems is called a portable operating system and it is a very important design goal.
Any upgrade to the current operating system could not hinder it's compatibility with the machine i.e. if the previous version of the operating system is compatible with the system then the newer or upgraded version should also be compatible with the system this is called backward compatibility.
Operating systems must be developed in a fashion that many users can use by keeping a general user base in Ming. Specially designed operating system also contains generality.
Operating systems interact with users through system programs which make the interface of the operating system.
Interface can be as follows −
Graphical user interface includes icons, windows etc.
Command line interface is used to run scripts and processes by browsing files from directories.
Previously, a non-interactive batch system was used which took a sequence of jobs to accomplish. For example, payroll calculations, market predictions etc.