What is a distributed system? It's one of those things that's hard to define without first defining many other things. Here is a "cascading" definition of a distributed system:
- A program
- is the code you write.
- A process
- is what you get when you run it.
- A message
- is used to communicate between processes.
- A packet
- is a fragment of a message that might travel on a wire.
- A protocol
- is a formal description of message formats and the rules that two processes must follow in order to exchange those messages.
- A network
- is the infrastructure that links computers, workstations, terminals, servers, etc. It consists of routers which are connected by communication links.
- A component
- can be a process or any piece of hardware required to run a process, support communications between processes, store data, etc.
- A distributed system
- is an application that executes a collection of protocols to coordinate the actions of multiple processes on a network, such that all components cooperate together to perform a single or small set of related tasks."
- Basically as I understand everything, a distributed system is like taking a server, with all of its services and components, and spreading it out over many systems that interact with each other. This makes it very powerful but difficult to implement because so many things must communicate to each other. The biggest concern in distributed systems are software errors. Software failures are a significant issue in distributed systems. Even with rigorous testing, software bugs account for a substantial fraction of unplanned downtime (estimated at 25-35%)Any way, this site is really cool and there is so much information that I will definitely be giving it another look.
- http://code.google.com/edu/parallel/
No comments:
Post a Comment