Assignment title: Information
All programs are implemented in C language.
Assignment details
Topic: CPU Scheduling, FIFOs and Signals
This topic will involve some application program developments using CPU scheduling, FIFOs
and Signal concepts. You are required to develop two programs, namely Topic1_Prg_1 and
Topic1_Prg_2. The requirements of these two programs are
(1) Topic1_Prg_1: You are required to use CPU scheduling and FIFOs in your
program. Your program is to simulate CPU scheduling by applying Shortestremaining-time-first algorithm (SRTF). Your program is required to measure
average waiting time and turnaround time in your CUP scheduling. When CPU
scheduling is completed, your program is required to define a FIFOs and write these
average waiting time and turnaround time to CPU memory through the FIFOs. The
input data involving the CPU scheduling are as follows:
Process ID Arrive time Bust time
1 8 10
2 10 3
3 14 7
4 9 5
5 16 4
6 21 6
7 26 2
(2) Topic1_Prg_2: After the programming of Topic1_Prg_1, your program is required
to read the average waiting time and turnaround time from the memory through the
FIFOs as defined in the Topic1_Prg_1. Then, your program is required to write
those read data to a text file named "output.txt". You need to set up your own signal
(SIGUSR1 or SIGUSR2) to watch the "output_topic1.txt" and give a notification
when the writing "output_topic1.txt" is completed. After scheduling, the program will
print out the average waiting time and turnaround time to your PC's console. The
format of print-out is as follows:
Process ID Average Waiting Time Turnaround Time
1 2 3
… … …
You are required to write a report to summarise your observation.