written 6.7 years ago by |
There are various types of Advanced Operating Systems. Though all the Major Design Issues will be applicable to most of the Operating Systems. The important issues related to Operating system are transparency, flexibility, reliability, performance, scalability, naming, replication, synchronization, security.
Let us understand the Different Types of Advanced Operating Systems to understand the Major Design Issues better.
Transparency
Multiple Computers are used but the user gets a view of only single system being used. Makes the network invisible to user/applications.
Various degrees of transparency are
• Access Transparency
• Location Transparency
• Name Transparency
• Data Transparency
• Execution Transparency
• Performance Transparency
Flexibility
Flexible operating systems are taken to be those whose designs have been motivated to some degree by the desire to allow the system to be tailored, either statically or dynamically, to the requirements of specific applications or application domains.
Reliability
In general, reliability is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.
Reliability is generally considered important by end users. Not all companies making operating systems have a similar standard. Even among operating systems where reliability is a priority, there is a range of quality.
Also, an operating system may be extremely reliable at one kind of task and extremely unreliable at another.Current operating systems have two characteristics that make them unreliable and insecure.
They are huge and have very poor fault isolation.
Performance
The performance of computer hardware typically increases monotonically with time. Even if the same could be said of software, the rate at which software performance improves is usually very slow compared to that of hardware.
In fact, many might opine that there is plenty of software whose performance has deteriorated consistently with time.
Moreover, it is rather difficult to establish an objective performance metric for software as complex as an operating system: a "faster OS" is a very subjective, context dependent phrase.
Scalability
Scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged. A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system.
Naming
The resources in a distributed system are spread across different computers and a naming scheme has to be devised so that users can discover and refer to the resources that they need.
An example of such a naming scheme is the URL (Uniform Resource Locator) that is used to identify WWW pages. If a meaningful and universally understood identification scheme is not used then many of these resources will be inaccessible to system users.
Replication
Replication is one of the oldest and most important topics in the overall area of distributed systems.Whether one replicates data or computation, the objective is to have some group of processes that handle incoming events.
If we replicate data, these processes are passive and operate only to maintain the stored data, reply to read requests, and apply updates. When we replicate computation, the usual goal is to provide fault-tolerance.
Synchronization
Processes requires coordination to achieve synchronization.Process must reach a common synchronization point before they can continue.
A process must wait for a condition that will be set asynchronously by other interacting processes to maintain some ordering of execution.Concurrent processes must have mutual exclusion when accessing a critical shared resource.
Security
Authentication: Clients, Servers and messages must be authenticated
Authorization: Access control has to be performed across a physical network with heterogeneous components under different administrative units using different security models.
Operating system authentication (OS authentication) is a way of using operating system login credentials to authenticate database users. One aspect of OS authentication can be used to authenticate database administrators.
OS authentication is needed because there must be a way to identify administrative users even if the database is shut down.