01-04-2011, 12:41 PM
Submited by:
Ashish Gupta
Mayank wasnik
[attachment=11493]
Operating System Structure
A key concept of operating systems is multiprogramming.
Goal of multiprogramming is to efficiently utilize all of the computing resources.
When a job issues an I/O request (e.g., open a file, read data from a file), it cannot continue until the request is fulfilled.
The CPU then becomes idle (the job is blocked on the request).
Operating System Structure
Basic idea of multiprogramming:
Keep multiple jobs in memory.
When one job blocks on I/O (or other events), the operating system:
Starts the I/O operation.
Switches to another job that is ready to execute.
Now the CPU and I/O device are executing in parallel.
When the I/O device has completed request, it generates an interrupt to inform the CPU.
Virtually all general purpose computers support multiprogramming.
Requirements of multiprogramming system:-
Large memory.
Memory protection
Job status preservation.
Proper job mix.
CPU scheduling.
Multitasking
Logical extension of multiprogramming termed multitasking.
Quite often sitting at terminal using a “command line” interface to interact with computer.
Types in commands from keyboard.
A system program called a shell reads command from the command line and makes OS system calls to carry out commands.
OS switches between user’s programs very quickly, generally in round-robin fashion.
Advantages of multiprogramming:-
CPU is always busy.
Makes efficient use of CPU.
Increase the CPU utilisation.