Introduction
An Operating System is system software, which may be viewed as an organized collection of software consisting of procedures for operating a computer and providing an environment for execution of programs. Operating system is an interface between the user and the hardware of a computer. There are many important reasons for studying operating systems. Some of them are
- User interacts with the computer through operating system in order to accomplish his/her task since it is his primary interface with the computer
- It helps users to understand the inner functions of a computer very closely.
- Many concepts and techniques found in operating system have general applicability in other applications.
What is an Operating System?
An Operating System is a large collection of software, which manages resources of the computer system, such as memory, processor, file system and input/output device. It keeps track of the status of each resource and decides who will have a control over computer resources.
An Operating System is a set of programs that control the operations of a central processing unit (CPU) and enable the user to communicate with the system. The major ones for microcomputers are DOS, WINDOWS and UNIX.
Before the user starts interacting with the computer, a series of steps are executed. As a first step the processor starts executing the ROM-BIOS instructions stored permanently in ROM and is activated each time when machine is switched on. ROM-BIOS stand for READ ONLY MEMORY BASIC INPUT-OUTPUT SYSTEM. The first ROM-BIOS instruction is the start-up routine. These instructions test to see if computer is in good working order. It checks all the area of RAM and looks all the connections to see if they are functional. This testing activity of ROM-BIOS is called POST (POWER-ON SELF TEST).
Roles of Operating System
- It processes commands, which are entered at the command prompt.
- It helps to load program from external storage to internal storage.
- It helps in managing the hardware.
- It allows to control the reading and writing of data on to floppies and hard disk
- It helps in controlling and printing operations.
- It communicates messages to the user through monitor and takes input from the keyboard.
- It provides facilities such as copying, deleting, renaming etc. of files
Terms Related to Operating System
Batch Processing
In batch mode, each user prepares his program off-line and submits it to the computer centre. Then these programs are collected on top of another and then they are executed after loading. The method of batch processing reduces the idle time of the computer system because transition from one job to another does not require operator’s intervention.
In batch processing the data are collected for a given period of time and the resulting “batch” of data is processed as a single job. Batch processing is quite useful when majority of records in a large database must be processed at the same time. Many organizations prefer to use batch-processing method for billing. Telephone, gas and electric, for example, prepare their bills using batch processing, salary calculations.
On-Line Processing
On Line processing permits transaction data to be fed under CPU control directly into secondary on-line storage devices from the point where data originates without first being sorted. The CPU can make programmed input control checks during this process. Using these input data, appropriate records (which are normally organized in the secondary storage unit in random fashion) may be quickly updated. The access to and retrieval from that record is quick and direct. On-line processing and direct access to records require unique hardware and software. E.g. Business transactions, on-line transactions on Internet.
On – line systems can reduce data – processing costs, offer better customer service and provide a strategic advantage over competitors. In this approach the CPU processes data instantly. As a result, whenever a user is interested to access or enter data, the request is granted with in a few seconds. Unlike batch processing, each request is processed individually – there is no waiting while groups of requests are batched and processed together. On-line systems are thus preferred when selected records must be processed at any single point of time or when the user and computer system must interact.
Real Time Processing
Real time means immediate response from the computer. A system, in which a transaction accesses and updates a file quickly enough to affect the original decision making, is called a real time system. Real time processing system may be described as an online processing system with severe time limitations (with tighter constraints on response time and availability). It may be noted here that a real-time system uses on-line processing, but an on-line system need not necessarily operate in real time mode. E.g. Airline Reservation Systems, Traffic Control, Stock market evaluations. In these systems data is processed to make results available within a time scale that can influence external events, either automatically as in process control system, or via a human resource.
Multiprocessing
The term multiprocessing is used to describe interconnected computer configurations or computers with two or more independent CPU’s that have the ability to simultaneously execute several programs. Different CPU’s can process instructions from different and independent programs at the same time.
Multiprogramming
Multiprogramming is the name given to the interleaved execution of two or more different and independent programs by the same computer. In order to overcome the problem of under-utilization of main memory and CPU, the concept of multiprogramming was introduced in operating systems. The CPU switches from the one program to another almost instantaneously. Since the operating speed of CPU is much faster than that of I/O operations, the CPU can allocate time to several programs instead of remaining idle when one is busy with I/O operations.
Time Sharing
Time Sharing is a term to describe a processing system with a number of independent, relatively low speeds, online simultaneously usable stations. Each station provides direct access to CPU. Time-sharing refers to the allocation of computer resources in a time independent fashion to several programs simultaneously. The principal notion of a timesharing system is to provide a large number of user direct accesses to the computer for problem solving. In Time Sharing system, the CPU time is divided among all the users on a scheduled basis to allow all user programs to have a brief share of the CPU time in turn.
This short period of time during which a user gets the attention of the CPU is known as time slice. All the users who are using a Time Sharing system will fall in one of the following three status groups.
- Active The users program currently has control of the CPU. Only one user will be active at a time.
- Ready The user’s program is ready to continue but is waiting for its turn to get the attention of CPU.
- Wait The user has made no request for execution of his job or the user’s program is waiting for some I/O operations.
Advantages of Time Sharing
- Reduces CPU idle time
- Provides advantages of quick response
- Reduces the output of paper
- Avoids duplication of software
Spooling
Spooling is a technique that has been successfully used on a computer system to reduce the speed mismatch and in turn the idle time of the CPU. It is the process of placing all data that comes from an input device or goes to an output device on either a magnetic tape or disk. Special spooling programs are executed by the operating system to transfer the data from the disk or tape to the main memory or an input or output device. The disk or tape device acts as a buffer area between main storage, which is extremely fast, and I/O devices, which are relatively slow. Spooling programs are executed when the CPU is not too busy with other jobs
File
It is like a physical file having specific information. It has two main parts File name, which is the name given to the file to distinguish it from other files and file extension, which tells us about the application software used to create or edit this file and the type of data in the file for example MS-Word file have ‘DOC’ file extension and the file will be having letter or memo information but MS-Excel files have ‘XLS’ extension and stores numbers and formulas for calculation.
Directory
It is collection to store related files like a physical file rack having specific types of files. For example maps of a colony are stored in specific rack thus each map refers to a computer file and a computer directory refers to the rack. It is also called as folder.
Pointer or Cursor
It is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input (keyboard) or pointing device (mouse). The flashing text cursor may be referred to as a caret in some cases. The mouse cursor may be referred to as a mouse pointer, owing to its arrow shape on some systems.