Wednesday, October 21, 2009

Computer Software

Software is an organised collection of programs, which is responsible to controlling, integrating & managing the hardware components of a computer system to accomplish specific tasks. In other words, the software tellls the computer system what to dom how to do & when to do. For example, software instructs the hardware what to display on the users screen, what kind of input to take from the user. & what kind of output to generate. Thus, Software communicates with the hardware, it organises the control sequences & the hardware carries out the instructions defined by the software.It is an important part of the computer system that is indefinable & the user can not touch it. Generally the software can be classified into two categories :-
  1. System Software
  2. Application Software

System Software

The system software that contributes to the control and performance of the computer system and permits the user to use the system more conveniently is termed as system software. System software is setup programs, which interact with the hardware at a very basic level. They are the basic necessity of a computer system for its proper functioning. System serves at the interface between hardware and the users. System software not only controls the hardware but also provides a platform for other programs to run onto them. Depending upon the functionality, the system software can be classified into two major categories:

1. System management software

2. System development software

1. System management software

System management software, as name implies, is responsible for the management and accurate functioning of the computer system. It includes an integrated system of software that manages the operation of processor, controls the input/output, manages storage resources and provides various support services as the computer executes application programs. This software is available as :

a. Operating system

b. Device drivers software

c. System utility software

a. Operating system

The most important type of system software is the operating system. It is responsible for performing basic tasks such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as printers and modems. In addition, the operating system provides software platform on which other programs can run. So, every computer has operating system software, which takes care of the effective and efficient utilization of all the hardware and software components of the computer. The examples of an operating system are : MS-DOS, Microsoft windows 98/2000/XP, UNIX, Windows NT, Linux Mac OS.

b. Device drivers

Device drivers are system software, which are responsible for proper functioning of devices. Every device or hardware, whether it is a printer, monitor, mouse, keyboard or modem has a driver software for support. Whenever a new device is added to the computer system, a new device driver must be installed before the device can be used. But device drivers are not independent software; they assist and are assisted by the operating system for the proper functioning of the devices.

C. Utility Software

Utility software performs day to day tasks related to the maintenance of the computer system. This is used to support, improve, expand and secure existing programs and data in the computer system. Certain utility software comes along with the operating system. Some utility software is available for free as per requirement, some of the utilities are purchased from market. Some of tasks are commonly performed by utilities software include formatting of hard disks, or floppy disks, taking backup of files stored on hard disk, on a tape or floppy disk, data recovery, virus protection etc.

2. System development software

System development software consists of system software, which is associated with the development computer programs that the operating system can execute. A programmer needs certain tools to build software, which include an appropriate computer language, a translator to translate a particular language to machine language, etc. All the necessary tools that are required by the programmer are :

1. Programming Language

2. Language translators

1. Programming Language

A programming language is a primary interface of a programmer with a computer a program is an ordered list of instructions that, when executed, causes the computer to behave in a predetermined manner. A programming language includes a series of commands, which are used in development of software. Programming languages are further divided into three categories, namely machine language, assembly language and high level language. Hundreds of programming languages have been developed since the invention of the computer system. Basic, C, C++ are popular high level programming languages.

2. Language Translators

Language translators are system software, which transform the instructions prepared by programmers in a programming language, into a form of 0s and 1s, called machine language, which can be interpreted and executed by a computer system. Language translators are classified into three types.

a. Assembler

b. Interpreter

c. Complier

a. Assembler

An assembler is a type of language translator, which translates an assembly language program (Source Program) into its equivalent machine language program (object program). Compared all they types of programming language, assembly language is the closest to the machine code. It is fundamentally a symbolic representation of machine code called mnemonic code such as ADD for addition, SUB for subtraction etc. However, no matter how close assembly language is to machine code, the computer is still unable to understand it. So, the assembly language program must be translated into machine code 0s and 1s by a separate program called an assembler.

b. Interpreter

An interpreter is another type of language translator, which analyses and executes the source code written in high level language in line by line manner, without looking at the entire program. In other words, an interpreter translates a statement in a program and executes the statement immediately, that is, before translating the next source language statement. The advantage of interpreter is it they can execute a program continuously.

c. Complier

A complier is a type language translator that translates a program code written in high level language into a machine language. The programs written in any programming language needs to be converted to binary form. Therefore, in order to execute the programs, a programmer needs to compile the written programs. As a system program, a complier translates the source code (user written program) into the object code (binary form). The complier looks the entire source code and convert to the machine code.

Application Software

Application software is a set of programs designed to do a specific job for the user such as producing electricity bills, payroll slips or producing bills at the supermarket or business house preparing document. In many cases, users produce the programs according to its own requirements. Such programs are called user programs. But all these programs belong to a common name “Application Software”.

There are millions of application software available for a wide range of applications, raising from simple to complex. Some of the most commonly known application software are word processing, spreadsheet software, database software, graphic software, education software, and entertainment software. The application software is classified into two types:

a. Packaged Software

b. Customized or tailored software

a. Packaged software

Package software is generalized set of programs, which performs specific task for varieties of users. It’s designed to meet the needs of a wide variety of users for particular type of work. MS-word, MS-Excel, MS Access, PowerPoint, etc are the examples of packaged software. Such types of softwares are used in wide range for their common works. It can be used in schools, hospitals airlines, business, business houses etc. for common purpose. There are different types of packaged software that are designed of different purposes. Some of the common packaged software are :

Word processing package

Spreadsheet package

Data Management package

Engineering designing package (CAD, Autocad, CAM)

Computer Graphic Package

Accounting Package (Tally, Fact, Ex’ package)

b. Customized or tailored software

Customized or tailored software is a specialized set up programs, which performs a specific task for the specific individual organization. It is designed to meet the specific requirements of individual or organization. SLC result processing software and telephone bill processing software are good examples of customized software. Such type of software can be developed for other places like hospital, airlines or business houses.

Open Source Software

Open Source Software is the practice of making the source cod for a software product freely available, at no cost, to interested users and developers, even though they were not involved in creating the original product. The distribution of open source software expect and encourage users and outside programmers to examine the code in order to identify problems, and to modify the code with suggested improvements and enhancements. Widely used open source products include the Linux Operating system and Apache web server.

No comments:

Post a Comment