Computer Software
Computer Software
Computer Software
Software
Software is the general term applied
to the instructions that direct the
computer’s hardware to perform
work. It is distinguished from
hardware by its conceptual rather
than physical nature.
Hardware consists of physical
components, whereas software
consists of instructions
communicated electronically to the
hardware
Software is needed for 2 purposes:
First, computers do not directly understand
human language, and software is needed to
translate instructions created in human
language into machine language.
Second, packaged or stored software is
needed to make the computer an economical
work tool.
Software is supplied as organized instruction
sets called programs, or more typically as a
set of related programs called a package.
Programs translate operations the user
needs into language and instructions that
the computer can understand. By itself,
computer hardware is merely a collection of
printed circuits, plastic, metal, and wires.
Without software, hardware performs no
functions.
Categories of Software
1. System Software
2. Utility Software
3. Application Software
System Software
System software “boots up” (starts up
and initializes) the computer system;
controls input, output, and storage;
and controls the operations of the
application software.
System software helps speed up the computer’s
processing, expands the power of the
computer by creating cache memory, reduces
the amount of confusion when multiple
programs are running together, “cleans up”
the hard drive so that storage is managed
efficiently, and performs other such system
management tasks.
Basic Input/Output System
The first level of system control is handled by
the basic input/output system (BIOS) stored
on a ROM chip on the motherboard. The
software on the BIOS chip is the first part of
the computer to function when the system is
turned on. It first searches for an Operating
System (OS) and loads it into the RAM.
Programs on chips are often
called firmware, because they
straddle the line between
hardware and software.
Operating System
An OS is the overall controller of thwork of
the computer. The OS is software loaded
from the hard drive into RAM as soon as the
computer is turned on.
While the firmware cannot be upgraded
without changing the hardware chip, the OS
can be upgraded or entirely changed
through software.
OSs handle the connection between the CPU and
peripherals.
The connection between the CPU and a peripheral
or a user is called an interface.
The OS manages the interfaces to all peripheral
hardware, schedules tasks, allocates storage in
memory and on disks, retrieves programs and
data from storage, and provides an interface
between the machine and the user.
Utility Software
Utility software consists of
programs designed to support and
optimize the functioning of the
computer system itself.
Utility programs include programs
designed to keep the computer system
operating efficiently. They do this by
adding power to the functioning of the
system software or supporting the OS
or applications software programs.
6 Categories of Utility Software
1. Security Software
2. Disk Management Utilities
3. Backup Utilities
4. Screen Savers
5. Archival Software
6. Programming environvment
support system
Security Software
Security software, including primarily anti-
virus, firewall, and encryption programs,
protect the computer and its data from
attacks that can destroy programs and
data.
Anti-virus Utilities
serve primarily to guard against malicious
program inadvertently accessed, usually
through email or downloads from the
Internet.
Firewalls
Firewalls are a type of security program that
makes it much harder for unauthorized persons
or systems to enter the computer and hijack or
damage programs or data on the computer.
Firewalls can include both additional hardware
and utility software.
Encryption Software
Encryption software encodes the data so that it
cannot be read until it is decoded. The HTTPS
letters on a Web page address indicate that the
site encrypts data sent through that site. The
encryption is sufficiently high level that it
cannot be decoded without a program at the
receiver site.
Disk Management Utilities
Disk management utilities are designed to
help the user keep hard disk space clean and
efficient.They do this by analyzing use of
disk space, defragmenting the drive and
deleting duplicate files if the user so
commands.
The defragmenter moves data around
on the disk so that small empty spaces
are eliminated and data and programs
are relocated to better use the
available space.
Backup Utilities
serve to help the users back up their data.
Applications programs may be backed up,
but usually that is not necessary because
legal copies of programs can be reloaded
by the person who bought the license.
Screen Savers
are computer programs that either blank
the monitor screen or fill it with
constantly moving images when the user is
away from the computer but does not
turn it (and the monitor) completely off.
Archival Software
usually performs at least two functions.
First, it compresses information in files
to be archived, and then stores them in a
compressed form in some long-term
storage device.
Terms used to describe the data compression
performed by archival software include:
packing as well as:
zipping unpacking
compressing unzipping
archiving de-archiving, and
extraction
The compression can sharply reduce the
size of a large file such that it can be
made small enough to e-mail to another
person or location.
Programming environment
support programs
are used by program developers to
support their programming work or to
run their programs.
COMPILER - The program that performs the
translation.
If a programmer wishes to translate a machine
language program into a higher level language a
human can understand the programmer uses a
DECOMPILER PROGRAM.
Programming is difficult because not only does
the programmer have to detail complex logic,
but the commands that comprise the program
must be written in a specific syntax.
Syntax in this usage refers to a set of very
specific rules about words, word usage, and
word order in order of a computer language.
Syntax must be exactly correct for a
computer to correctly interpret the code
and run the program. Problems with either
the logic or syntax will cause the program
to fail, or perform incorrectly.
These kinds of problems are called
“BUGS” and correcting them is called
“DEBUGGING” a program.
Utility programs designed to help a
programmer debug a program are called
DEBUGGING PROGRAMS.
Applications Software
Applications software includes all the
various programs people use to do work,
process data, play games, communicate
with others, and watch videos and
multimedia programs on a computer.
Application programs are written in a
particular programming language. Then
the program is “compiled” (or translated)
into machine language so the computer can
understand the instructions and execute
the program.
INFORMATION SCIENCE
Information science is an interdisciplinary
field primarily concerned with the analysis,
collection, classification, manipulation,
storage, retrieval, movement, dissemination,
and use of information (Stock & Stock, 2013).
It is concerned with technologies, strategies,
and methodologies for getting the right
information to people when it is needed without
people getting overwhelmed with irrelevant and
unwanted information. All science is concerned
with measurement and analysis, and information
science is no different
Key themes in information science
analysis include (Luenberger, 2006):
optimality
performance
complexity
structure
Optimality
Optimality varies with the situation, but
generally refers to achieving an optimum
value for some desired outcome.
Optimality may refer to almost any variable
that is measured on a numerical scale, such as
cost, time, workload, etc.
Performance
Performance is typically considered in the context
of average performance of the information system
over a series of communication instances.
Averages are better representations of
performance than long lists of single instance
performance.
Complexity
Complexity is a reality with the enormous
masses of data and information generated,
collected, stored, and retrieved. A typical
measure of complexity in informatics is the
amount of time it takes to complete a task.
Structure
Structure means developing a
system for ordering and cataloging
the data and information,
particularly in a database.
Information science is a rapidly growing field, and
much of the progress is based on development and
testing of mathematical algorithms related to
information management tasks, such as storage
and retrieval, database structure, measuring the
value of information, and other works involved in
increasing the efficiency of using information to
make better decisions.
Programming Languages
A programming language is a
means of communicating with
the computer.
Generations and Levels of
Programming Languages
Programming languages are divided into
five generations, or sometimes into three
levels. The term level refers to how close
the language is to the actual machine.
THE FIRST LEVEL INCLUDES THE FIRST TWO
GENERATIONS OF PROGRAMMING
LANGUAGES:
machine language
assembly language.
Machine Language
Machine language is the true language of the
computer.
The machine language consists only of the binary
numbers 1 and 0, representing the ON and OFF
electrical impulses. All data—numbers, letters,
and symbols—are represented by combinations
of binary digits.
Assembler Language
Assembler language is far more like the
English language, but it is still very close to
machine language.
Assembler language instructions have a
one-to-one correspondence with a machine
language instruction.
Assembler language is still used a great
deal by system programmers and
whenever application programmers wish
to manipulate functions at the machine
level.
THIRD-GENERATION LANGUAGES.
Third-generation languages include the
procedural languages and were the
beginning of the second level in
programming languages.
Procedural languages require the
programmer to specify both what the
computer is to do and the procedure for
how to do it. These languages are far more
English-like than assembler and machine
languages.
The style and sequence of a language are
called its syntax.