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/02/16 20:33] – jxu | faq [2021/03/17 14:13] – jxu | ||
---|---|---|---|
Line 72: | Line 72: | ||
**Answer to Question 8:** | **Answer to Question 8:** | ||
The Assignment 1 specification states that, “**F. Notes** //... In general it is up to each individual student to make his/her individual judgment regarding details such as what specific material to include in the report, the length of writing in the report, and how to organize and structure the material in the report, and any other possible details about the report. ...”// | The Assignment 1 specification states that, “**F. Notes** //... In general it is up to each individual student to make his/her individual judgment regarding details such as what specific material to include in the report, the length of writing in the report, and how to organize and structure the material in the report, and any other possible details about the report. ...”// | ||
- | ** | + | |
- | Question 9**: Can we use lectures from our | + | **Question 9**: Can we use lectures from our |
previous courses like EECS 2030 to help us explain the function of some OOP | previous courses like EECS 2030 to help us explain the function of some OOP | ||
methods and if so should we source them? | methods and if so should we source them? | ||
Line 80: | Line 80: | ||
previous courses like EECS 2030, because such information is not publicly available. However, you can reference a textbook that is used by a previous course. | previous courses like EECS 2030, because such information is not publicly available. However, you can reference a textbook that is used by a previous course. | ||
- | **Question 10**: How should I think about what specific material | + | **Question 10**: How should I think about what kind of information |
**Answer to Question 10:** | **Answer to Question 10:** | ||
Line 86: | Line 86: | ||
// | // | ||
+ | |||
+ | **Question 11**: What would be a good way to practice using the algorithms and data structures in the course? | ||
+ | |||
+ | **Answer to Question 11:** | ||
+ | A good way to practice using the algorithms and data structures in the course, would be for each particular algorithm and data structure, including each particular method/ | ||
+ | **Question 12**: The question states that we are to " | ||
+ | |||
+ | **Answer to Question 12**: You can imagine that it is an existing software company which prefers to remain anonymous which has commissioned this report. You do not need to come up with a company name on your own. | ||
+ | |||
+ | **Question 13**: The assignment requires that we write a report on the various object-oriented approaches in the design and implementation of that company' | ||
+ | |||
+ | **Answer to Question 13**: The Assignment 1 description never said that you should "... describe various approaches to designing a software for ..." ONLY ONE "... task/ | ||
+ | |||
+ | |||
+ | **Question 14**: In assignment 1 when you say " identify and explain the | ||
+ | possible advantages and disadvantages of using various object-oriented | ||
+ | approaches in the design and implementation of software", | ||
+ | in this case, be considered a program written using a programming language? | ||
+ | |||
+ | **Answer to Question 14**: You may perform a Google Search on the term " | ||
+ | |||
+ | **Question 15:** | ||
+ | If we use a text book to reference multiple materiel for our essay do we reference it once or multiple times including the pages? | ||
+ | |||
+ | |||
+ | example 1: | ||
+ | |||
+ | |||
+ | |||
+ | [1] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008. | ||
+ | |||
+ | |||
+ | |||
+ | example 2: | ||
+ | |||
+ | |||
+ | |||
+ | [1] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008. Pages 111-115 | ||
+ | |||
+ | |||
+ | |||
+ | [2] Poo, Danny C. C., Derek Beng Kee Kiong, and Swarnalatha. Ashok. Object-Oriented Programming and Java. 2nd ed. London: Springer, 2008. Pages 60-65 | ||
+ | |||
+ | **Answer to Question 15:** | ||
+ | Take a look at the References or Bibliography section of //**any**// article among the **hundreds of millions** of scholarly literature in Google Scholar https:// | ||
+ | |||
+ | **Question 16**: How should we submit the academic honesty statement for Assignment 1? | ||
+ | Should it be added in a page before the title page or would it be all right | ||
+ | to upload both our report PDF and academic honesty statement PDF as two | ||
+ | different files in the submission? | ||
+ | |||
+ | **Answer to Question 16**: Both methods are acceptable. | ||
+ | |||
+ | **Question 17**: : Am I coding the whole system, like a queue for a ready, running and terminated our am I coding the calculation of the CPU. And also for first come first serve I assume every state has an CPU_time, and an I/ | ||
+ | |||
+ | **Answer to Question 17**: In the EECS2011N W21 Assignment 2 specification, | ||
+ | “... | ||
+ | 5. Notes, 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, | ||
+ | ...” | ||
+ | |||
+ | **Question 18**: I am not quite sure what we have to code in java, is it the 6 scheduling | ||
+ | algorithms from section 5.3? If yes then what should be the processes, arrival time and | ||
+ | their priority process? There is no data set available on the assignment 2 pdf. | ||
+ | |||
+ | **Answer to Question 18**: You need to not only carefully read and study the Assignment 2 specification in the 2011N_W21 Assignment_2.pdf file on eClass, but also need to carefully read and study all of the following which are posted on eClass: | ||
+ | |||
+ | (1) The copy of Sections 5.1, 5.2, 5.3, and 5.8.1, of Chapter 5 of Silberschatz, | ||
+ | Gagne’s book above can be found in the 2011N W21 eClass file | ||
+ | Operating_System_Concepts_CPU_Scheduling.pdf; | ||
+ | |||
+ | (2) The example provided in the file “2011N_W21_Assignment_2_Example.pdf” | ||
+ | which is posted on 2011N W21 eClass. | ||
+ | |||
+ | (3) The Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass. | ||
+ | |||
+ | **Question 19**: We are having extreme difficulties | ||
+ | implementing the preemptive algorithms. Implementing these algorithms to work in parallel with the IOScheduler FCFS | ||
+ | algorithm is a greater challenge than we have the tools to solve. | ||
+ | |||
+ | **Answer to Question 19**: You also need to carefully read and study all the material listed | ||
+ | in the Answer to Question 18 above. As shown in the Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass, the performance of each algorithm for any workload, that is, the Average Waiting Time, and the Average Turnaround Time, can all be calculated solely with pen and paper step-by-step. | ||
+ | |||
+ | Note that, ANYTHING THAT CAN BE CALCULATED SOLELY WITH PEN AND PAPER STEP-BY-STEP, | ||
+ | there is no need to get anything "to work in parallel", | ||
+ | parallel programming tools such as " | ||
+ | |||
+ | **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**//, | ||
+ | | ||
+ | - (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**// | ||
+ | |||
+ | |||
+ | |||
+ | Note that in this very basic and simple system: | ||
+ | - There is only one single process queue – the ready queue, which is a FCFS queue; | ||
+ | - Whenever a process arrives, it is entered at the end of the ready queue; | ||
+ | - Whenever the CPU becomes available, the Nonpremptive FCFS CPU Scheduler always removes from the ready queue the process which is at the front of the ready queue, and allows that process to start executing on the CPU; | ||
+ | - Once a process starts executing on the CPU, it is never preempted, and always executes for the full duration of its CPU Computation Time before terminating. | ||
+ | - Whenever a process terminates, the CPU becomes available again. | ||
+ | |||
+ | Write the code so that the program allows the user to enter as input parameters the following: | ||
+ | - the number of processes; | ||
+ | - the Arrival Time of each process; | ||
+ | - the CPU Computation Time for each process; | ||
+ | |||
+ | 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**, | ||
+ | - First try to allow processes to have // | ||
+ | - Then try using //**C2. Nonpreemptive Shortest-Job-First (SJF) Scheduling**// | ||
+ | - Then try using //**C4. Nonpreemptive Priority Scheduling**// | ||
+ | - 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 // | ||
+ | - … | ||
+ | |||
+ | (Add additional features one-by-one in this gradualist fashion, and just try to add as many features as possible before the assignment deadline.) | ||
+ | |||
+ | When adding each additional feature, write the code so that the program allows the user to enter as input parameters the following: | ||
+ | - the number of processes; | ||
+ | - the Arrival Time of each process; | ||
+ | - the Priority of each process; | ||
+ | - the Sequence of CPU Computation Time and I/O Time Requirements for each process; | ||
+ | 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. |
faq.txt · Last modified: 2021/04/26 22:20 by jxu