A machine which cannot do anything without instructions from the user.
In order to do any specific job you have to give a sequence of instructions to the computer.
Set of instructions in a proper sequence is called a computer program.
Software refers to the set of computer programs that cause the hardware (computer system) to function in the desired manner.
Hardware means physical components of the computer system.
Hardware cannot perform any calculation, comparison or manipulation without being instructed to do so.
Instructions play a vital role in the performance of a computer.
A complete set of instructions written to solve a problem on a computer is called software.
Computer software is normally classified into two broad categories:
System software includes general programs written for a computer.
Consists of pre-written programs and documentation supplied by the manufacturer along with the computer.
Programs are held permanently in the machine.
Primary objectives of this software are to:
Enhance the efficiency of hardware utilization.
Make computers simple to use.
Component of system software is commonly known as operating system.
System Software is a set of instruction to the machine to interpret and execute application software.
For example: language translators (called compilers and interpreters), operating systems, utilities and special purpose software.
A language translator is system software which translates a computer program written by a user into a machine understandable form.
The most elemental form of programming uses only the binary digits 0 and 1.
A program that have only binary digits is called a machine language program.
A program written in a high level language needs to be translated into machine language code before execution.
An operating system is the most important system software and is a must to operate a computer system.
An operating system manages a computer's resources very effectively.
First operating system, called batch processing operating system.
A multi programming opening system handle multiple jobs simultaneously by overlapping the input/ output and processing cycles of various jobs.
Other types of operating system which are popular today are ‘multi-processing operating systems’ and ‘real time operating systems’.
A multi-processing operating system uses multiple CPUs to process multiple jobs.
A real time operating system is a type of interactive operating system.
The major functions of an operating system are:
Protection of user's data and programs.
Providing programs to select appropriate translators.
Providing facilities to detect and correct errors in a user's program.
Executive batches of programs, one after another, without human intervention.
An operating system understands a fixed set of commands.
This set of commands is often called job control language (JCL).
The JCL commands are used by the computer users to indicate their requirements to the operating system.
Utility software may be considered as system software.
Sort merge programs are used to sort records in a particular manner or sequence.
Application software is written to perform a specific task or process
Majority of application software is written in high-level languages.
The program written by the user can be the most satisfactory solution.
It will be an exact match to the needs of the business.
The program can grow with the business.
Application packages refer to a set of computer programs.
It is applicable to a large number of users.
Advantage: It is relatively cheap as cost of the package is spread over a number of customers.
Disadvantage: Application package is that it is not likely to fulfil all the requirements of the prospective users.
Some general kinds of application software include:
Productivity software, which includes word processors, spreadsheets, and tools.
Graphics software for graphic designers
Specialized scientific applications
Vertical market or industry-specific software. For example:- for banking, insurance, retail, and manufacturing environments
(C) Customer software: It refers to computer programs specially written to match the exact needs of the user.
Advantage is that such software fulfils all the needs of the customer.
Disadvantage is that customer software costs much more than general purpose application software
Packages include word processor, database processing, spreadsheet calculations, mail-merge, presentations and communications (email).
Packages have been prepared so that they are simple to use.
Also provide graphical user interface to make them very user friendly.