You are on page 1of 14

Operating System The terms hardware and software are used frequently in connection with computers.

Hardware refers to the physical devices of a computer system. Thus, input, storage, processing, control and output devices are hardware. In fact, what we have learnt so far in earlier chapters is actually hardware of computer systems. The term software will be introduced in this chapter and will be discussed at length in the chapters to follow.

Concepts of Software Computer hardware, although capable of performing lots of useful functions, does not work by itself. It needs to be instructed .The instructions that hardware understands do only very primitive task like moving the data in or out of the memory, adding numbers etc. For more complex operations the instructions are grouped together. A sequence of finite number of instructions is called a computer program or simply a program. When instructions/ programs are placed in the primary memory of the computer, the CPU starts executing them one by one. Software is a collection of computer programs that allows the users to use the computer for a specific purpose .By creating appropriate software a computer may be made to do almost anything under its capability. Software ,loaded into the primary memory, is lost the moment the power supply to the memory is switched off. That is the reason the software is stored in secondary storage devices so that we do not have to enter it into the computers memory each time though an input device.

Classification of Software The software can be classified into the following categories as mentioned in the figure 2.1 a) System Software & Application Software

b) System Utility Software c) Compilers & Assemblers

Software

Software

Application Software SS

Utilities

System Software

User Written Software

Ready Made Software

Compiler and Assembler

Operating System

Fig 2.1 Categories of software Software


software

A. System Software -

System software or system packages are collections of program that

control the functioning of all the hardware resources directly. They are general programs written to assist users in the use of the computer system by performing tasks, such as controlling all the operations moving data into and out of a computer and all the other steps in executing the application program. In general, system software supports the following (a) Running of other packages. (b) Communicating with peripheral devices such as printers, card readers, disk and tape devices etc

(c) Development of other types of software

(d)Monitoring the use of various hardware resources such as memory, peripherals, CPU etc.

(e)System software thus makes the operation of the computer system more effective and efficient Examples of System Software - The most important system software is an operating system such as DOS ( Disk Operating System), Windows , OS/2 , Macintosh, UNIX, LINUX. We will also discuss about the Operating System which are currently available in the market, in later part of this chapter.

Application Software - The software that instructs the computer to perform specific set of tasks pertaining to the software available in the market . For each purpose there are many application software. We have to install this software on a machine along with Operating System to get it running.

Examples of Application Software - Some of the most frequently used application software are of two types

(i)

General Purpose Application Software( Database Management Packages, Word processors, Spread sheets etc).

(ii)

Special Purpose Application Software

(Accounting , Inventory, Production

Management, Property Management System etc).

We will also discuss about the Operating System which are currently available in the market in the latter part of this book

Difference between System Software & Application Software -

System packages offer

several advantages and are convenient to application programmers and computer users. Good system software allows application packages to be run on the computer with less effort. Without system software, application packages cannot be run on the computer system. However, the production of system software is a complex task that requires extensive knowledge and considerable specialised training in computer science.

Systems programmers, who prepare system software, are highly trained computer specialists and important members of the computer architecture team. Because of its technical complexity, system software is rarely developed in house. System software is normally developed and distributed by the computer manufacturers. The customer who buys or leases a computer system would usually receive, in addition to the hardware, some software needed for the effective operation of the computer.

The system software is an indispensable part of a total computer system . Its function is to compensate for the differences that exist between the user needs and the capabilities of the hardware. A computer without some kind of system software would be ineffective and impossible to operate.

B. System Utility Software - It is a programme designed to perform maintenance work on the system or on system components. For example, a storage back up program, a disk and file recovery program or a resource editor.

Utility Programs - Utility programs, also known as service programs, are routines that perform services such as editing texts or programs, debugging programs to correct logical mistakes , sorting records into a particular sequence for processing, or transferring data from Input /Output device to another device.. A few example of utility programs commonly available in a computer system are - Text Editor, Debugging tool, Sort and Merge, Memory Dump Program, Linker, Loader, Locator, File Manager

C. Compilers & Assemblers - A program which translates a high level language program into a machine language program is called a compiler. Compilers checks all kinds of limits, ranges, errors etc. But its program execution time is more and occupies a larger part of the memory. It has low speed and low efficiency of memory utilization. If a compiler runs on a computer for which it produces the object code, then it is known as a self or resident compiler.

A program which translates an assembly language program is called an assembler. An assembler which runs on computer for which it produces object codes (machine code) is called a self assembler (or resident assembler.)

