You are on page 1of 10

Software

: Software is a general term for the various kinds of


programs used to operate computers and related devices. (The term hardware
describes the physical aspects of computers and related devices.)
Computer software, or just software, is the collection of computer
programs and related data that provide the instructions telling a computer
what to do. The term was coined to contrast to the old term hardware
(meaning physical devices). In contrast to hardware, software is intangible,
meaning it "cannot be touched"

The terms software and hardware are used as both nouns and adjectives. For
example, you can say: "The problem lies in the software," meaning that
there is a problem with the program or data, not with the computer itself.
You can also say: "It's a software problem."

The distinction between software and hardware is sometimes confusing


because they are so integrally linked. Clearly, when you purchase a program,
you are buying software. But to buy the software, you need to buy the disk
(hardware) on which the software is recorded

Software is often divided into three categories:

1. System software
2. Program software
3. Application software
1.System software

System software helps run the computer hardware and computer system. It
includes a combination of the following:

a. Operating systems

The most important program that runs on a computer. Every general-purpose


computer must have an operating system to run other programs. Operating
systems perform 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 disk drives and printers.

For large systems, the operating system has even greater responsibilities and
powers. It is like a traffic cop -- it makes sure that different programs and
users running at the same time do not interfere with each other. The
operating system is also responsible for security, ensuring that unauthorized
users do not access the system.

Operating systems can be classified as follows:

multi-user : Allows two or more users to run programs at the same


time. Some operating systems permit hundreds or even thousands of
concurrent users.
 Multiprocessing : Supports running a program on more than

one CPU.
 Multitasking : Allows more than one program to run

concurrently.
 Multithreading : Allows different parts of a single program to

run concurrently.
 Real time: Responds to input instantly. General-purpose

operating systems, such as DOS and UNIX, are not real-time.

Operating systems provide a software platform on top of which other


programs, called application programs, can run. The application programs
must be written to run on top of a particular operating system. Your choice
of operating system, therefore, determines to a great extent the applications
you can run. For PCs, the most popular operating systems are DOS, OS/2,
and Windows, but others are available, such as Linux.
b. Servers :

In computer networking, a server is simply a program that


operates as a socket listener[1]. The term server is also often generalized to
describe a host that is deployed to execute one or more such programs

A server is either a software, or one or series of computers that link other


computers or electronic devices together. They often provide essential
services across a network, either to private users inside a large organization
or to public users via the Internet. For example, when you enter a query in a
search engine, the query is sent from your computer over the internet to the
servers that store all the relevant web pages. The results are sent back by the
server to your computer.

Many servers have dedicated functionality such as web servers, print


servers, and database servers.

c. Utilities:

A program that performs a very specific task, usually related


to managing system resources. Operating systems contain a number of
utilities for managing disk drives, printers, and other devices.

Utilities differ from applications mostly in terms of size, complexity and


function. For example, word processors, spreadsheet programs, and database
applications are considered applications because they are large programs that
perform a variety of functions not directly related to managing computer
resources
The purpose of systems software is to unburden the applications
programmer from the often complex details of the particular computer being
used, including such accessories as communications devices, printers, device
readers, displays and keyboards, and also to partition the computer's
resources such as memory and processor time in a safe and stable manner.
Examples are - Microsoft Windows, Linux, and Mac OS X.

2. Programming software

Programming software usually provides tools to assist a programmer in


writing computer programs, and software using different programming
languages in a more convenient way. The tools include:

a. Compilers:

A compiler is a computer program (or set of programs)


that transforms source code written in a programming language (the source
language) into another computer language (the target language, often having
a binary form known as object code). The most common reason for wanting
to transform source code is to create an executable program.

