1. Homepage
  2. Programming
  3. EECS 2101 Fall 2023 Assignment 2: System for Determining the Average Waiting Times When Three Different CPU Scheduling Algorithms Are Used

EECS 2101 Fall 2023 Assignment 2: System for Determining the Average Waiting Times When Three Different CPU Scheduling Algorithms Are Used

Engage in a Conversation
York CAEECS 2101Fundamentals of Data StructuresCPU schedulingJava

EECS 2101 Section E Fall 2023 Assignment 2 CourseNana.COM

System for Determining the Average Waiting Times When Three Different CPU Scheduling Algorithms Are Used CourseNana.COM

Due Date: Monday November 13, 2023, 23:59. 1. Description of the Assignment CourseNana.COM

1.1. System for Determining the Average Waiting Times When Three Different CPU Scheduling Algorithms Are Used CourseNana.COM

You are required to apply the concepts of data structures and algorithms that you have learned in this course to design, analyze, implement, test, and document a system for determining the average waiting times for any given set of processes when each of the following three different CPU scheduling algorithms are used, as described in the material in the textbook by Silberschatz, Galvin, and Gagne mentioned further below: CourseNana.COM

(1) Preemptive Shortest-Job-First (SJF) Scheduling Algorithm, when the Arrival Time, and Burst Time are given for each process; CourseNana.COM

(2) Round Robin (RR) Scheduling Algorithm. when the Arrival Time, Burst Time, and Time Quantum are given for each process; CourseNana.COM

(3) Combined Round-Robin and Priority Scheduling Algorithm, when the Arrival Time, Burst Time, Time Quantum, and Process Priority are given for each process. CourseNana.COM

1.2. Required Readings CourseNana.COM

To understand the basic concepts related to CPU scheduling algorithms, you are required to read the material in the book authored by Silberschatz, Galvin, and Gagne, “Operating System Concepts,” Tenth Edition, Wiley, 2018, specified below. (A copy of the specified material in Silberschatz, Galvin, and Gagne’s book can be found in the 2101E F23 eClass file: Operating_System_Concepts_CPU_Scheduling.pdf) CourseNana.COM

(a) To understand the basic concept of CPU scheduling:
Read Silberschatz, Galvin, and Gagne page 200, first two paragraphs.
CourseNana.COM

(b) To understand the basic concept of Waiting time:
Read Silberschatz, Galvin, and Gagne page 205, 3
rd paragraph. CourseNana.COM

(c) To understand the basic concepts of the Preemptive Shortest-Job-First (SJF) Scheduling Algorithm: CourseNana.COM

Read Silberschatz, Galvin, and Gagne page 207, 1st paragraph under subsection 5.3.2 “Shortest-Job-First Scheduling” and
page 209, starting from 3rd paragraph, and example of
preemptive SJF scheduling. CourseNana.COM

(d) To understand the basic concepts of the Round-Robin (RR) Scheduling Algorithm: Read Silberschatz, Galvin, and Gagne page 209, the paragraphs under subsection 5.3.3 “Round-Robin Scheduling” and all the material on page 210, including the example of the RR scheduling algorithm. CourseNana.COM

(e) To understand the basic concepts of the Combined Round-Robin and Priority Scheduling Algorithm: CourseNana.COM

Read Silberschatz, Galvin, and Gagne pages 211-214, all the material under subsection 5.3.4 “Priority Scheduling”, including the example of the combined round-robin and priority scheduling algorithm starting from the last paragraph of page CourseNana.COM

213 until the end of the subsection 5.3.4. CourseNana.COM

(f) You may also take a look at Slide DS.6.33 “Application: Round Robin Schedulers” in the file “DS.6.pdf” posted on 2101E F23 eClass. CourseNana.COM

1.3. Requirements regarding the design, analysis, implementation, testing, and documentation of the system: CourseNana.COM

(a) When designing the software to implement the System for Deterministic Modeling of CPU Scheduling Algorithms, you must apply best practice software engineering principles and carefully choose appropriate data structures and methods. Furthermore, in your report/documentation you must justify and explain why you chose each particular data structure and method. CourseNana.COM

(b) You must analyze the asymptotic run times and space usage of your methods in the report. CourseNana.COM

(c) You must describe in detail any problems or difficulties that you had encountered, and how you solved or were able to overcome those problems or difficulties in the report. CourseNana.COM

(d) Additional Requirements:
(d1) You must make sure that your code has very detailed comments.
(d2) You must make sure that your code compiles correctly.
(d3) You must make sure that your code does not generate non-recoverable exceptions. (d4) You must make sure that your code is able to handle incorrect input.
CourseNana.COM

Failure to satisfy all the requirements above will result in a low mark for the assignment. CourseNana.COM

2. Platform on Which The System for Deterministic Modeling of CPU Scheduling Algorithms is to be Implemented CourseNana.COM

The programs should to be implemented using the Java programming language and you should make sure that the TAs/markers will be able to run them on the Red server at York. CourseNana.COM

3. What to Hand In CourseNana.COM

3.1. Each group is required to submit an electronic copy of the following to the 2101E F23
eClass folder titled “2101E F23 Assignment 2”:
CourseNana.COM

1. A written report that identifies and addresses all the important aspects and issues in the design, analysis, implementation, testing, and documentation of the software for the problem described above. The required format of the submitted written report is PDF. CourseNana.COM

2. The Java source programs.
3. A “Test_output” file containing the output of any testing your group has done. 4. A “README” file explaining how to compile and run your group’s program.
CourseNana.COM

3.2. Each group is also required to use the utility "submit" to submit the electronic version of the above 3 files to the course directory /cs/course/2101E/submit/a2
on the Red server.
CourseNana.COM

