Note: Tomorrow Exam.
- Have non autonomous component
- Often built using homogeneous technology
- Multiple users share the resources of a centralized system at all time
- Have single point of control and failure
- Have autonomous components
- May be built using heterogeneous technology
- Distributed system components may be used exclusively
- Executed in concurrent process
- Multiple point of failure
Simply said, distributed system is better that centralized system should there be enough resources involved.
Centralized utilized the same resources for multiple user. An example would be Database system where multiple user access the same database on the same server. This also mean that the database have the server as the only point of control, thus translate to single point of failure. It is either it work, or not.
In distributed system, it have autonomous components where they posses full control over their part all the time. There is also no master components that have total control over the system. Every component is on their own. It define an interfaces to communicate with each other.
Heterogeneous technology means the ability to integrate components on legacy system with newly written program on newer system. They’re able to integrate and communicate even though have different programming language even. Usually the source of the components is compiled into heterogeneous machine code.
Components also can be used (or is used) exclusively by only one user. Looks like disadvantage, but this is the advantages of distributed system where a shared component might get overloaded by too many user or too many request. More so that components can be located so they’re local to the users and other components it may interact with. This improve overall performance.
The components create new thread whenever they start to perform a service for a user or another components. That way the components is always open for another service. Also it have multiple point of failure. It is design to be like that so if one components down, the other component that is not related to it, still available for a service.
Clearly distributed system has an advantage over the centralized system. With all the autonomous, heterogeneous, multi threading and multiple point of failure, it sure have lots of advantages.