Multi-processing and Multi-programming Operating Systems
Multi-programming Operating System:
In
simple batch operating system one badness that the processor often remains idle
when the process under execution is halt due to some external event. And according
to the processor input and output devices are also slow, therefore, most of the
time the processor remains idle. To remove this badness, the concept of
multi-programming operating system was introduced.
Multi-programming
operating system is that type of operating systems which allows running of
multiple computer programs simultaneously on a single processor. For example,
you may be typing in MS Word, listening to music while in background Internet
Explorer is downloading some pages from internet. Working in windows 7, windowsVista, windows XP and Linux environment is multi-programming.
In the
multi-programming operating system, several programs are active at the same time
in RAM of the computer. This means that more than one job is filled in RAM and
executed by a single processor. Figure below shows main memory partitioned into
five (05) frames holding four (04) jobs.
Main
Memory (Ram)
Operating
System
(Kernel)
|
Job 3
|
Job 2
|
Job 1
|
Job 0
|
Main
Memory Partitioning in Multi-programming:
Advantages of Multi-Programming Operating System:
Multi-programming
OS make efficient use of processor by interleaving multiple active jobs that
reside in RAM. It also attempts to increase CPU utilization by always having
something for the CPU to execute. RAM is efficiently utilized to hold more jobs
than one at a time.
Limitations of multi-programming:
Multi-programming
requires context switching since several programs (processes) sequentially
share the CPU. This typically introduces processing delay compared to a
dedicated unshared process.
Multi-processing Operating System:
The use
of multiple central processing units (CPU's) within a one PC is called Multiprocessing. A multiprocessing system can multiple
tasks in parallel on multiple CPU’s and thus there should be an operating
system to control such parallel executions. Multiprocessor operating system
that perform this task.
As
multiprocessing operating system execute multiple tasks in parallel, therefore,
a single process can be divided into small independent units, called threads,
and executed in parallel on multiple processors giving birth to the concept
of multi-threading.
The
most used multiprocessing operating systems are symmetric and asymmetric
multiprocessing systems. In symmetric multiprocessing systems, all the CPU's are
equals but in asymmetric multiprocessing systems the is one master CPU
controlling other CPU's called slave CPU's.
Advantages of Multi-processing Operating Systems:
If you
have to run multiple programs at the same time, multi-processors can be very
useful. Another special advantage of multi-processors is that, that more and
more programs these days are multithreaded. A multi-threaded application is a
single program or application that can make use of more than one
processors/cores. If one processor fails to work than the load is share by
other processors.
Limitations of Multi-processing Operating Systems:
Cost
and power consumption are the disadvantage of multiprocessing operating system. A large main memory is required. A very sophisticated operating system
is required to schedule, balance and co-ordinate the input, output and
processing activities of multiple CPU's.
Multi-programming Vs Multi-processing Operating System:
Multi-programming
is different from multiprocessing in the sense that in multi-programming
multiple programs are processed by a single processor in an interleaved passion
giving the impression of being executed simultaneously while in multiprocessing
operating systems multiple processors execute more than one programs
simultaneously.
No comments:
Post a Comment