Title: Process Scheduling in Windows XP, Linux, and UNIX
1Process Scheduling in Windows XP, Linux, and UNIX
- By Sarah G. Levinson
- CSC 4320
2Common Measures of Operating System Performance
- CPU Utilization
- Throughput
- Turnaround Time
- Response Time
- Wait Time
3Other Important Factors
- User-Perceived Performance This measure is
concerned with how efficient the system seems to
a human user. This deals less with overall
efficiency and more with the time it takes for
the user to see observable results of a response. - Fairness Processes that are similar are given
similar access to system resources. The property
of fairness is exemplified by the Round Robin
scheduling algorithm.
4The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Traditional UNIX Overall Efficiency, Fairness
and User-Perceived Performance - Multi-level feedback queue implementation is
used, so processes with higher priority have
first access to CPU time. - Priority of a process is based on the type of
process, where the swapper has highest priority
and user processes have lowest priority.
5The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Traditional UNIX Overall Efficiency, Fairness
and User-Perceived Performance - Round Robin algorithm is implemented within
individual priority queues, and a processs
priority is decreased as it uses more CPU time. - User programs that are processor-bound are
penalized more than user programs that are
I/O-bound.
6The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Modern UNIX Real-Time Processing and Overall
Efficiency - Processes can be assigned one of three priority
levels Real Time, Kernel, or Time Shared. - Real Time processes have the highest priority and
may pre-empt processes at any other level,
including kernel processes.
7The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Modern UNIX Real-Time Processing and Overall
Efficiency - If multiple real-time processes are waiting to
run, the highest-priority process is selected to
run until it has exhausted its time quantum. - If a higher-level process has not completed but
is not currently in a running status, a process
is selected from the highest-priority ready queue
that is not empty.
8The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Modern UNIX Real-Time Processing and Overall
Efficiency - The priorities of time shared processes are
dynamically set by the OS. - A processs priority is lowered when it uses up a
time quantum and raised it if blocks on an event
or resource.
9The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- LinuxReal-Time Processing and Fairness
- Linux uses two process scheduling algorithms a
real-time algorithm for processes that must be
allowed to execute in a timely fashion, and a
timesharing algorithm for all other processes. - The Round Robin and FIFO scheduling algorithms
are used to switch between real-time processes.
10The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- LinuxReal-Time Processing and Fairness
- Timesharing algorithm is prioritized and
credit-based. - Credit-Based When a new process must be
selected, the process with the most credits is
selected. A process that is running loses a
credit every time the timer interrupt occurs.
When a process has no more credits, it may not
run.
11The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- LinuxReal-Time Processing and Fairness
- Timesharing algorithm is prioritized and
credit-based. - Prioritized When no processes have any
remaining credits, the system re-assigns credits.
Higher priority processes receive more credits.
12The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- LinuxReal-Time Processing and Fairness
- Timesharing algorithm is prioritized and
credit-based. - This crediting system automatically prioritizes
interactive and I/O-bound processes, which
increases fairness and user-perceived
performance.
13The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Windows XP Real Time Processing and
User-Perceived Performance - Real time processes have the highest priority and
can pre-empt any process with lower priority. - System processes may be starved by real time
processes because a processs priority is never
decreased.
14The process scheduling algorithms used by an
operating system reflect its primary performance
objectives.
- Windows XP Real Time Processing and
User-Perceived Performance - All processes receive a priority boost after a
wait event, but processes that have experienced a
keyboard I/O wait get a larger boost than those
that have experienced a disk I/O wait. - Foreground processes given higher priority.
15Questions?