CS308 – Operating System
Assignment 1 (10 points) Part I (3points): For each of the following questions:
1) Draw a clear time chart showing how the CPU can schedule the execution of the processes with respect to the different characteristics (show the arrival time of the different processes).
2) Calculate the average waiting time (show the steps).
* you can assume that we have single CPU with one core, and the processes are always ready and will not wait for resources.
*Note: there may be extra information given in each question, that you may not need
Q1 (1 point – use Priority Scheduling method):
Q2 (1 point – use round robin with quantum time = 5):
Q3 (1 point – use shortest job first with quantum time = 3):
Process ID Execution Time Priority Arrival 1 10 3 0 2 1 1 (Highest) 0 3 2 4 0 4 1 5 (Lowest) 0 5 5 2 0
Process ID Execution Time Arrival 1 10 0 2 29 0 3 3 0 4 7 0 5 12 0
Process ID Execution Time Priority Arrival 1 14 1 (Highest) 0 2 12 2 2 3 8 3 4 4 4 2 5 5 7 4 (Lowest) 17
Part II (3points): The Short Job First, Round Robin, Priority Scheduling, and the First come First Serve algorithms are examples of many other algorithms the CPU can use to perform the scheduling functionality.
The Shortest Remaining Time and The Multilevel Queue Scheduling are two more scheduling algorithms. For each of these algorithms, do enough search on the internet to address the following points:
1- Discuss, using your own words, the work of the algorithms in steps 2- Describe the work of the algorithm using at least one example. 3- The differences between this algorithm and the 4 algorithms we studied in class.
You should cite (mention) the online articles/pages/resources/references you used to answer each point – you need to use your own words to develop the answer.
*Note: You must not copy any resource (text or figure) in your answer, you can should use online/offline resources to understand the topic then to develop your own answer. Copied answers will receive Zero.
*Note: You can assume that your target reader has no pre-knowledge of these two algorithms, so address the three points above clearly and don’t use abbreviations or keywords without explaining them.
Part III (4points): We had a discussion on processes along with the different ways to create and to terminate them. Open the Ubuntu virtual machine you installed. After your login using the credentials, first open some applications (e.g., Firefox, calculator) then open a terminal.
Any Linux command is structured as follows: The command [list of attributes/options as input(s) to the command] One of the main commands in the context of processes is the “ps” that stands for Process Status and is used to view information about the different processes in the system. This command accepts a huge range of attributes/options to view different parameters/info about processes.
1- Do some search on the internet to read about the following “ps” options.
The ps commands we would like to try are: ps ps -A ps -x ps aux
2- Type the command in the terminal (one by one), click enter to run the command, take screenshot of the output, and then explain the purpose (the different parameters/info of the output) of the command in your own words – Before you move to the next command.
After running the Linux command “ps aux” from the previous step, we now know information about the current running processes in the system. Let us work with more commands as shown below:
Linux commands are: ps aux | grep firefox This command is used to list all running processes in the system with a name of firefox ps aux | grep calculator This command is used to list all running processes in the system with name of calculator kill [PID] This command is used to terminate a process, replace [PID] with the process id number and don’t include the square brackets
3- Type the command in the terminal and click enter to run the command, in the following sequence: • Run commands 1 and 2 -one by one- to know the process ID (PID) of Firefox and the calculator
respectively. • Run command 3 to terminate the Firefox process, using the ID of Firefox • Run command 3 again to terminate the calculator process, using the ID of the calculator • Run command “ps aux” one more time to see if Firefox and the calculator are still on.
4- Take screenshot of the output per step.
Submission:
1. This is an individual assignment — Cheating/plagiarism will be checked and will receive zero.
2. Use the tool you find appropriate to develop your solutions (e.g., Microsoft word) – DON’T submit handwritten solutions.
3. Submit only ONE PDF file to the folder titled Assignment 1 under the D2L Assignments tab (other formats will not be accepted).