From c67de544b5f245c8cd1f0be493457c94fee8a371 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sun, 2 May 2021 21:44:21 -0600 Subject: answer more questions --- doc/assignment3.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'doc') diff --git a/doc/assignment3.md b/doc/assignment3.md index f15832f..2d05ed5 100644 --- a/doc/assignment3.md +++ b/doc/assignment3.md @@ -266,8 +266,31 @@ Your answer for each question should be about 150 words. (100 marks total) eventually give up or have severe performance penalties. 1. Explain the concepts of a bus and a daisy chain. Indicate how these concepts are related. (8 marks) + + > A device communicates with a computer system by sending signals over a cable or even through the air. + > The device communicates with the machine via a connection point, or port - for example, a serial port. + + > If devices share a common set of wires, the connection is called a bus. + > A bus is a set of wires and a rigidly defined protocol that specifies a set of messages that can be + > sent on the wires. + + > When device A has a cable that plugs into device B, and device B has a cable that plugs into device C, + > and device C plugs into a port on the computer, this arrangement is called a daisy chain. + + > A daisy chain usually operates as a bus. + + A bus is like a stream of data travelling together. + Different pieces of data (passengers) may need to get off at different but stops (devices). + Instead of dropping off data like passengers at each bus stop (device) the data continues to + flow from device to device like a daisy chain. The devices that are interested in specific messages + are able to detect them as it flows through the bus. + 1. What are the three reasons that buffering is performed? (6 marks) + 1. To cope with speed mismatch between the producer and consumer of a data stream. + 1. To provide adaptations for devices that have different data-transfer sizes. + 1. To support copy semantics for application I/O. + ## Sources * [Operating System Concepts][os-book] -- cgit v1.2.3