summaryrefslogtreecommitdiff
path: root/doc/assignment3.md
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2021-05-02 21:49:01 -0600
committermo khan <mo@mokhan.ca>2021-05-02 21:49:01 -0600
commitc53c3cb4b83a3b3a659717333cd59b002914b3e1 (patch)
tree10e046e6d1d36d5e19fbd1592415a069d89a028a /doc/assignment3.md
parentc67de544b5f245c8cd1f0be493457c94fee8a371 (diff)
expand on an answer
Diffstat (limited to 'doc/assignment3.md')
-rw-r--r--doc/assignment3.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/assignment3.md b/doc/assignment3.md
index 2d05ed5..4d9a207 100644
--- a/doc/assignment3.md
+++ b/doc/assignment3.md
@@ -291,6 +291,18 @@ Your answer for each question should be about 150 words. (100 marks total)
1. To provide adaptations for devices that have different data-transfer sizes.
1. To support copy semantics for application I/O.
+ If the device that is sending the data is sending it faster than the device that is
+ receiving that data can consume it, than a buffer in between the two helps to ensure
+ that data can travel smoothly from the faster device to the slower one without problems.
+
+ If one device sends data in chunks that are different from the size of chunks that a
+ receiving device can process. Then a buffer can be used to accept chunks of data in
+ one size and send them to another device using a different size of chunks.
+
+ A buffer can also provide a simpler application programming interface between user
+ programs and the operating systems. A buffer decouples the two and can be used
+ to handle the needs of each while maintaing a simple interface for both to work with.
+
## Sources
* [Operating System Concepts][os-book]