CS 340 Operating Systems Assignment: The Process Scheduler- Colorado Technical University
You will need to locate and utilize performance analysis tools and process scheduling tools to complete this assignment.
Your mission this week is to analyze and manipulate the process scheduler in action on your LINUX system. You will use Linux commands to alter scheduling policies and process priorities while analyzing the effects and resulting performance.
Useful commands for this assignment:
· top
· chrt
· nice
· renice
· ps
· vmstat
And as always "man" is your best friend
Requirements
Part 1
Answer the Following:
What is an interrupt? What specifically on your system causes interrupts?
What is a context switch?
Start your Linux Partition from a fresh boot and open the Terminal. Do not open any other applications at this time. Determine values for each of the following. Provide screenshots of command output.
For a 30 second time interval:
About how many interrupts per second?
About how many context switches per second?
At a high level, what events are likely causing the current values for interrupts and context switches?
IMPORTANT: Before performing the tasks below, you will want to open at least one terminal window and maybe 2. You should be watching the performance statistics WHILE these applications are opening! This will yield the most valuable results in this lesson. i.e. Use vmstat to watch CPU statistics in real time as the system becomes busy. Continue watching values once the applications finish opening.
Open as many applications as you can while still maintaining a Linux system that functions (the slower the system the better).
Now repeat the steps from above and record new values.
Summarize finding for interrupts and context switches for each:
· Before opening applications
· While opening applications
· Shortly After all applications have opened
Part 2
Find three processes in different "states." List the process name, its current state, and what this means.
Find 3 processes using different priorities / nice values. List the process name, the priority and nice values, and what these values mean?
What is the scheduling policy of the three processes using the most CPU currently? (It is OK if they are all the same).
Change the priority of any process using the chrt command. Record before and after values. Note any noticeable effects on performance if any.
Change the nice value of any process. Record before and after values. Note any noticeable effects on performance if any.
You will want to use multiple terminal windows for this part. i.e. Use one to watch "top" values and another to enter commands.
Switch to the "root" user as you will require elevated privelges:
Type command:
sudo su - root
then enter the password for the account you setup for yourself.
Use the following command to simulate system load:
dd if=/dev/zero of=/dev/null &
run the command at least twice so that there are 2 "dd" processes running. You can launch as many of them as you want at one time. You should notice these processes are using equal amounts of CPU at first.
Pick one of these processes to make adjustments to.
Change the priority using the chrt command to various high and low priorities. Note effects on CPU usage and response time in your command shell if any.
Change the process scheduling algorithm using the "chrt" command. List current scheduling algorithm for the process and new scheduling algorithm. Note effects on CPU usage and response time if any. Use all possible scheduling policies at least once. NOTE: "chrt -m" lists possible priority values.
Format your assignment according to the following formatting requirements:
1. The answer should be typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides.
2. The response also includes a cover page containing the title of the assignment, the student's name, the course title, and the date. The cover page is not included in the required page length.
3. Also include a reference page. The Citations and references should follow APA format. The reference page is not included in the required page length.