Important Notes
• Handins:
– For undergraduate students, you may do this assignment as a team of two stu-dents and hand in one submission per team.
– For postgraduate students, you have to do this assignment individually and make individual submissions.
– All implementations have to be done in C++.
– You need to submit your source code using the web submission system. You should attach you and your partner’s name and student number in your submission.
– Late submissions will attract a penalty: the maximum mark you can obtain will be reduced by 25% per day (or part thereof) past the due date or any extension you are granted.
• Marking scheme:
– 12 marks for online testing on 3 standard tests (4 marks per test).
– 3 marks for the structure of your code and comments.
If you have any questions, please send them to the student discussion forum. This way you can all help each other and everyone gets to see the answers.
The assignment
The aim of this assignment is to improve your learning experience in the process scheduling algorithms. You are required to design an online ticketing system for Coopers Stadium’s public-seating section (red-coloured section in Coopers Stadium’s seats map shown in Figure 1)
In the system, all the customers are grouped into five priority classes, ranged from 1 to 5, according to their loyalty (accumulated points) to this ticketing system. A larger priority number indicates a higher priority. All ticketing processes (purchase/cancellation) generated by a customer are assigned with the same priority number of that customer. To maximise the system service performance, you are required to implement a customer process scheduling algorithm using multi-level queue strategy with two queues: a high priority Queue 1 and a low priority Queue 2. Queue 1 has absolute priority over Queue 2. In other words, a customer process in Queue 2 will only be processed if there is no process in Queue 1. There is a threshold (=2) that is used to determine whether a process should remain in Queue 1 (priority > threshold) or Queue 2 (priority threshold). Detailed actions in these two queues are listed below:
Queue 1: This is the high priority queue. All processes in this queue are treated in the way of combined Highest Priority First (HPF) and Round Robin. That is, select the highest priority process and process it for a ticket quota of 5 tickets (= 5 units of time quantum) non-preemptively, then move the process to the end of Queue 1.