A distributed system is defined as: A collection of computers connected by a communications network, which the user perceives as a single system (he does not need to know what things are on which machines). The user accesses remote resources in the same way that he accesses local resources.
Summary
[ hide ]
- 1 Reliability
- 2 Example of a simple distributed system
- 3 Network operating systems
- 4 Principles of Operating Systems
- 5 Distributed processing models
- 1 Distributed processing based on input and output
- 6 Distributed processing based on remote procedure calls
- 7 Distributed Processing Based on Distributed Objects
- 8 Distributed processing based on shared memory
- 9 Sources
Reliability
Distributed systems must be very reliable, since if one component of the system breaks down, another component must be able to replace it. The size of a distributed system can vary widely, be it dozens of hosts ( Local Area Network ), hundreds of hosts (Metropolitan Area Network), and thousands or millions of hosts (Internet).
Simple distributed system example
Among the different distributed Operating Systems that exist we have the following: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, Seti, etc.
Network operating systems
They are those systems that keep two or more computers together through some means of communication (physical or not), with the primary objective of being able to share the different resources and information of the system.
Principles of Operating Systems
The design and research of tools for conventional centralized operating systems, which run on single and multi-processor systems, is well understood. However, the proliferation of personal workstations and local area networks has led to the development of new operating system concepts , namely network operating systems and distributed operating systems.Before starting, do not confuse a Network Operating System with a Distributed Operating System . In a Network Operating System , computers are interconnected by means of communication: software and hardware. In this type of network, users know where they are executing their work and saving their information. On the other hand, in Distributed Operating Systems there is software that distributes the tasks of users over a computer network and for users it is transparent where they perform their tasks and store their information. There are two basic schemes of these systems. A strongly coupled system is a is one that shares memory and a global clock, whose access times are similar for all processors. In a loosely coupled system, the processors share neither memory nor clock, since each has its own local memory.
Distributed processing models
Distributed processing based on input and output
- Communicating with a remote process is similar to reading or writing to a file
- The socket library uses this model
- Sending and receiving messages is really In / Out
- It’s a relatively low-level approach
Distributed processing based on remote procedure calls
- Communicating with a remote process is similar to invoking a procedure
- The invoked procedure does not reside in the invoking process but in another process (possibly on another machine)
- Procedures receive parameters and return results
- It is a higher level approach than the one oriented to entry / exit
- Details of sending and receiving messages are hidden from the programmer
Distributed object-based distributed processing
- Communicating with a remote process is similar to invoking a method of an object
- The object to which the request is made does not reside in the process that invokes the method but in another process (possibly on another machine)
- Methods in OOP receive parameters and return results
- It is a higher level approach than the previous ones
- Details of sending and receiving messages are hidden from the programmer
Distributed processing based on shared memory
- Communicating with a process consists of reading and writing data from a common memory.
- The underlying communication system is responsible for duplicating the common memory block in the different computers that are part of the system.