The name "compiler" is primarily used for programs that translate source
code from a high-level programming language to a lower level language
(e.g., assembly language or machine code). If the compiled program can
only run on a computer whose CPU or operating system is different from the
one on which the compiler runs the compiler is known as a cross-compiler.
A program that translates from a low level language to a higher level one is a
decompiler. A program that translates between high-level languages is
usually called a language translator, source to source translator, or language
converter. A language rewriter is usually a program that translates the form
of expressions without a change of language.

b. Debuggers:

A debugger or debugging tool is a computer program that


is used to test and debug other programs (the "target" program). The code to
be examined might alternatively be running on an instruction set simulator
(ISS), a technique that allows great power in its ability to halt when specific
conditions are encountered but which will typically be somewhat slower
than executing the code directly on the appropriate (or the same) processor.
Some debuggers offer two modes of operation - full or partial simulation, to
limit this impact.

c. Interpreters:

In computer science, an interpreter normally means a


computer program that executes, i.e. performs, instructions written in a
programming language. An interpreter may be a program that either

1. executes the source code directly

2. translates source code into some efficient intermediate representation


(code) and immediately executes this
3. explicitly executes stored precompiled code[1] made by a compiler

which is part of the interpreter system


d. Linkers:

In computer science, a linker or link editor is a program that


takes one or more objects generated by a compiler and combines them into a
single executable program.

In IBM mainframe environments such as OS/360 this program is known as a


linkage editor.

On Unix variants the term loader is often used as a synonym for linker.
Other terminology was in use, too. For example, on SINTRAN III the
process performed by a linker (assembling object files into a program) was
called loading (as in loading executable code onto a file)[1]. Because this
usage blurs the distinction between the compile-time process and the run-
time process, this article will use linking for the former and loading for the
latter. However, in some operating systems the same program handles both
the jobs of linking and loading a program; see dynamic linking.

3.Applications software

Application software allows end users to accomplish one or more specific


(not directly computer development related) tasks. There are two types of
application software.

A) Application software.

B) Customized software
A) Application software:

The general programmers in the market developed by famous


software development companies are known as application
software. Typical applications include:,

i. Word processors
ii. Spreadsheets
iii. Database management systems

i. . Word processors:

A word processor (more formally known as


document preparation system) is a computer application used for the
production (including composition, editing, formatting, and possibly
printing) of any sort of printable material.

Word processing typically implies the presence of text manipulation


functions that extend beyond a basic ability to enter and change text, such as
automatic generation of:

• batch mailings using a form letter template and an address database


(also called mail merging);
• indices of keywords and their page numbers;
• tables of contents with section titles and their page numbers;
• tables of figures with caption titles and their page numbers;
• cross-referencing with section or page numbers;
• footnote numbering;
• new versions of a document using variables (e.g. model numbers,
product names, etc.)

ii. Spreadsheets:

A table of values arranged in rows and columns. Each


value can have a predefined relationship to the other values. If you change
one value, therefore, you may need to change other values as well.

Spreadsheet applications (sometimes referred to simply as spreadsheets) are


computer programs that let you create and manipulate spreadsheets
electronically. In a spreadsheet application, each value sits in a cell. You can
define what type of data is in each cell and how different cells depend on
one another. The relationships between cells are called formulas, and the
names of the cells are called labels.

Once you have defined the cells and the formulas for linking them together,
you can enter your data. You can then modify selected values to see how all
the other values change accordingly. This enables you to study various what-
if scenarios.

iii. Database management systems:

A collection of programs that


enables you to store, modify, and extract information from a database. There
are many different types of DBMSs, ranging from small systems that run on
personal computers to huge systems that run on mainframes. The following
are examples of database applications:

 computerized library systems


• automated teller machines
 flight reservation systems
• computerized parts inventory systems

From a technical standpoint, DBMSs can differ widely. The terms relational,
network, flat, and hierarchical all refer to the way a DBMS organizes
information internally. The internal organization can affect how quickly and
flexibly you can extract information.

B). Customized software:

These are the software developed according to the needs of organization.


The program is designed for a specific organization keeping in views its
requirements

You might also like