Multiprogramming and Multiprocessing

Multiprogramming: Multiprogramming is the process of combining hardware and software to create a situation in which more than one program may be held in main store at any one time. It is thus possible to process several tasks simultaneously. The main objective is to minimize unused CPU time.

Multiprocessing: Multiprocessing is the execution of two or more different programs at the same time.

Typically, in multiprocessing, multiple CPUs sharing a common memory are used. Instructions from different and independent programs can be processed at the same instant by different processors. On the other hand, the processors may simultaneously execute different instructions from the same programme.

Loosely Coupled Multiprocessing: In it a collection of relatively autonomous systems are used. Each CPU has its own main memory and input/ output channels.

Functionally Specialized Processors: Such as an I/O processor. There is a master, general-purpose CPU. Specialized processors provide services to the CPU and are controlled by it.

Tightly Coupled Multiprocessing: In it a set of processors share a common memory.
They are controlled by the operating system.

Parallel Processing: They are tightly coupled multiprocessors that can execute a job in parallel.

A number of desirable features of a comprehensive operating system are:
=> Job control language
=> Failure and recovery
=> File security
=> Logging
=> Scheduling
=> Monitoring system status
=> Multi-access control

Job Control Language: During the processing of application programs, the operating system provides automatic job-to job linkages. These linkages are handled by a job control program. In some systems macro commands (macros) may be used to supplement the command language. The macros can be either system or user defined.

Failure and Recovery: Invalid conditions and fault conditions cause interrupts to be raised, to signal the operating system.

The operating system is called in if, for example.
=> An invalid instruction is encountered in program.
=> A program attempts access to storage areas reserved for another.
=> An overflow occurs in allotted storage area during arithmetic calculations.

According to its instructions, the operating system may either halt the process and signal the operator or switch control to error recovery routines provided by the user.

Dumping: It is a facility whereby all the contents in specified storage areas are written out as output.

File Security: The security of the system may also be monitored. Any attempt to use unauthorized passwords from on-line terminals may be recorded.

It is possible for files to be either private to a particular user or to be shared by a number of users under flexible controls.

No comments:

Post a Comment