Answered step by step
Verified Expert Solution
Question
1 Approved Answer
A very simple OS may be represented as a set of three threads interacting as follows: Process Simple_OS; reader_thread { } while (1) {
A very simple OS may be represented as a set of three threads interacting as follows: Process Simple_OS; reader_thread { } while (1) { } } main_body_thread { while (1) { } read data from input device; deposit data in input_buffer; } fetch data from input_buffer; process data and generate output result; deposit result in output_buffer; display_thread { while (1) { fetch result from output_buffer; display result on output device } The simple OS suffers with concurrency issue. Modify and augment this simple OS using semaphore operations to properly buffer the input data that flows from the reader to the main body, and the output result that flows from main body to the display. Assume that both input and output buffers have N buffers and the fetch statement can access the buffers correctly. You have to make use of semaphores to coordinate amongst the three threads. Remember to properly initialize the semaphores before using them (similar to the approach adopted in the lecture note, e.g., slide # 28 of Lecture note 06- Synchronization).
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Process SimpleOS readerthread while1 PS read data from input device deposit data in input...Get Instant Access to Expert-Tailored Solutions
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