Jump to content

Scheduling algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 200.13.90.208 (talk) at 22:20, 7 October 2008 (In computing and multitasking). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, a scheduling algorithm is the method by which threads, processes or data flows are given access to system resources (e.g. processor time, communications bandwidth). This is usually done to load balance a system effectively or achieve a target Quality of service. The need for a scheduling algorithm arises from the requirement for most modern systems to perform multitasking (execute more than one process at a time) and Multiplexing (transmit multiple flows simultaneously).

In computing and multitasking

The algorithm used may be as simple as round-robin in which each process is given equal time (for instance 1 ms,+

In computer networks and multiplexing

In packet-switched computer networks and other statistical multiplexing, the notion of a scheduling algorithm is used as an alternative to first-come first-served queuing of data packets. In advanced packet radio wireless networks such as HSDPA 3.5G cellular system, channel-dependent scheduling may be used to take advantage of favourable channel conditions to increase the throughput and system spectral efficiency. The simplest best-effort scheduling algorithms are round-robin, fair queuing (a max-min fair scheduling algorithm), proportionally fair scheduling and maximum throughput. If differentiated or guaranteed quality of service is offered, as opposed to best-effort communication, weighted fair queuing may be utilized.

In computer I/O

Determines the order in which disk I/O requests are pushed to the disk device.

See also