Round Robin Scheduling:
Round robin scheduling is an algorithm mainly used by operating systems and applications that serve multiple clients that request to use resources. It handles all requests in a circular first-in-first-out (FIFO) order and eschews priority so that all processes/applications may be able to use the same resources in the same amount of time and also have the same amount of waiting time each cycle; hence it is also considered as cyclic executive.
It is one of the
oldest, simplest, fairest and most widely used scheduling algorithms of all
time, partly because it is very easy to implement as there are no complicated
timings or priorities to consider, only a FIFO system and a fixed time
constraint for each usage of the resource. This also solves the problem of
starvation, a problem in which a process is not able to use resources for a
long time because it always gets preempted by other processes thought to be
more important.
Priority Scheduling:
Priorities can
be either dynamic or static. Static priorities are allocated during creation,
whereas dynamic priorities are assigned depending on the behavior of the
processes while in the system. To illustrate, the scheduler could favor
input/output (I/O) intensive tasks, which lets expensive requests to be issued
as soon as possible.
Priorities may
be defined internally or externally. Internally defined priorities make use of
some measurable quantity to calculate the priority of a given process. In
contrast, external priorities are defined using criteria beyond the operating
system (OS), which can include the significance of the process, the type as
well as the sum of resources being utilized for computer use, user preference,
commerce and other factors like politics, etc.
Priority scheduling can be either of the following:
- Preemptive: This type of scheduling may preempt the central processing unit (CPU) in the case the priority of the freshly arrived process being greater than those of the existing processes.
- Non-preemptive: This type of scheduling algorithm simply places the new process at the top of the ready queue.
- Indefinite blocking, otherwise called starvation, is one of the major issues concerning priority scheduling algorithms. It is a state where a process is ready to be executed, but faces a long wait in getting assigned to the CPU.
It is often
possible that a priority scheduling algorithm can make a low-priority process
wait indefinitely. For example, in an intensely loaded system, if there are a number
of higher priority processes, the low-priority processes may never get the CPU
for execution.
A remedy to
starvation is aging, which is a technique used to gradually increase the
priority of those processes that wait for long periods in the system.
Clusters:
A computer
cluster is a single logical unit consisting of multiple computers that are
linked through a LAN. The networked computers essentially act as a single, much
more powerful machine. A computer cluster provides much faster processing
speed, larger storage capacity, better data integrity, superior reliability and
wider availability of resources.
Computer
clusters are, however, much more costly to implement and maintain. This results
in much higher running overhead compared to a single computer.
0 comments:
Post a Comment