- Operating System
Operating System
An operating system acts as an intermediary between the user of a computer and the computer hardware. An Operating System (OS) is a software that manages the computer hardware.
Components of a Computer System
Hardware It provides the basic computing resources for the system. It consists of CPU, memory and the input/output (I/O) devices.
Application Programs Define the ways in which these resources are used
to solve user’s computing problems. e.g., word processors, spreadsheets compilers and web browsers.
Functions of Operating System
Operating system provides many functions for ensuring the efficient operation of the system itself. Some functions are listed below
Resource Allocation Allocation of resources to the various processes is managed by operating system.
Accounting Operating system may also be used to keep track of the various computer resources and how much and which users are using these resources.
Protection Protection ensures that all access to the system resources is controlled. When several processes execute concurrently, it should not be possible for one process to interface with the other or with the operating system itself.
Operating System Services
Many services are provided by OS to the user’s programs. Some of the OS services are listed below
Program Execution The operating system helps to load a program into memory and run it.
I/O Operations Each running program may request for I/O operation and for efficiency and protection the users cannot control I/O devices directly. Thus, the operating system must provide some means to do I/O operations.
File System Manipulation Files are the most important part which is needed by programs to read and write the files and files may also be created and deleted by names or by the programs. The operating system is responsible for the file management.
Communications Many times, one process needs to exchange information with another process, this exchange of information can takes place between the process–es executing on the same computer or the exchange of information may occur between the process executing on the different computer systems, tied together by a computer network. All these things are taken care by operating system.
Error Detection it is necessary that the operating system must be aware °f Possible errors and should take the appropriate action to ensure correct and consistent computing.
Batch Systems
Early computers were the large machines that run from a console. The users of batch systems did not interact directly with the computer systerns Rather, the user prepared a job which consists of programs, data and control information and then submit it to the computer operator. The job prepared would be in the form of punch cards. After sometime Perhaps minutes, hours or days, the output is prepared.
Key Points
- The main drawback of batch system is the lack of interaction between the user and the job while it was executing.
- Multiprogramming creates logical parallelism.
Multiprogramming
It is the technique of running several programs at a time using time sharing. It allows a computer to do several things at the same time.
The concept of multiprogramming is that the OS keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any input/output operations, the CPU is switched to another job. So, the main idea here is that the CPU is never idle.
Multitasking
Multitasking is the logical extension of multiprogramming. The concept of multitasking is quite similar to multiprogramming but difference is that the switching between jobs occurs so frequently that the users can interact with each program while it is running.
This concept is also known as time sharing system. A time shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time shared system.
Real Time Systems
A real time operating system is used in environments, where a large
number of events, mostly external to the computer system must be accepted and processed in short time or within certain deadlines.
Real time systems are used when there are rigid time requirements on. the flow of data or the operation of processor and therefore these are used a a control device in a dedicated application.
Distributed Systems
In distributed systems, the computation is distributed among several prodessors. Each processor in distributed system .has its own local memory and do not share memory or a clock.
A distributed operating system governs the operation of adistributed computer system and provides a virtual machine abstraction to its users.
key Points
- A pool of job on disk allows the OS to select which job to run next, to increase CPU utilization.
- If jobs come directly on cards (or on magnetic tape), they run sequentially on FCFS basis but when several jobs are on direct access devices like disk, job scheduling is possible.
- The most important aspect of job scheduling is the ability to
- If several jobs are ready to be brought into memory, and there is not enough room for all of them, then the system must choose among them, making this decision is job scheduling.
- When the OS selects a job from job pool, it loads that job into memory. This cause the residence of several programs in memory and calls for memory management scheme.
- If several jobs are ready to run at same time, the system must choose among This decision is called CPU scheduling.