

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The instructions for project #3 in csce 311 fall 2008 course. Students are required to implement a multi-level queue with round-robin scheduling algorithm for threadcb.java in osp2 simulator. Details on creating two separate queues, estimating cpu burst time using exponential averaging, and inserting threads into the appropriate queue based on the estimated burst time.
Typology: Study Guides, Projects, Research
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Objective: To implement Thread scheduling on the OSP2 simulator. You will implement the module ThreadCB.java to further your understanding of CPU scheduling. You are required to implement a multi-level queue that uses the round-robin scheduling algorithm.
Required to turn in: Follow all directions regarding hand-in procedures. Points will be deducted if you do not follow directions precisely. You must turn in a hard copy of the ThreadCB.java code you implemented. You must also provide a hard copy of one run (i.e. osp.log) using the multi-level queue scheduling algorithm described in this document. You must also submit an electronic copy of your multi-level queue solution (or your best try) via dropbox. Late assignments will not be accepted. You must document your code and provide a one-page explanation of how you accomplished the assignment (or what you have currently and why you could not complete). You should describe your use, creation, and manipulation of data structures to accomplish the assignment.
Building and executing the simulation I suggest that you create a new directory and copy your files from the first part of the cpu scheduling project and starting with that version of ThreadCB.java modify it to create the multi-level queue solution. The only file you should have to modify is ThreadCB.java. Modifying the other files will probably "break" OSP2. The only changes you need to make to your code from the previous project are:
priority queue. You can recognize that a process is new because the value of lastCpuBurst is -1.
Some more hints:
Turning in Your Assignment via dropbox When you are satisfied that your CPU scheduling algorithm in ThreadCB works, use dropbox to submit your project. Use dropbox to submit the following files to Project 3. Do not submit to Project 2, that will overwrite your FCFS solution from the week before :
Remember to turn your assignment in on time. I don't accept late submissions, but I will give partial credit if the assignment actually runs and is on time.