Wednesday, June 26, 2013

Distributed Operating System


Distributed Operating System 


  • A distributed operating system is one that looks to its users like an ordinary centralized operating system but runs on multiple independent CPUs. 
  • The key concept here is transparency. In other words, the use of multiple processors should be invisible to the user. 
  • Another way of expressing the same idea is to say that user views the system as virtual uniprocessor but not as a collection of distinct machines. 
  • In a true distributed system, users are not aware of where their programs are being run or where their files are residing; they should all be handled automatically and efficiently by the operating system.

  • Distributed operating systems have many aspects in common with centralized ones but they also differ in certain ways. 
  • Distributed operating system, for example, often allow programs to run on several processors at the same time, thus requiring more complex processor scheduling  algorithms in order to achieve maximum utilisation of CPU's time.

  • Fault-tolerance is another area in which distributed operating systems are different. 
  • Distributed systems are considered to be more reliable than uniprocessor based system. 
  • They perform even if certain part of the hardware is malfunctioning. 



Advantages of Distributed Operating Systems

There are three important advantages in the design of distributed operating system:

1. Major breakthrough in microprocessor technology


  • Micro- processors have become very much powerful and cheap, compared with mainframes and minicomputers, so it has become attractive to think about designing large systems consisting of small processors. 
  • These distributed systems clearly have a price/performance advantages over more traditional systems.


2. Incremental Growth

  • The second advantage is that if there is a need of 10 per cent more computing power, one should just add 10 per cent more processors. 
  • System architecture is crucial to the type of system growth, however, since it is hard to give each user of a personal computer another 10 per cent.


3. Reliability

  • Reliability and availability can also be a big advantage; a few parts of the system can be down without disturbing people using the other parts; 
  • On the minus side, unless one is very careful, it is easy for the communication protocol overhead to become a major source of inefficiency.




File System


  • Distributed operating system supports a single global file system visible from all machines. When this method is used, there is one directory for executable programs one password file and so on. 
  • When a program wants to read the password file it does something like
  • Open (*/etc/password", READ-ONLY) 
  • without reference to where the file is. 
  • It is upto the operating system to locate the file and arrange for transport of data as they are needed.

  • The convenience of having a single global name space is obvious.  


  • When the user or program must specify the machine name, the system cannot decide on its own to move a file to a new machine because that would change the name used to access the file. 
  • Thus in a network operating system, control over file placement must be done manually by the users, whereas in a distributed operating system it can be done automatically by the system itself. 


Protection



  • In a true distributed system there is a unique UID for every user, and that UID should be valid on all machines without any mapping. 
  • In this way no protection problems arise on remote access to files; a remote access can be treated like a local access with the same UID. 
  • There is a difference between network operating system and distributed operating system in implementing protection issue. 
  • In networking operating system, there are various machines, each with its own user to UID mapping but in distributed operating system there is a single systemwide mapping that is valid everywhere.


Program Execution:

  •  In the most distributed case the system chooses a CPU by looking at the processing load of the machine, location of file to be used etc. In the least distributed case, the system always run the process on one specific machine
  • An important difference between network and distributed operating system is how they are implemented. 


No comments:

Post a Comment