Contents

Introduction

A computer system performs various tasks as as the hardware executes some software (programs). In the domain of software there are broadly two parts to the solution of a given real world problem. One part concerns about the requirements of the real world problem at hand and the other is about making the solution of the former feasible in the computer which is a complex system in itself. The issues involved in these two parts are significantly different. For a person who creates programs for his own real world problems, it is not feasible to take care of the details of correct hardware operations and optimum utilisation of various system resources (such as memory, CPU time, peripherals, etc.). On the other hand, a person who understands the underlying features of a computer system can take care of this on behalf of different software developers using some general software modules. Hence software for these two parts are handled individually. We find software such as MS Office package, Netscape browser, Oracle DBMS, etc., that take care of some real world problems. These are called application programs. On the other hand we find software such as UNIX OS, Windows OS, C Compiler, bash shell, etc. that help users run the application programs in their computers. These software are called system programs or system software.
System software is that software which helps an average computer user's program to execute effectively on a computer system. They address issues which exist due to the computer system, and thereby make the computer "usable" for various real world problem solving tasks.