Multiprogramming Operating System
A multiprogramming operating system executes multiple applications on a computer with a single processor. If a programme is waiting for an I/O transmission, the CPU is available for use by other programmes. Consequently, multiple tasks may share CPU time. However, the implementation of their tasks is not specified to occur simultaneously. A multiprogramming Operating System is of the following two types:
- Multitasking Operating System
- Multiuser Operating System
Multitasking Operating System
Permits simultaneous execution of multiple programmes. The operating system achieves this by individually inserting and removing programmes from memory. When a programme is removed from memory, it is stored temporarily on the disc until it is again required.
Multiuser Operating System
This enables a large number of users to share processing time across numerous terminals on a powerful central computer. This is done by the operating system quickly switching among terminals, each of which is allotted a certain amount of processor time on the main computer.
Advantages of Multiprogramming Operating System
- Running multiple tasks at once in a single application might be helpful.
- It aids in improving the computer’s overall job throughput.
- The multiprogramming system can be used by multiple users at once.
- Short-term projects are completed more quickly than long-term ones.
- It might aid in reducing the turnaround time for urgent tasks.
- It improves CPU utilisation and is constantly active.
- The resources are wisely used.
Disadvantages of Multiprogramming Operating System
- It is extremely sophisticated and complicated.
- The scheduling of the CPU is necessary.
- The operating system requires memory management because the main memory stores all kinds of tasks.
- Managing all tasks and processes is the more difficult task.
- If many jobs are available, there will be a long wait for long-term positions.
Examples of Multiprogramming Operating Systems
- Windows O/S
- Apps like office, chrome, and more.
- UNIX O/S
- Microcomputers like MP/M, XENIX, and ESQview.
Time-sharing Operating Systems
Time-sharing is a method that enables multiple users to use a specific computer system concurrently from various terminals. A logical progression from multiprogramming is time-sharing or multitasking. Time-sharing is the practice of allocating a processor’s time simultaneously to several users.
The primary distinction between time-sharing systems and multiprogrammed batch systems is that time-sharing systems aim to reduce response time, whereas multiprogrammed batch systems aim to maximise processor use.
The CPU runs multiple tasks at once by switching among them, but the transitions happen so frequently. As a result, the user can get a quick response. For instance, during transaction processing, the processor runs each user programme in a brief quantum of computation. That is, each user can obtain a time quantum if there are n users present. The response time is a few seconds at most after the user submits the command.
The operating system uses CPU scheduling and multiprogramming to give each user a small amount of time. Time-sharing systems have been added to computers that were originally designed as batch systems.
Advantages of Time-sharing Operating Systems
- Each task gets an equal opportunity.
- CPU idle time can be decreased.
- Fewer possibilities of replication of software.
Disadvantages of Time-sharing Operating Systems
- One must have to take of the security and integrity of user programs and data.
- Reliability problem.
- Data communication problem.
Examples of Time-sharing Operating Systems
- Windows 2000 server
- Unix
- Windows NT server
- Linux