Operating System: Lecturer Ameer Sameer Hamood University of Babylon
Operating System: Lecturer Ameer Sameer Hamood University of Babylon
LECTURER
AMEER SAMEER HAMOOD
UNIVERSITY OF BABYLON
INFORMATION TECHNOLOGY - INFORMATION NETWORKS
[email protected]
Have the Courage to follow your heart and intuitions.
Somehow they already know what you want to become.
(Steve Jobs)
For a computer to start running—for instance, when it is powered up or rebooted—it needs to have an initial
program to run.
This initial program, or bootstrap program, Typically, it is stored within the computer hardware in read-only
memory (ROM) or electrically erasable programmable read-only memory (EEPROM), known by the general
term firmware. It initializes all aspects of the system, from CPU registers to device controllers to memory
contents.
The bootstrap program must know how to load the operating system and how to start executing that system.
To accomplish this goal, the bootstrap program must locate the operating-system kernel and load it into memory.
A modern computer system
1. Main memory is usually too small to store all needed programs and data permanently.
2. Main memory is a volatile storage device that loses its contents when power is turned off or otherwise
lost. Thus, most computer systems provide secondary storage as an extension of main memory. The
main requirement for secondary storage is that it be able to hold large quantities of data permanently
Storage device hierarchy
Operating-System Structure
Simple Batch System
Advantages
Batch processing takes much of the work of the operator to the computer.
Increased performance as a new job get started as soon as the previous job is finished,
without any manual intervention.
Disadvantages
Difficult to debug program.
A job could enter an infinite loop.
Due to lack of protection scheme, one batch job can affect pending jobs.
OS Features Needed for
Multiprogramming
Sharing the processor, when two or more programs reside in memory at the same time, is
referred as multiprogramming. Multiprogramming assumes a single shared processor.
Multiprogramming increases CPU utilization by organizing jobs so that the CPU always
has one to execute.
I/O routine supplied by the system.
Memory management – the system must allocate the memory to several jobs.
CPU scheduling – the system must choose among several jobs ready to run.
Allocation of devices.
Multiprogramming
Advantages
High and efficient CPU utilization.
User feels that many programs are allotted (distribute) CPU almost simultaneously.
Disadvantages
CPU scheduling is required.
To accommodate many jobs in memory, memory management is required.
Parallel Systems
Symmetric multiprocessing
Asymmetric multiprocessing
(SMP)
- Each processor runs an - Each processor is assigned a
identical copy of the operating specific task; master processor
system. schedules and allocates work
- Many processes can run at to slave processors.
once without performance - More common in extremely
deterioration (drop). large systems
- Most modern operating
systems support SMP
Each may or may not run an OS [and the OSes need Normally an OS is used and this is a single
not be the same] instance(copy) that runs on all the CPUs, dividing
work between them
Some kind of communication facility between the Some kind of communication facility between the
CPUs is provided CPUs is provided [and this is normally shared
memory]
Real-Time Systems
Resources Sharing
Computation speed up – load sharing
Reliability
Communications
Network Operating System
provides file sharing
provides communication scheme
runs independently from other computers on the network
Distributed Operating System
less autonomy between computers
Gives the impression (looks like) there is a single operating system controlling the network.