Unit 5
Unit 5
user’s view
Evolution of operating systems
Simple Monitor
Batched processing : requires human
intervention
: long time lag between
input and output
: start over again when
error encountered
Multiprogramming
In order to have fully utilization of the CPU, the
idea of multiprogramming was introduced.
Whenever a process need to wait for the
completion of I/O accesses, it is switched to
another process so that it could do something
more productive, rather than simply waiting.
So, codes more than 1 process are resided in
memory.
Time-sharing
Even with multi-programming, processes
are still in batched mode operation.
Introduction of the idea of time-sharing can
make all active process works as if they are
the only process occupying the CPU.
Hence, more interactive.
Time sharing
CPU time is cut into small chunks, called time
slices (or quantums).
Time slices are assigned to all active processes,
one by one, according to a certain policy (round
robin, for example)
When a process’s asssigned quantum expired (or if
this process needs to wait for I/O completion),
CPU is switched to another waiting process.
This handling is often called multi-tasking.
Multiprocessors systems
A system with more than 1 CPU. In this
way, jobs can be assigned to different CPU
and hence computing power is enhanced.
CPUs in this type of system always share
the same bus and same set of memory. This
is also called “Tightly coupled systems”.
Distributed systems
When jobs are shared by different
machines, which are connected through
some external communication lines, this is
called distributed system, or “Loosely
coupled systems”.
Not only computing power is enhanced, but
also the reliability of the system is enhanced
as well.
Major functions of an operating system
Process Management
CPU scheduling (long/short term),
process synchronization
Memory Management
Device Management
File Management
Operating system structures
Simple / monolithic system
MSDOS
Vulnerable to crashes by errant programs
Operating system structures
Kernel approach-OS is separated into :