Time sharing operating systems
What Is Time Sharing System / Multi-Tasking System?
A technique which allow many people siting at various terminals to access particular computer system at the same time. Processor's time which is shared among multiple users simultaneously is termed as time-sharing. The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in Multiprogrammed batch systems, the aim is to maximize processor use, whereas in Time-Sharing Systems, the aim is to minimize response time, i.e A time sharing operating system is a multi tasking operating system in which the CPU time is divided equally among all the jobs waiting for the time on the CPU. Normally this time slice is 10 to 100 miceoseconds.
The implementation of first time-sharing project was by John McCarthy in the last months of 1957 using a modified IBM 704 and later a modified IBM 7090. The first successful time-sharing system which was commercially launched was the Dartmouth Time Sharing System.
- Time Sharing Systems or multi tasking systems are the major advancement in the batch processing systems. They are the one which support simultaneous execution of multiple tasks using a single processor. The time sharing operating system assures that all the tasks get to access the CPU one by one and for a fixed small interval of time. This interval is known as the time quantum.
In above figure the user 5 is active but user 1, user 2, user 3, and user 4 are in waiting state whereas user 6 is in ready status. As soon as the time slice of user 5 is completed, the control moves on to the next ready user i.e. user 6. In this state user 2, user 3, user 4, and user 5 are in waiting state and user 1 is in ready state. The process continues in the same way and so on.The time-shared systems are more complex than the multi-programming systems. In time-shared systems multiple processes are managed simultaneously which requires an adequate management of main memory so that the processes can be swapped in or swapped out within a short time.
- We can assume this scenario similar to a wall clock. Various tasks in run are like digits of the clock, hand of the clock is like CPU access and the time sharing operating system ensures that CPU’s access is granted to each and every task one by one and for an equal amount of time. This is very much similar to the motion of the minute hand of a clock.
- Tasks running may be all of a single user or of different users too. OS schedules one task to access the CPU for the specified time quantum, and after the timer expires, the next task is scheduled. This switching takes place so fastly and seamlessly that all the users believe that their tasks are being executed all the time. However, it is not so in actuality.
- The primary focus of time sharing system is reducing the response time of each task. Response time is the time elapsed between the submission of the input and the moment its first output is obtained. Since all the tasks are being executed continuously and progressively, response time reduces a lot, both overall response time as well as the response time for each process.
Example of Time Sharing / multi tasking operating system
Time sharing systems are all around us. For example, while we are using our smartphone we can listen songs, search something, view pictures and various notifications appear side by side. All this is enabled by time sharing operating system only. OS does the switching between these tasks time and again so that they all are executed continuously.
- No starvation is there and all the processes can access the CPU for a fair amount of time.
- CPU’s utilization is very high.
- Response time for each task is reduced a lot
- Reliability problems.
- Security and integrity questions of user programs and data.
- Data communication issues.
Why to use time sharing operating systems?
In the era of modern technology there are lot many tasks and activities that are required be run at the same time. Like in smartphones the games,notification bar, weather forecasting, songs are all running at the same time so time sharing systems are more efficient to use. Real time operating systems also uses time sharing as a key for better performance.