faq
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
faq [2021/03/17 14:13] – jxu | faq [2021/03/18 22:59] – jxu | ||
---|---|---|---|
Line 176: | Line 176: | ||
**Question 20**: Because my group started working on Assignment 2 rather late, now it looks almost certain that we won’t be able to finish designing, and implementing any working Java program that is able to compute the average waiting times and average turnaround times for any given workload using all of the six scheduling algorithms as specified in Assignment 2. Yet we don’t want to completely give up on Assignment 2. Can you give us some advice on what we might consider doing for the programming part of Assignment 2 to at least get something done for the programming part, taking into consideration that we only have a few days left before the deadline to work on the assignment? | **Question 20**: Because my group started working on Assignment 2 rather late, now it looks almost certain that we won’t be able to finish designing, and implementing any working Java program that is able to compute the average waiting times and average turnaround times for any given workload using all of the six scheduling algorithms as specified in Assignment 2. Yet we don’t want to completely give up on Assignment 2. Can you give us some advice on what we might consider doing for the programming part of Assignment 2 to at least get something done for the programming part, taking into consideration that we only have a few days left before the deadline to work on the assignment? | ||
- | **Answer to Question 20**: : As a first step, you may try to write the code only for a //**very basic and simple Java program**//, | + | **Answer to Question 20**: As a first step, you may try to write the code only for a //**very basic and simple Java program**//, |
- | + | ||
- | - (1) Each process //**only executes once on the CPU**// before terminating; | + | |
- | - (2) Each process //**never does any I/O**// on any I/O device; | + | |
- | - (3) All processes have the //**same single CPU Computation Time**//; | + | |
- | - (4) Only the simplest //**C1. Nonpreemptive First-Come, First-Served (FCFS) CPU Scheduling**// | + | |
+ | * Each process //**only executes once on the CPU**// before terminating; | ||
+ | * Each process //**never does any I/O**// on any I/O device; | ||
+ | * All processes have the //**same single CPU Computation Time**//; | ||
+ | * Only the simplest //**C1. Nonpreemptive First-Come, First-Served (FCFS) CPU Scheduling**// | ||
Note that in this very basic and simple system: | Note that in this very basic and simple system: | ||
Line 193: | Line 191: | ||
Write the code so that the program allows the user to enter as input parameters the following: | Write the code so that the program allows the user to enter as input parameters the following: | ||
- | | + | |
- | | + | |
- | | + | |
Then try to write code which computes the Average Waiting Times and Average Turnaround Times for any set of user input parameters above. | Then try to write code which computes the Average Waiting Times and Average Turnaround Times for any set of user input parameters above. | ||
- | **Once you have got the code for the very basic and simple Java program described above working, then try to gradually add additional features, in order of difficulty**, to the code. For example: | + | //**Once you have got the code for the very basic and simple Java program described above working, then try to gradually add additional features, in order of difficulty, to the code**//. For example: |
- First try to allow processes to have // | - First try to allow processes to have // | ||
- Then try using //**C2. Nonpreemptive Shortest-Job-First (SJF) Scheduling**// | - Then try using //**C2. Nonpreemptive Shortest-Job-First (SJF) Scheduling**// | ||
Line 205: | Line 204: | ||
- Then try using some of the // | - Then try using some of the // | ||
- Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling only use one of the // | - Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling only use one of the // | ||
- | - Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling | + | - Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling use some of the // |
- … | - … | ||
Line 211: | Line 210: | ||
When adding each additional feature, write the code so that the program allows the user to enter as input parameters the following: | When adding each additional feature, write the code so that the program allows the user to enter as input parameters the following: | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
When adding each additional feature, write code which computes the Average Waiting Times and Average Turnaround Times for | When adding each additional feature, write code which computes the Average Waiting Times and Average Turnaround Times for | ||
any set of user input parameters above. | any set of user input parameters above. | ||
+ | |||
+ | **Question 21**: For assignment 2, do we implement all the different schedulers mentioned in section C of the assignment document? Or do we pick just one of them to implement? | ||
+ | |||
+ | **Answer to Question 21**: Assignment 2 requires implementing ALL the different schedulers mentioned in section C of the assignment document. |
faq.txt · Last modified: 2021/04/26 22:20 by jxu