Distributed Operating System

KS3 Computer Science

11-14 Years Old

48 modules covering EVERY Computer Science topic needed for KS3 level.

GCSE Computer Science

14-16 Years Old

45 modules covering EVERY Computer Science topic needed for GCSE level.

A-Level Computer Science

16-18 Years Old

66 modules covering EVERY Computer Science topic needed for A-Level.

KS3 Operating Systems Resources (14-16 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

A-Level Systems Software (16-18 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

What is an Operating System?

An operating system (OS), is a collection of software that manages computer hardware resources and provides common services for computer programs.

An operating system is the core software, which allows a computer system to operate and execute its commands as it was intended to do so.

The operating system manages the user interface, hardware, and all other software components.

Examples of operating systems are Windows, Linux, IOS, MacOS, Unix, Symbian, and Android etc.

Without these operating systems, the platform being used wouldn’t be able to function, and it would just be a collection of components generating heat aimlessly.

Operating systems generally share a number of functions such as:

  • Providing a user interface
  • Managing the computer’s memory
  • Managing the hardware

What is a Distributed Operating System?

A distributed operating system (DOS), is a recent advancement in the technological world of computers, furthermore, they are being accepted/utilised all over the world, as one of the main advantageous characteristics of these systems are that they provide great pace.

A DOS is a system which contains multiple components located on different machines, which coordinate and communicate actions in order to appear as a single coherent working system to the user.

A distributed operating system (DOS), are systems which model where distributed applications are running on multiple computers, linked by communications.

Processors in a DOS communicate with each other through various communication lines like high-speed buses.

High-speed buses:

A mechanism that transfers data between components inside a computer.

A DOS involves a collection of autonomous computer systems, which are able to communicate with each other through LAN/WAN. This system will provide a virtual machine abstraction to its users and wide sharing of resources like computational capacity and input/output etc.

This system as mentioned above, incorporates various autonomous interconnected computers that communicate with each other using a shared communication network, furthermore they are independent systems that possess their own memory unit and CPU.

Another term which is used along side-distributed operating systems is a loosely coupled system. The processors in these systems may differ in size and function.

The fundamental implementations of primitive distributed operating systems data back to the 1950’s. Some of these concepts were not focused directly on DOS, and at the time many not have had realised their important impact. These pioneering efforts had laid down the fundamentals and inspired more research. However it was only when the acceleration of multi-processor/multi-core processor system ignited, that it led to the resurgence of DOS.

One of the big advantages of working with DOS is that it is always possible that one user can access the files or software, which they require, and utilise them, however in reality these files are present on another system network (so think of it similar to remote working).

Distributed systems can be considered to be more reliable than a central system because if the system has only one instance of a critical peripheral/component, like the CPU, network interface, disk, and so if that one instance fails, the system will go down completely.

However when there are multiple instances in the system, like in a distributed operating system, then if a component fails, the system may be able to continue to function despite the failure. Distributed systems also allow software failures to be dealt with, rather than stopping the whole system.

Architecture of a Distributed Operating System:

In a DOS the following occurs:

  • All software and hardware compounds are located remotely. In order for them to communicate with each other, they pass messages.
  • One of the most important aspects of a distributed system is resource sharing. Resources are managed by servers and clients use these resources.

A DOS runs on a number of independent sites which are connected through a communication network. However it is portrayed to the user that they run their own operating system.

Flowchart of Architecture of a Distributed Operating System.

(Each computer node has its own memory)

Distributed Systems design considerations:

Types of Distributed Systems:

There are four main types of distributed systems:

Client-server:

This type of system requires the client to request a resource, and then the server provides that resource which was requested. When a client is in contact with one server, the server itself may serve multiple clients at the same time.

Both the server and the client will communicate over a computer network, which is part of a distributed system.

Three-tier:

The information about the client is stored in the middle tier, instead of storing it in the client, this is done to simplify development. This architecture is most common in web applications.

n-tier:

n-tier systems are used when the server or application needs to forward requests to additional enterprise services on the network.

Peer-to-peer:

This type of system contains nodes that are equal participants in data sharing, furthermore, all the tasks are equally divided between all the nodes. These nodes will interact with each other as required as “share resources”. To accomplish this, a network is needed.

What are the characteristics of a Distributed Operating System?

Common characteristics, which DOS have, are:

Heterogeneity:

In distributed systems, the components can have differences and variety in programming languages, operating systems, computer hardware, networks, and implementations by different developers.

Resource sharing:

(Every resource has its own management policies and methods, furthermore every resource is managed by a module, commonly known as a resource manager)

Resource sharing is the ability to use hardware, software, or data anywhere in the system. The resource manager controls access, moreover, it also provides naming scheme and controls concurrency in the DOS.

The hardware resources are shared for convenience and reductions in cost, in contrast, the data is shared for consistency and exchange of information. 

Openness:

With DOS, the “openness” is related to the extensions and improvements of disturbed systems.

  • A well-defined and detailed interface of the components must be published.
  • The new component, which is to be added, must be easily integrated with existing components.

Concurrency:

This characteristic of the system enables multiple activities in the system to be executed in the same time. In the distributed system, the simultaneous execution of tasks happens in different components running on multiple machines, furthermore, these tasks could execute interactions between each other.

The benefit of concurrency is increases the efficiency while reducing the latency in the system.

In the DOS, the components access and update shared resources (device drivers, variables, databases), moreover, if concurrent updates are not coordinated it may result in inconsistent analysis.

Scalability:

In a DOS, the scalability of a system refers to how it handles the growth as number of users on the system platform increases. Scaling best occurs by adding more systems to the network.

These components must be designed in a way that allows them to be scalable too.

Fault Tolerance:

The system is designed in a way that it is still available to the user despite a failure in the hardware, software, or the network.

Fault tolerance is achieved by recovery and redundancy.

Security:

In a DOS, the clients send requests to access data managed by servers and resources in the networks.

In a DOS security is acquired for the following:

  • Concealing the contents of messages
  • Authentication

No global clock:

In a DOS, computers are connected through a network, and each computer has its own clock (so a system can have many clocks).

Nodes communicate between each other through message passing, furthermore, their coordination is dependent on time, as every client/computer has a different time span.

Even if the clocks were in sync, the individual clocks on each component may run at a different rate, leading them to be out of sync after one local clock cycle.

Though accurate time synchronisation is impossible in a DOS because it doesn’t provide a global clock.

Flexibility:

Flexibility in a DOS is enhanced through modular characteristics, and by providing a more enhanced set of high level services. The quality and completeness of the kernel/microkernel simplifies implementation of such services.

Synchronisation:

Systems, which are cooperating concurrent process, have an inherent need for synchronisation. This ensures that changes happen in a correct and predictable manner.

The three basic circumstances, which define the scope of synchronisation, are:

  • Synchronisation between one or more processes must happen at a single point in order for one or more other processes to continue.
  • One or more processes have to wait for an asynchronous (not existing or occurring at the same time) condition in order to continue.
  • A process must get exclusive access to a shared resource.

If synchronisation is not done properly it may lead to multiple points of failure modes including loss of consistency, isolation and durability, deadlock, lick, atomicity, and loss of serialisability.  

Transparency:

DOS are perceived by programmers and users as a whole system, rather than a collection of cooperating components. Thus meaning the communication between components is hidden. Transparency directly affects the decision making in every aspect of design of a DOS, it can imply certain requirements and/or restrictions on other design considerations.

There are 13 main types of transparency linked with DOS:

Access Transparency:

This allows local and remote information objects to be accessed using identical operations. (i.e. SQL Queries)

Location Transparency:

Allows information objects to be accessed without knowledge of their location.

(i.e. File system operation in a network file system)

Migration Transparency:

The system solely controls resources and activities, which migrate from one element to another. The system controls them without user/application knowledge or intervention.

Concurrency Transparency:

Allows several processes to work simultaneously while using a shared information objects without interference between them.

(i.e. Database management system)

Replication Transparency:

This allows multiple instances of information objects to be used to increase reliability and performance without the knowledge of the replicas by users or application programs.

(i.e. Distributed DMBS)

Failure Transparency:

This type of transparency enables the faults to be hidden, therefore allowing users and applications alike to complete their tasks despite failure of other components.

(i.e. Database managements system)

Mobility Transparency:

This allows the movement of information objects within the system without having an affect to the application program or users.

(i.e. Web pages)

Performance Transparency:

System can be reconfigured to improve performance as loads vary.

Scaling Transparency:

Allows the system and application to expand in scale without having to change the application architecture or the system architecture.

Revision Transparency:

System is responsible for revisions, upgrades, and changes that are made to the system infrastructure without the user knowledge or action.

Control Transparency:

System is responsible to provide all the system constants, properties, information, and configuration settings etc.

The system must be able to do this in connotation, and denotation to all users and application in a consistent appearance. 

Data Transparency:

System provides data to applications without the user knowledge/action as to where the system stores it.

Parallelism Transparency:

System exploits any ability to parallelise task execution without the need for user action or knowledge.

This is probably the most difficult aspect of transparency.

Advantages of a Distributed Operating System?

Scalability:

As computing occurs on each node independently, it is simple and inexpensive to add more nodes and functionality as required.

Reliability:

Most distributed systems are made from many nodes that work together which ultimately make them fault tolerant. The system doesn’t experience any disruptions if a single machine fails.

Performance:

These systems are regarded to be very efficient as the work load can be broken up and sent to multiple machines, therefore reducing data processing.

Data sharing:

Nodes can easily share data with other nodes as they are connected with each other.

No domino effect incase of a node failure:

The failure of one node in a DOS does not have a domino effect and enables all other nodes fail. Other nodes can still communicate with each other despite the failure.

Shareable:

Resources, for instance like printers, can be shared with multiple nodes rather than just being constrained to just one node.

Disadvantages of a Distributed Operating System?

Scheduling:

The system has to decide which jobs need to be executed, when they should be executed, and where they should be executed. A scheduler will have limitations, this may lead to under-utilised hardware and unpredictable runtimes.

Latency:

The more widely distributed a system is the more latency can be experienced with communications. This therefore results in teams/developers to make tradeoffs between availability, consistency and latency.

Observability:

It can be a real challenge to gather, process, present, and monitor hardware usage metrics for large clusters.

Security:

It is difficult to place adequate security in DOS, as the nodes and the connections need to be secured.

Data loss:

Some data/messages may be lost in the network while moving from one node to another.

Complicated database:

In comparison to a single user system, the database connected to a DOS is relatively complicated and difficult to handle.

Overloading:

If multiple nodes in DOS send data all at once, then the system network may become overloaded.

Expensive:

These systems are not readily available, as they are regarded to be very expensive.

Complex software:

Underlying software is highly complex and is not understood very well compared to other systems.

Applications of Distributed Operating Systems:

Telecommunication Networks:

DOS are useful in phone network and cellular networks. Networks such as the Internet, Wireless sensor networks, routing algorithms are also examples of a DOS.

Network Applications:

Many network applications utilise DOS, such as Web, P2P networks, multiplayer web based games and virtual communities.

(P2P (peer to peer network) network are computer systems which connect to each other via the Internet. Files of these systems can be shared directly without requiring a central server, ultimately meaning that each computer on a P2P network becomes a file server and a client).

An example of such systems includes: banking systems, and airline reservation booking systems.

Real Time Process Control:

Real time process control system that operates with a deadline, such examples include aircraft control systems.

Parallel Computation:

Systematic computer, which includes cluster computing and grid computing as well as varied volunteer computing projects are based on DOS.

Summary and Facts:

What is a Distributed Operating System?

A distributed operating system (DOS), is a recent advancement in the technological world of computers, furthermore, they are being accepted/utilised all over the world, as one of the main advantageous characteristics of these systems are that they provide great pace.

This system incorporates various autonomous interconnected computers that communicate to each other using a shared communication network, furthermore they are independent systems that possess their own memory unit and CPU.

By spreading out workloads and requests, these systems can support a greater amount of requests and compute jobs than a standard single system.

Architecture of a Distributed Operating System:

Distributed operating systems mainly comprise of:

  • Workstations
  • Database Server
  • Computer Node
  • Computer Network
  • Terminal
  • File Server

Distributed Systems design considerations:

There are four main types of distributed systems:

  • Client-server
  • Three-tier
  • n-tier
  • Peer-to-peer

What are the characteristics of a Distributed Operating System?

Common characteristics, which DOS have, are:

  • Heterogeneity
  • Resource sharing
  • Openness
  • Concurrency
  • Scalability
  • Fault Tolerance
  • Security
  • No global clock
  • Flexibility
  • Synchronisation

Transparency:

  • Access Transparency
  • Location Transparency
  • Migration Transparency
  • Concurrency Transparency
  • Replication Transparency
  • Failure Transparency
  • Mobility Transparency
  • Performance Transparency
  • Scaling Transparency
  • Revision Transparency
  • Control Transparency
  • Data Transparency
  • Parallelism Transparency

Advantages of a Distributed Operating System?

  • Scalability
  • Reliability
  • Performance
  • Data sharing
  • No domino effect incase of a node failure
  • Shareable

Disadvantages of a Distributed Operating System?

  • Scheduling
  • Latency
  • Observability
  • Security
  • Data loss
  • Complicated database
  • Overloading
  • Expensive
  • Complex software

Applications of Distributed Operating Systems:

  • Telecommunication Networks
  • Network Applications
  • Real Time Process Control
  • Parallel Computation

References:

  1. https://medium.com/system-design-blog/key-characteristics-of-distributed-systems-781c4d92cce3
  2. https://blog.stackpath.com/distributed-system/
  3. http://www0.cs.ucl.ac.uk/staff/ucacwxe/lectures/ds98-99/dsee3.pdf
  4. https://www.quora.com/What-are-some-characteristics-of-a-distributed-information-system
  5. https://en.wikipedia.org/wiki/Distributed_operating_system#Distributed_computing_models
  6. http://www.it.uu.se/edu/course/homepage/distrinfo/ht12/schedule/DistributedSystems.pdf
  7. https://www.tutorialspoint.com/Distributed-Systems
  8. https://www.tutorialspoint.com/distributed-operating-system
  9. http://ecomputernotes.com/fundamental/disk-operating-system/distributed-operating-system
  10. https://www.geeksforgeeks.org/types-of-operating-systems/
  11. https://www.inf.ed.ac.uk/teaching/courses/ds/slides1516/OS.pdf
  12. http://infolab.stanford.edu/~burback/dadl/node91.html#:~:text=No%20Global%20Clock,clock%20has%20the%20exact%20time.&text=However%2C%20the%20clocks%20are%20not,due%20to%20transmission%20and%20execution.
  13. https://techterms.com/definition/p2p#:~:text=Stands%20for%20%22Peer%20to%20Peer,as%20well%20as%20a%20client.
  14. https://www.ques10.com/p/43693/architecture-of-distributed-operating-system-1/#:~:text=A%20distributed%20operating%20system%20runs,runs%20its%20own%20operating%20system.&text=It%20shows%20the%20workstations%2C%20terminals,connected%20to%20a%20communication%20network.
  15. http://www.discoveryjournals.org/discovery/current_issue/v9/n20-23/A4.pdf?