Interpreters An interpreter is a program which translates one statement of a high level language program into machine codes and execute it. In this way it proceeds further till all the statements of the program are translated and executed. The object program produced by the interpreter is not saved. If an instruction is used next time, it must be interpreted once again and translated into machine code. For example, during the repetitive processing of the steps in a loop , each instruction in the loop must be reinterpreted every time the loop is executed.

Interpreter Interprets a program line by line. Debugging process is easy

Compiler Compiles a whole program. Debugging process is complex as it generates all error at the end of compilation.

The object code of the statement The object program produced by the produced by the interpreter is not compiler is permanently saved for saved future reference

It is a smaller program as compared Is a complicated process so execution to compiler. It occupies less memory time is more, and occupies a larger space. It is slow process part of the memory. It is 5 to 25 times faster than interpreter In FORTAN programme interpreter is In C language program C-compiler used is used

Concept of Operating System - An operating system is the most essential system software that manages the operation of a computer. It controls the flow of signals from the CPU to various parts of the computer. It is first program loaded (copied) into the computers memory after the computer is switched on. The operating system is an important component of the computer system, because it sets the standards for the application programs that run on it.

Users

Software and application programs Operating System Computer Hardware

Fig 2.2 Logical architecture of a computer system Popular operating system include MS- DOS, OS/2, Windows, UNIX, LINUX. The Macintosh uses Finder and Multi finder. Digital Systems use the VMS and Ultrix Operating System. IBM Mainframe computer uses MVS ,VM or DOS/VSE operating system.

Function of the Operating System - The operating system performs the following functions: Job Management - In small computers, the operating system responds to commands

from the user and loads the desired application program into the memory for execution. In a large computer, the operating system carries out its JCL ( Job Control Language). Task Management - In single tasking computers , the operating system has virtually

no task management to do , but in multi tasking computers it is responsible for the concurrent operation of one or more programs (jobs). Advanced operating systems have the ability to assign priorities and interactive programs which could be given the highest priority.

Data Management - One of the major functions of an operating system is to keep track

of the data on the disk; the term DOS ,or disk operating system . The application program does not know were the data is actually stored or how to get it. When a program is ready to accept data, it signals the operating system with the coded message. The operating system finds the data and delivers it to the program conversely, when the program is ready to output, the operating system transfers data from the program on to the next available space on the disk.

Process Management - It is a module which takes care of creation and deletion of

process, scheduling of system resources to different resources to different process requesting them and providing mechanism for synchronization and communication among process. Memory Management - Memory management module takes care of allocation and de-

allocation of memory space to programs in need of this resource . Virtual Memory is a memory management scheme that allows execution of process that might not be loaded in main memory completely .The three basic concepts used for realization are on line secondary storage , swapping and demand paging.

File Management - File Management module takes care of file related activities such

as organization, storage, retrieval, naming, sharing and protection of files.

Command Interpretation - Operating System takes care of interpreting user

commands, and directing system resources to process the commands . With this mode of interaction with a system, users are not much concerned about hardware details of the system. Two broad categories of user interface are supported by various operating system. They are Character User Interface (CUI) and Graphical User Interface (GUI).

Security - Multi user Operating System maintain a list of authorised users and provide

password protection against un authorized users who may try to gain access to the computer system. The commonly used approaches are user authentication, access control and cryptography. Bootstrap Program - Boot means start or make the computer system ready so that it

can take our instruction. The word boot comes from bootstrap, booting the computer helps us to get its Read Only Memory( ROM) were the instructions get loaded in the main memory. In a personal computer, there is a small bootstrap routine in a ROM chip that is automatically executed when the computer is turned on or reset. The bootstrap routine searches for the operating system, loads it and then passes control to it.

We can boot our computer system in two ways cold booting and warm booting. When the computer is first turned on, this is called cold booting. When the computer is already on and is being reset, then it is known as Warm Booting. With personal computer using single tasking operating system it is usually necessary to reset the computer if it crashes. For example in IBM Pc compatible machine we can do the warm booting by pressing the
CTRL LL ALT DEL

keys together.

An operating system also performs few other functions such as accounting of system, resource usage by all users, maintenance of log of system usage by all users and maintenance of internet time clock.

Measuring System Performance - Efficiency of an operating system and overall performance of a computer system are measured usually by its throughput, turnaround time, response time.

Classification of Operating System - All operating system contains the same components whose functionalities are almost the same. For instance, all the operating system performs the function of storage management, process management, security etc. The procedures and methods that are used to perform these functions might be different and may have distinguishing features. They can be classified into different categories on different bases. So let us quickly look at the different types of operating system.