(Please direct all inquiries about how to login to the Red server to the Helpdesk at York University Information Technologies (UIT). Once you have logged into the Red server, in order to learn how to use any command such as “submit” on the Red server, type “man submit”.) CourseNana.COM

Important Warning: CourseNana.COM

Only submitting an electronic copy of your group’s assignment to eClass is not enough! If your group fails to use the utility "submit" to submit the electronic version of the above 3 files to the course directory /cs/course/2101E/submit/a2 on or before the due date, your group’s assignment will receive a grade of ‘F’. CourseNana.COM

4. Evaluation of the Assignment CourseNana.COM

4.1. The report part of your assignment (60%) will be evaluated according to: CourseNana.COM

(a) How well you have satisfied the requirements specified in Section 2 above. CourseNana.COM

(b) How well you have explained the design and implementation of your system and how well you have justified your design decisions. CourseNana.COM

(c) The quality of your design. CourseNana.COM

(d) How well you have designed and explained the testing. CourseNana.COM

(e) The clarity, and readability of the report. CourseNana.COM

4.2. The program and testing part of your assignment (40%) will be evaluated according to: CourseNana.COM

(a) The quality of the design and implementation of your programs. (b) The quality of the testing of your programs. CourseNana.COM

(c) Whether your programs satisfy the Additional Requirements in Section 1.3 (d), (d1)- (d4) above. CourseNana.COM

5. Resources CourseNana.COM

5.1. A copy of the material in Silberschatz, Galvin, and Gagne’s book mentioned above can be found in the file on 2101E F23 eClass titled: “Operating_System_Concepts_CPU_Scheduling.pdf” CourseNana.COM

5.2. A primitive sample java program template, is posted in the file “EECS_2101E_F23_a2_primitive_sample_template.java” on 2101E F23 eClass, CourseNana.COM

Please note that the ONLY PURPOSE of providing this primitive sample java program template is to provide some hints of what kinds of input data and output data could be involved in the assignment. Your program is NOT required to be the same, or in any way similar to, any elements or parts of this primitive sample java program template, including either the style, or format, or syntax, or code, or data structures, or program organization, etc., of any parts of this primitive sample java program template. Please note that no further explanation regarding this primitive sample java program template will be provided. CourseNana.COM

5.3. A copy of a set of slides related to the material in Silberschatz, Galvin, and Gagne’s book mentioned above can be found in the file on 2101E F23 eClass titled: “OS-ch5_part_1.pdf” CourseNana.COM

5.4. A copy of video recordings related to the set of slides in item 5.3 can be found in the files on 2101E F23 eClass titled: CourseNana.COM

CourseNana.COM

“OS-ch5_part_1.1.mp4,” and “OS-ch5_part_1.2.mp4” CourseNana.COM

Please note that it is completely up to each individual student to determine whether the items in 5.3 and 5.4 may be useful or not for doing this assignment. Please note that no further explanation regarding the items in 5.3 and 5.4, will be provided. CourseNana.COM

6. Notes CourseNana.COM

Please note that the requirements specified in Section 1. Description of the Assignment above, are the minimum requirements that must be satisfied by your assignment. Obviously, there are many other possible details of the System for Deterministic Modeling CPU Scheduling Algorithms that have been left unspecified. It is your responsibility to make appropriate design, analysis, implementation, testing, and documentation choices concerning the unspecified details of the System for Deterministic Modeling of CPU Scheduling Algorithms, and justify those decisions in your group’s report. CourseNana.COM

Note that although the material in the textbook by Silberschatz, Galvin, and Gagne do not include examples of the Round Robin (RR) Scheduling Algorithm; and Combined Round-Robin and Priority Scheduling Algorithm when Arrival Times are NOT all equal to zero, you should still try to figure out how to correctly handle cases where Arrival Times are not all equal to zero, based on the concepts explained in the material in Silberschatz, Galvin, and Gagne’s textbook (you should first try to get your program to work correctly for the cases where Arrival Times are all equal to zero, before attempting to get your program to work correctly for the cases where Arrival Times are not all equal to zero.) CourseNana.COM

You need to very carefully read and try your best to fully understand the explanation in the textbook by Silberschatz, Galvin, and Gagne regarding how the various CPU scheduling algorithms work, as no further explanation beyond Silberschatz, Galvin, and Gagne’s textbook will be provided. CourseNana.COM

In general it is up to each individual student to make his/her individual judgment regarding details that are not explicitly specified above, such as what design, analysis, implementation, testing, and documentation choices should be made; what specific material to include in the report, the length of writing for each specific material/topic in the report, the total length of the report, how to organize and structure the material in the report, ..., etc., and any other possible details about the report.  CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
York CA代写,EECS 2101代写,Fundamentals of Data Structures代写,CPU scheduling代写,Java代写,York CA代编,EECS 2101代编,Fundamentals of Data Structures代编,CPU scheduling代编,Java代编,York CA代考,EECS 2101代考,Fundamentals of Data Structures代考,CPU scheduling代考,Java代考,York CAhelp,EECS 2101help,Fundamentals of Data Structureshelp,CPU schedulinghelp,Javahelp,York CA作业代写,EECS 2101作业代写,Fundamentals of Data Structures作业代写,CPU scheduling作业代写,Java作业代写,York CA编程代写,EECS 2101编程代写,Fundamentals of Data Structures编程代写,CPU scheduling编程代写,Java编程代写,York CAprogramming help,EECS 2101programming help,Fundamentals of Data Structuresprogramming help,CPU schedulingprogramming help,Javaprogramming help,York CAassignment help,EECS 2101assignment help,Fundamentals of Data Structuresassignment help,CPU schedulingassignment help,Javaassignment help,York CAsolution,EECS 2101solution,Fundamentals of Data Structuressolution,CPU schedulingsolution,Javasolution,