Thursday, 18 May 2023

Operating system structure

 Operating systems are the environment within which programs are executed. Internally, operating systems vary greatly in their makeup, but there are many commonalities. 

One of the most important aspects of operating systems is the ability to multiprogram. This increases CPU utilization by organizing jobs (code and data) so that the CPU always has one to execute. 

The idea is that the operating system keeps several jobs in memory simultaneously, and the jobs are kept initially on the disk in the job pool. This pool consists of all processes awaiting allocation of main memory.

The set of jobs in memory can be a subset of the jobs kept in the job pool. In a multi-programmed system, the operating system switches to another job when it needs to wait for a task to complete. As long as at least one job needs to execute, the CPU is never idle. 

This idea is common in other life situations, such as a lawyer who works for multiple clients at a time. If the lawyer has enough clients, he will never be idle for lack of work, as it has a social value in keeping lawyers busy. 

Multi programmed systems provide an environment for system resources to be utilized effectively, but do not provide for user interaction. 

Time sharing (or multitasking) is a logical extension of multi programming, where the CPU executes multiple jobs by switching among them, but the switches occur so frequently that the users can interact with each program while it is running. 

Time sharing requires an interactive computer system, which provides direct communication between the user and the system. A time-shared operating system allows many users to share the computer simultaneously, with only a little CPU time needed for each user.

A time-shared operating system uses CPU scheduling and multi programming to provide each user with a small portion of a time-shared computer. Each user has at least one separate program in memory, which is called a process. When a process executes, it typically executes for only a short time before it either finishes or needs to perform I/O. Interactive I/O typically runs at “people speeds,” so the operating system will quickly switch the CPU to the program of some other user. 

Time sharing and multi-programming require that several jobs be kept simultaneously in memory, which requires memory management and CPU scheduling. Additionally, running multiple jobs concurrently requires that their ability to affect one another be limited in all phases of the operating system, including process scheduling, disk storage, and memory management.



Post a Comment

Note: only a member of this blog may post a comment.

Find Us On Facebook

python tutorial


C Programming


Java Tutorial


Data Structures


MS Office


Database Management