Single User Single Processing System -

The simplest of all the computer system

has a single processor, runs a single program and interacts with a single user at a time. A representative example is MS- DOS.

APPLICATION

USER

OPERATING SYSTEM HARDWARE

Fig 2.3 Single user Single Processor System

Batch Processing System - A computer remained idle while an operator loaded and

unloaded jobs and prepared the system for a new job. This caused enormous wastage of valuable computer time. A method of automatic job to job transition was devised to reduce this idle time. In this method, known as Batch Processing .When one job finishes, system control is transferred back automatically to the operating system that performs housekeeping jobs (such as clearing any data remaining in the memory from previous job). Batch

Processing System is used in COBOL Programming. Another term that is commonly used in Batch Processing System is job scheduling . Job scheduling is the process of sequencing jobs so that they can be executed on the processor. It recognises different jobs on the basis of first come- first served (FCFS) basis.

JOBS/ TASKS JOBS/ TASKS JOBS/ TASKS

JOBS/ TASKS

OPERATING SYSTEM HARDWARE Fig 2.4 Batch Processing System

Multiprogramming operating system - Multi Programming is interleaved execution

of two or more different programs (jobs) by a computer. Some of the most popular multi programming operating system are UNIX,VMS, Windows NT. In some multiprogramming operating system only a fixed number of jobs can be processed concurrently (multiprogramming with fixed tasks MFT), while in others the number of jobs

can vary (multiprogramming with variable tasks-MVT). The area occupied by each job residing simultaneously in main memory is known as memory partition. Multi programming systems have better throughput time . So CPU idle time is reduced drastically. This is the advantage of Multiprogramming operating system. Multitasking System - A single user system often has multiple task being processed

by the system. For example, while editing a file in foreground, a sorting job can be given in background. In such a situation, status of each of the task is viewed on computers screen normally by portioning the screen into multiple windows. Progress of different tasks are viewed on different windows in a multi-tasking system. Difference between Multiprogramming and Multitasking system - Multiprogramming is interleaved execution of multiple jobs (of same or different users) in a multi user system, while multi tasking is interleaved execution of multiple jobs (often referred to as tasks of same user) in a single user system. Multiprocessing system - The use of I/O processors improves the efficiency of

computer system by making concurrent input, processing and output operations possible. CPU performs arithmetic and logical operations, while I/O processor carry out I/O operation concurrently.
Main Memory

I/O Units

I/O Processors

CPU

Fig 2.5 Architecture of a computer system with its CPU, memory and I/O processor The idea of using I/O processors to improve system performance was carried a step further by designing system with multiple CPUs. Such system is called multiprocessing systems (also popularly known as parallel processing). Multiple CPUs of these systems are used to

process either

instructions

from different and independent programs or different

instructions from the same program simultaneously.

CPU -1

Main Memory

CPU-2

I/O Processors

I/O Processors

I/O units

I/O units

Fig 2.5 Basic organisation of a typical multi processing system

An example of multiprocessing system is Encores version of UNIX for the Multimax computer. This computer can be figured to employ dozens of processors, all running a copy of UNIX.. Difference between Multiprogramming & Multiprocessing - Multi processing is the simultaneous execution of two or more process by a computer system having more than one CPU. Other hand , multiprogramming is the interleaved execution of two or more processes by a single CPU system. Multiprocessing involves simultaneous execution of several program segments of the same or different programs. Other hand multi programming involves execution of a portion of one program, then a portion of another etc, in brief consecutive period. Time Sharing System - Time sharing is a mechanism to provide simultaneously

interactive use of a computer system by many users in such a way that each user is sole

user of the system. A time sharing Operating system uses CPU scheduling and Multi programming to provide each user with a small portion of a time shared computer. Advantages of time sharing system Reduces CPU idle time. Provides advantages of quick response time Offers good computing facility to small users Distributed System - A recent trend in computer systems are to distribute

computation among several processors. The processors communicate with one another through various communication lines, such as high speed buses or telephone lines. These systems include small micro processors, work stations, mini computers system. These processors are referred by a number of different names, such as sites, nodes , computers and so on, depending on the context in which they are mentioned. Real time systems - Another term of a special purpose Operating System is the real

time system. A real time system is used when there are rigid time requirements on the operation of processors or the floor of data ,and thus is often used as a control device in a dedicated application. In the following section we will learn three different Operating System DOS, Windows and LINUX.

You might also like