Welcome to

CS 3305A: Operating Systems

Fall 2017

 

Home    Course Outline    Course Schedule    Lecture Notes    Assignments    Announcements    Misc.

 

§  TA Hours

Colin Costello (ccostel5@uwo.ca) : Thursday: 11:30am – 1:30pm (Room MC 4a)

Jonathan Tan (jtan97@uwo.ca): Friday 1:30pm – 3:30pm (Room MC 4a)

Zaid Albirawi (zalbiraw@uwo.ca): Tuesday 4:30pm – 6:30pm (Room MC 4a)

§  Computing Platform for Assignments:

o   You are to develop your code for Linux.   All testing will be done on Linux. Please note that neither Solaris nor Mac OS are Linux.

o   Students have access to the MC 244 lab, which contains 30 Ubuntu 14.04.5 systems. Linux machines available to you are:

 

§  lxg-001.gaul.csd.uwo.ca through lxg-024.gaul.csd.uwo.ca

§  hack.gaul.csd.uwo.ca

§  joust.gaul.csd.uwo.ca

§  pong.gaul.csd.uwo.ca

§  rogue.gaul.csd.uwo.ca

§  tron.gaul.csd.uwo.ca

§  zork.gaul.csd.uwo.ca

 

o   It is your responsibility to ensure that your code compiles and runs on the above systems. You can either go to MC 244 and physically use these systems, or you can SSH into them.  If you are off campus, you have to SSH to obelix.gaul.csd.uwo.ca first, and then from obelix to one of the MC 244 systems.

o   You can download a Linux virtual machine. For virtualization software, Computer Science subscribes to the VMware Academic Program.  Students can log in and download VMware Workstation (Windows/Linux) and VMware Fusion (Mac).  See details at http://www.csd.uwo.ca/help/software/vmap.html. 

 

 

·       New Platform – Vagrant

 

Doc_1

Doc_2

 

·       Students – TA list for Assignments:

 

§  Assignment 1: Due Date Oct 8th 2017

§  Assignment 2: Due Date Nov 5th 2017

§  Assignment 2: Input File

§  Assignment 2: Submission Instruction

§  Assignment 2: Makefile example

§  Assignment 3: Due Date Dec 8th 2017

§  Assignment 3: Input File

Example_output.txt

 

§  FAQ for Assignment #2 Part II

 

 

·       Question: Are we supposed to create actual processes using fork()?

Answer: NO, you don't create actual processes. It is simulation only.

·       Question: "Assign each ready queue with a specific CPU scheduling algorithm (as per the input file spec, such as FCFS, SJF, RR etc.)” - does it mean

“apply” the algorithm on those queues?

Answer: Yes, It means "apply" the algorithm on those queues.

·       Question: Can we use our own input file similar to the one provided in the Assignment?

Answer: NO. It has to be the exact same input file that has been provided.

·       Question: When you say "Ready Queue 2", do you mean the 2nd queue in the file, or the queue with the second highest priority?

Answer: q2

·       Question: What you are expecting as output (and what the format is)?

Answer: Refer to Part III_c in the Assignment #2. Output format: both screen output and txt file output required. Your output should look like following:

1. Order of the processes selected by CPU in Ready Queue 2: (you should list the processes here in the exact same order RR will execute)

2. Turnaroud time for each process in Ready Queue 2: (you should calculate the turnaround time for each process in q2;and print the results here)

3. Order of the processes selected by CPU in Ready Queue 1: (you should list the processes in q1 here in the exact same order FCFS will execute)

4. Individual waiting time for each process in Ready Queue 1: (you should calculate the waiting time for each processes in q1; and print the results here)

5. Average waiting time for Ready Queue 1: (you should calculate the avg waiting time for q1; and print the result here)

6. Order of the processes selected by CPU in Ready Queue 3: (you should list the processes here in the exact same order SJF will execute)

7. Individual waiting time for each process in Ready Queue 3: (you should calculate the waiting time for each process in q3; and print the results here)

8. Average waiting time for Ready Queue 3: (you should calculate the avg waiting time for q3; and print the result here

9. Total time taken to process all three queues: (calculate the TOTAL time it takes to execute q1, q2, and q3; and print the result here)

 

§  FAQ / Guideline for Assignment #3

1.   Submission guidelines:

2.    The program should be able to handle n depositors, m clients, and k accounts. Where n, m, and k are positive integers greater than 0.

3.    Deposit, withdraw, and transfer functionalities MUST be implemented in one single function

4.    Each of the depositors or clients can perform variable number transactions per input line.

5.    Example / illustration of a transaction is provided in the assignment

6.    All Amounts are positive integers greater than 0.

7.    No output should be printed on the console.

8.    The output of the program should be directed to an output file “Assignment_3_output_file.txt”.

9.    The output file MUST follow the structure of the example_output.txt. Otherwise, marks will be deducted.

10.  Your assignment should compile and run using the following commands:

make
./asn3.out