How computer software works


What is computer software

Software, consisting of programs,blurred.
enables a computer to perform specificSystem software helps run the computer
tasks, as opposed to the physicalhardware and computer system. It
components of the system (hardware).includes operating systems, device
This includes application software suchdrivers, diagnostic tools, servers,
as a word processor, which enables awindowing systems, utilities and more.
user to perform a task, and systemThe purpose of systems software is to
software such as an operating system,insulate the applications programmer as
which enables other software to runmuch as possible from the details of the
properly, by interfacing with hardwareparticular computer complex being used,
and with other software or customespecially memory and other hardware
software made to user specifications.features, and such accessory devices as
Computer software is so called incommunications, printers, readers,
contrast to computer hardware, whichdisplays, keyboards, etc.
encompasses the physicalProgramming software usually provides
interconnections and devices required totools to assist a programmer in writing
store and execute (or run) the software.computer programs and software using
In computers, software is loaded intodifferent programming languages in a
RAM and executed in the centralmore convenient way. The tools include
processing unit. At the lowest level,text editors, compilers, interpreters,
software consists of a machine languagelinkers, debuggers, and so on. An
specific to an individual processor. AIntegrated development environment (IDE)
machine language consists of groups ofmerges those tools into a software
binary values signifying processorbundle, and a programmer may not need to
instructions (object code), which changetype multiple commands for compiling,
the state of the computer from itsinterpreter, debugging, tracing, and
preceding state. Software is an orderedetc., because the IDE usually has an
sequence of instructions for changingadvanced graphical user interface, or
the state of the computer hardware in aGUI.
particular sequence. It is usuallyApplication software allows end users to
written in high-level programmingaccomplish one or more specific
languages that are easier and more(non-computer related) tasks. Typical
efficient for humans to use (closer toapplications include industrial
natural language) than machine language.automation, business software,
High-level languages are compiled oreducational software, medical software,
interpreted into machine language objectdatabases, and computer games.
code. Software may also be written in anBusinesses are probably the biggest
assembly language, essentially, ausers of application software, but
mnemonic representation of a machinealmost every field of human activity now
language using a natural languageuses some form of application software.
alphabet. Assembly language must beIt is used to automate all sorts of
assembled into object code via anfunctions.
assembler.Program and library
The term "software" was first used inA program may not be sufficiently
this sense by John W. Tukey in 1957. Incomplete for execution by a computer. In
computer science and softwareparticular, it may require additional
engineering, computer software is allsoftware from a software library in
computer programs. The concept oforder to be complete. Such a library may
reading different sequences ofinclude software components used by
instructions into the memory of a devicestand-alone programs, but which cannot
to control computations was invented bywork on their own. Thus, programs may
Charles Babbage as part of hisinclude standard routines that are
difference engine. The theory that iscommon to many programs, extracted from
the basis for most modern software wasthese libraries. Libraries may also
first proposed by Alan Turing in hisinclude 'stand-alone' programs which are
1935 essay Computable numbers with anactivated by some computer event and/or
application to the Entscheidungsproblem.perform some function (e.g., of computer
Types'housekeeping') but do not return data
Practical computer systems divideto their calling program. Programs may
software into three major classes:be called by one to many other programs;
system software, programming softwareprograms may call zero to many other
and application software, although theprograms.
distinction is arbitrary, and often



1 A B C D 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114