Big Idea 4: Computer Systems and Networks Flashcards
Explain how computing devices work together in a network. In your answer, explain the definitions of a computing device, computing system, computer network, path, routing, and bandwith.
**A computing device is a physical artifact that can run a program. Some examples include computers, tablets, servers, routers, and smart sensors.
A computing system is a group of computing devices and programs working together for a common purpose.
A computer network is a group of interconnected computing devices capable of sending or receiving data. A computer network is a type of computing system.
A path between two computing devices on a computer network (a sender and a receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver.
Routing is the process of finding a path from a sender to receiver.
The bandwidth of a computer network is the maximum amount of data that can be sent in a fixed amount of time. Bandwidth is usually measured in bits per second.**
Explain how the Internet works. In your answer, explain the concepts of protocol, scalability, and how they relate to the Internet’s functionality and design.
The Internet is a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
Access to the Internet depends on the ability to connect a computing device to an Internet-connected device.
**A protocol is an agreed-upon set of rules that specify the behavior of a system.
The protocols used in the Internet are open, which allows users to easily connect additional computing devices to the Internet.**
Routing on the Internet is usually dynamic; it is not specified in advance.
The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
The Internet was designed to be scalable.
Explain how data are sent through the Internet via packets. In your answer, explain the terms packets, data stream, and metadata.
**Information is passed through the Internet as a data stream.
Data streams contain chunks of data, which are encapsulated in packets.
Packets contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly.
Packets may arrive at the destination in order, out of order, or not at all.
IP, TCP, and UDP are common protocols used on the Internet.**
Describe the differences between the Internet and the World Wide Web. In your answer, explain the terms HTTP and World Wide Web.
**The World Wide Web is a system of linked pages, programs, and files.
HTTP is a protocol used by the World Wide Web.
The World Wide Web uses the Internet.**
Describe the benefits of fault tolerance, explain how a given system is fault-tolerant, and identify vulnerabilities to failure in a system. In your answer, explain the definition of fault-tolerant.
The Internet has been engineered to be fault-tolerant, with abstractions for routing and transmitting data.
**Redundancy, which is the inclusion of extra components that can be used to mitigate failure of a system if other components fail, is one method of achieving fault tolerance. **
**One way to accomplish network redundancy is by having more than one path between any two connected devices.
If a particular device or connection on the Internet fails, subsequent data will be sent via a different route, if possible. **
When a system can support failures and still continue to function, it is called fault-tolerant. This is important because elements of complex systems fail at unexpected times, often in groups, and fault tolerance allows users to continue to use the network.
Redundancy within a system often requires additional resources but can provide the benefit of fault tolerance.
The redundancy of routing options between two points increases the reliability of the Internet and helps it scale to more devices and more people.
Explain sequential, parallel, and distributed computing, while comparing problem solutions and determining the efficiency of solutions. In your answer, explain the definition of sequential computing, parallel computing, distributed computing, and the “speedup” of a parallel solution.
**Sequential computing is a computational model in which operations are performed in order one at a time.
Parallel computing is a computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously.
Distributed computing is a computational model in which multiple devices are used to run a program.**
Comparing efficiency of solutions can be done by comparing the time it takes them to perform the same task.
**A sequential solution takes as long as the sum of all of its steps.
A parallel computing solution takes as long as its sequential tasks plus the longest of its parallel tasks.**
The “speedup” of a parallel solution is measured in the time it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.
Describe benefits and challenges of parallel and distributed computing.
Parallel computing consists of a parallel portion and a sequential portion.
Solutions that use parallel computing can scale more effectively than solutions that use sequential computing.
**Distributed computing allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
Distributed computing allows much larger problems to be solved quicker than they could be solved using a single computer.
When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion. This means that at some point, adding parallel portions will no longer meaningfully increase efficiency.**