Ask a Question

Which scheduling algorithm is used in UNIX?


Dipankar

on 2011-01-13 10:30:00  

The scheduling algorithm of traditional Unix operating systems must fulfill several conflicting objectives: fast process response time, good throughput for background jobs, avoidance of process starvation, reconciliation of the needs of low- and high-priority processes, and so on. The set of rules used to determine when and how selecting a new process to run is called scheduling policy traditional Unix scheduleduler use Multilevel Feedback Queues; Runnable processes are assigned to run queues on their priority (process priority is dynamic). Processes are scheduled on time sliced basis as follows run queues are scanned from top to bottom first process on non-empty queue is run processes on a queue are run round robin with equal time slices blocking processes are removed from run queue processes using up their time slice are scheduled at end of queue Scheduling priorities are dynamically adjusted to reflect requirements for resources recent CPU usage and processes shuffled between queues accordingly. Users express requirements for processes via nice() factors that improve process priority the lower they are lie between -20 (high) and 20 (low) (default 0) user may only set between 0 and 20 unless superuser Linux uses a preemptive, priority algorithm based on the time-sharing technique.

SHOUBHIK

on 2011-01-13 10:30:00  

SHOUBHIK

on 2011-01-17 10:30:00  

>