An application processes network data at a constant rate of 1 MB/s. The data is transmitted at a long-term average rate of 1 MB/s but
An application processes network data at a constant rate of 1 MB/s. The data is transmitted at a long-term average rate of 1 MB/s but occasionally bursts at up to 5 MB/s for up to 2 s at a time.
(a) Why is it necessary for the operating system to provide some degree of buffering on behalf of the application? [2 marks]
(b) A rather simplistic operating system can only provide 1 MB sized buffers that cannot be simultaneously read and written. What will be the effect on the application if the systems only supports single buffering? [2 marks]
(c) A more advanced operating system provides double-buffering using 512 kB buffers that also cannot be simultaneously read and written. What impact does this have on the application? [3 marks]
(d) A further upgrade to the operating system uses 512 kB buffers to provide a circular buffer. How many buffers must be used to prevent the application experiencing data loss? [3 marks]
(e) A clever systems engineer proposes re-implementing the buffer so that it can be simultaneously read and written. Explain why they might propose this, what might be the challenges in doing so, and propose a simpler approach to achieve the same end. [5 marks]
(f ) To switch between processes, the operating system must save the context of the currently executing process and restore the context of that being resumed. Explain how the relevant state is stored, and what it must contain. Explain why you would not include the IO buffers with that state. [5 marks]
Step by Step Solution
3.47 Rating (157 Votes )
There are 3 Steps involved in it
Step: 1
The detailed answer for the above question is provided below a It is necessary for the operating system to provide some degree of buffering on behalf of the application because the rate at which the a...See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started