- Throughput: It is the ratio of total number of
processes executed to a given amount of time.
- Latency: This factor can be sub – divided in
to two namely response time and the turnaround time. Response time is the
time taken from the submission of the process till its output is produced
by the processor. The latter i.e., the turnaround time is the time period
elapsed between the process submission and its completion.
- Waiting/ fairness time: This is the equal CPU
time given to each process or we can say that the time is allocated as
per the priority of the processes. The time for which the processes wait
in the ready queue is also counted in this.
Thursday, May 2, 2013
What is a CPU Scheduler?
Posted by
Sunflower
at
5/02/2013 05:28:00 PM
0
comments
Labels: Algorithm, Communication, CPU, CPU Scheduling, Data, Latency, Memory, Methods, Multi-tasking, Operating System, Resources, Scheduling, System, Tasks, Throughput, Transmit, Types, Waiting time
|
| Subscribe by Email |
|
Thursday, January 21, 2010
Thrashing and its Causes
It is technically possible to reduce the number of allocated frames to the minimum, there is some number of pages that are in active use. If the process does not have this number of frames, it will very quickly page fault. At this point, it must replace some page. However, since all its pages are in active use, it must replace a page that will be needed again right away. Consequently it very quickly faults again, and again, and again. The process continues to fault, replacing pages for which it will then fault and bring back in right away. This high paging activity is called thrashing. A process is thrashing if it is spending more time paging than executing.
Thrashing results in severe performance problems. If you consider the scenario below you will understand how early paging systems behaved :
CPU utilization is monitored by the operating system. If the system finds that CPU utilization is too low, multiprogramming is increased by adding a new process; the algorithm used replaces pages without considering their linked processes. However, a process may end up needing more frames and takes pages away from other processes, causing faulting. The processes from which those pages were taken away in turn will pull pages from other processes increasing the degree of faulting. As processes queue up for the paging device and end up waiting for pages, CPU utilization decreases, in turn causing a push to increase the degree of multiprogramming. This process will keep on happening with CPU utilization decreasing even further and the CPU scheduler trying to increase multiprogramming even further. This leads to thrashing and consequent decrease in system throughput (accompanied by a large increase in page fault rate).
Posted by
Sunflower
at
1/21/2010 09:29:00 PM
0
comments
Labels: Algorithms, Causes, CPU, CPU Scheduling, Frames, pages, Performance, Process, Thrashing
|
| Subscribe by Email |
|
Wednesday, August 26, 2009
CPU / Process Scheduling
CPU scheduling is the basis of multi-programmed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. A multiprogramming operating system allows more than one process to be loaded into the executable memory at a time and for the loaded process to share the CPU using time-multiplexing.
Goals for Scheduling :
* Utilization/Efficiency: keep the CPU busy 100% of the time with useful work.
* Throughput: maximize the number of jobs processed per hour.
* Turnaround time: from the time of submission to the time of completion, minimize the time batch users must wait for output.
* Waiting time: Minimize the waiting time i.e. sum of times spent in ready queue.
* Response Time: time from submission till the first response is produced, minimize response time for interactive users.
* Fairness: make sure each process gets a fair share of the CPU.
Some goals can be met by incorporating a notion of priority into a “base” scheduling discipline. Each job in the ready pool has an associated priority value; the scheduler favors jobs with higher priority values.
External priority values:
• imposed on the system from outside.
• reflect external preferences for particular users or tasks.
“All jobs are equal, but some jobs are more equal than others.”
• Example: Unix nice system call to lower priority of a task.
• Example: Urgent tasks in a real-time process control system.
Internal priority: system adjusts priority values internally as as an implementation technique within the scheduler. It improves fairness, resource utilization, freedom from starvation.
• drop priority of jobs consuming more than their share
• boost jobs that already hold resources that are in demand
e.g., internal sleep primitive in Unix kernels
• boost jobs that have starved in the recent past
• typically a continuous, dynamic, readjustment in response to observed conditions and events may be visible and controllable to other parts of the system.
Scheduling policies may be preemptive or non-preemptive.
* Non-Preemptive: Non-preemptive algorithms are designed so that once a process enters the running state(is allowed a process), it is not removed from the processor until it has completed its service time ( or it explicitly yields the processor).
* Preemptive: Preemptive algorithms are driven by the notion of prioritized computation. The process with the highest priority should always be the one currently using the processor. If a process is currently using the processor and a new process with a higher priority enters, the ready list, the process on the processor should be removed and returned to the ready list until it is once again the highest-priority process in the system.
Posted by
Sunflower
at
8/26/2009 08:32:00 PM
0
comments
Labels: CPU, CPU Scheduling, Non-preemptive, Preemptive, Priority, Process
|
| Subscribe by Email |
|