1. MS-DOS provided no means of concurrent processing. Discuss three major complications that concurrent processing adds to an operating system.
2. Describe the differences among short-term, medium-term, and long-term scheduling.
3. Describe the actions taken by a kernel to switch context between processes.
The source code of a producer-consumer program
implemented using shared-memory can be got via http://www.im.ntu.edu.tw/~robin/courses/os04/code/producer-consumer.c.
Ensure that you can compile and execute the code and know the meanings of it. The producer-consumer algorithm described in the source code allows only n-1 buffers to be full at any one time. Modify the algorithm to allow all buffers to be utilized fully and also modify the source code to let the consumer consume the items in the buffer only if the buffer is full. Please dump the modified code only, i.e. not the whole program, and also dump the output result with your other answers of this homework.