You are on page 1of 8

COMPUTER SOFTWARE System software is set of generalized

programs that manage the computer

It’s a general term used to describe resources such the CPU,
the detailed instructions that control communication links and peripheral
the operation of the computer. In devices. System software coordinates
order to serve any purpose, the the various parts of the computer
operation of the computer must be system and mediates between
controlled by a program. Without the application software and computer
software the hardware cannot perform hardware.
the tasks we associate with the
A program is a set of instructions Within the set of system software,
written in a specialized language, the there is usually a program, suite of
execution of which controls the programs, called an operating
operation of the computer to serve system. Operating system is the
some purpose. system software that manages and
controls the computer activities. The
These instructions tells the machines operating system controls the
physical components what to do, performance of the computer by doing
without which the computer could not a variety of jobs to ensure the proper,
do anything at all. orderly and efficient use of hardware
The stored program concept means by application programs. It is
that a program must be stored in the software that controls the systems
computer’s primary memory along hardware and that interacts with the
with the required data in order to user and application software.
execute, or have its instructions Operating system allows a number of
performed by the computer programs to be run on the computer
without human intervention by an
• System software
• Applications software OS and control programs ensure that
the computers monitor and control
SYSTEM SOFTWARE their own operations
It’s a program that controls the It is a set of programs that lies
computer hardware or that can be between the user and the application
used to maintain the computer in software, and the computer hardware
some state so that it runs smoothly. therefore it’s a collection of programs
It’s the software that controls the way designed to manage the computer
the computer operates. hardware.
Example of operating system MODES OF OPERATION AND
2000 SERVER & CLIENT, DOS, The computer ha a series of
WIN XP, UNIX, LINUX, WIN ME, specialized operating systems
WINDOWS CE, MACOS. capabilities
TYPES OF OS/CLASSIFICATION Multiprogramming is an operating
system capability that permits more
• Real-time real time/embedded than one program in main storage be
OS. processed apparently at the same time
OS is used to control machinery, i.e. more than one program use the
scientific instruments and industrials processor at the same time. This is
systems. It manages the resources of a accomplished by the programs taking
device so that a particular operation turns at short bursts of processing
executes in precisely the same amount time, I .e group of groups takes turns
of time every time it occurs. in using the processor.
Many real time OS are embedded in Multiprocessing is an operating
specialized devices such as home system capability that link two or
appliances. When real-time OS are more processors present in a computer
built into the circuitry of a device and system and are sharing some or all of
not loaded from a disk is called the same memory. In this case two
embedded OS. programs may be processed at the
same instant. A computer which
• Single user/single tasking contains one CPU is called
OS that allows a single user to uniprocessor system while the one
perform just one task at a time. e.g Ms which contains two or more CPUs is
DOS, Palm OS called a multiprocessor system.
Time sharing- Time-sharing OS uses
• Single user/multitasking different algorithms to share the CPU
OS that allows a single user to time with more than one process. This
perform two or more functions/tasks allows a computer with only one CPU
at at time e.g windows, MacOS to give the impression that it is
• Multi user/multitasking running more than one program at the
OS that allows multiple users to use same time. It allows users to run
programs that are simultaneously several tasks concurrently on one
running on a single network server. processor or many processors.
Batch processing- the job (program
and data) is not processed until fully
input. The jobs are entered and stored
on a disk in a batch queue and then
run one or more at a time under the
control of the operating system. a job resources required for them to
may wait in a batch queue for minutes operate.
or hours depending on the work load
Real time system- a computer system File management: the operating
that is capable of processing data so system manages reading and writing
quickly that the results are available in the file system and the user and
to influence the activity currently application file access authorizations.
taking place. FUNCTIONS OF THE
The role of OS is resource
management and it manages the • It is a set of programs that lies
following primary resources: between the user and the
• Processors application software, and the
• Storage computer hardware therefore it’s a
• I/O devices collection of programs designed to
• Data manage the computer hardware.
• Programs Therefore it’s a collection of
Management of the processor: the programs designed to manage the
operating system is responsible for systems resources. It allocates and
managing allocation of the processor assigns resources, schedules
between the different programmes operations and monitors system
using a scheduling algorithm. activities.
• The scheduling and loading of
Management of the random access programs, or subprograms, in
memory: the operating system is order to provide a continuous
responsible for managing the memory sequence of processing or to
space allocated to each application provide appropriate responses to
and, where relevant, to each user. events.
• Control over hardware resources,
Management of input/output: the
e.g. control over the selection and
operating system allows unification
operation of devices used for
and control of access of programmes
input, output, or storage.
to material resources via drivers (also
• Passing of control from one job
known as peripheral administrators or
(program) to another under a
input/output administrators)
system of priority when more than
Management of execution of one application program occupies
applications: the operating system is main storage.
responsible for smooth execution of • Manages peripheral devices,
applications by allocating the communicates with the printer,
disk drive, monitor for utilization there are any potential problems on
and services the disk, such as bad disk areas.
• Manages memory allocation and Defragmenting means putting
re-allocation in processing and files on the disk so that the whole
execution. It manages a dynamic file is in sequence.
address translation between the • Memory Management software
main memory and virtual memory. handles where programs put their
• It establishes the user interface for current data in RAM
communication between the user • Backup software is software that
and computer resources. assists you in backing up your files
• It coordinates concurrent and even the entire computer hard
processing of multiple jobs by drive. It is important for you to
switching the needed resources back up your files regularly
back and forth between processing. • Data Recovery programs are
• It monitors resources and provides attempt to recover deleted or
privacy and security for data. damaged (corrupted) files.
• It locates and accesses needed data • Data Compression programs
files squeeze out the disk space
generated by the formatting
SOFTWARE • Virus Scanning Software/Anti-
Other system software consist of virus programs are utility
programs designed to protect your
Utilities computer from computer viruses.
Utility programs help manage, Virus scanning software is critical
maintain and control computer to uses, due to the number of
resources. These programs are computer viruses (small computer
available to help you with the day-to- programs created to disrupt and
day chores associated with personal destroy computer files and/or
computing and to keep your system operating system software).
running at peak performance. They
include utility programs for routine, Computer language translation
repetitive, copying, clearing primary programs (language translators)
memory, sorting etc. Program written in human readable
Examples symbols and instructions using high
• Disk Management - Programs level programming languages such C,
involve formatting and C++, COBOL etc must be converted
defragmenting disks .e.g. to a form the computer can
Scandisk scans your disks to see if understand. Language translation
programs translate these high level Application Software
programming languages such C, C++,
COBOL into machine language that Application software is any software
the computer can execute. This type used for specified applications.
of software is compiler or interpreter. Applications software is software
designed to be put to specific practical
Compilers- translate source code into use.
machine code.
i. Specialist application software-
Interpreters –some programming do these are programs with
not use a compiler but uses and associated documentation,
interpreter which translate each designed specifically to carryout
source statement at a time into particular tasks e.g. solving sets
machine code and execute it. of maths, equations; stock
ii. Application packages- a suite of
programs, with associated
documentation used for a
particular type of problem but
can also be used for a variety of
similar problems.
They include
• Word Processing
• Spreadsheet
• Database
GRAPHICAL USER INTERFACE • Presentation Graphics
(GUI) • Communication
• Tutorials
Early PC operating systems such as
MS DOS were command driven. GUI • Entertainment, Games
operating system makes extensive PROGRAMMING LANGUAGES
use of icons, buttons, menus, boxes,
bars, and drop down list to perform The Evolution of Programming
the same operations. It is the Languages
dominant model of user interface for
A programming language is a set of
PC operating systems and other
words, codes, and symbols that allow
a programmer to give instructions to
the computer. Many programming
languages exist, each with their own
rules, or syntax, for writing these • It requires no translator to translate
instructions. the code i.e. Directly understood
by the computer
To build programs, people use
languages that are similar to human Disadvantages of Machine
language. The results are translated Language:
into machine code, which computers • All operation codes have to be
understand. remembered
• All memory addresses have to be
Programming languages can be
classified as low-level and high-level
languages. • It is hard to amend or find errors in
a program written In the machine
Low-Level Programming language
Languages • These languages are machine
dependent i.e. a particular
Low-level programming languages
• Machine language can be used on
include machine language and
only one type of computer
assembly language.
Assembly language uses the same
Machine language, which is referred instructions and structure as machine
to as a first generation programming language but the programmer is able
language, can be used to to use meaningful names or
communicate directly with the abbreviations instead of numbers.
computer. However, it is difficult to Assembly language is referred to as a
program in machine language because second generation programming
the language consists of 0s and 1s to language.
represent the status of a switch (0 for
off and 1 for on). It was developed to overcome some
of the many inconveniences of
The most basic type of computer machine language. Operation codes
languages, consisting of strings of and operands are given in the form of
numbers the computer's hardware can alphanumeric symbols instead of 0’s
use. Different types of hardware use and l’s. These alphanumeric symbols
different machine code. For example, will be known as mnemonic codes
IBM computers use different machine and can have maximum up to 5 letter
language than Apple computers. combination e.g. ADD for addition,
Advantages of Machine Language SUB for subtraction, START,
LABEL etc. Because of this feature it
• It makes fast and efficient use of is also known as ‘Symbolic
the computer. Programming Language’.
3GLs are portable, meaning the object
Advantages of Assembly Language code created for one type of system
can be translated for use on a different
• It is easier to understand and type of system.
use as compared to machine
language. In order for the computer to
• ii)It is easy to locate and correct understand a program written in a
errors. high-level language, programmers
• It is modified easily convert the source code into machine
Disadvantages of Assembly language using a compiler or an
Language interpreter

• Like machine language it is In the 1980s, object-oriented

also machine dependent. programming (OOP) evolved out of
• Since it is machine dependent the need to better develop complex
therefore programmer Should programs in a systematic, organized
have the knowledge of the approach. The OOP approach allows
hardware also. programmers to create modules that
can be used over and over again in a
variety of programs.
Higher-level programming Object-oriented languages include
languages Java, C++ and Visual Basic.
High-level programming languages, Types of High Level Languages
which are often referred to as third
generation programming languages Many languages have been developed
(3GL), were first developed in the late for achieving different variety of
1950s. tasks, some are fairly specialized
others are quite general purpose.
High-level languages are basically
symbolic languages that use English These are categorized according to
words and/or mathematical symbols their use as
rather than mnemonic codes. Each a) Algebraic Formula-Type
instruction in the high level language Processing.
is translated into many machine These languages are oriented towards
language instructions thus showing the computational procedures for
one-to-many translation solving mathematical and statistical
High-level programming languages problem. Examples include
have English-like instructions and are • BASIC (Beginners All Purpose
easier to use than machine language. Symbolic Instruction Code).
• FORTRAN (Formula Translation).
• PL/I (Programming Language, • Therefore it is easier to learn.
Version 1). • They require less time to write.
• ALGOL (Algorithmic Language).
• They are easier to maintain.
• APL (A Programming Language).
Business Data Processing: • Problem oriented rather than
a) These languages emphasize their 'machine' based.
capabilities for maintaining data Program written in a high-level
processing procedures and files language can be translated into
handling problems. Examples are: many machine language and
• COBOL (Common Business therefore can run on any computer
Oriented Language). for which there exists an
• RPG (Report Program Generator appropriate translator.
b) String and List Processing: These
are used for string manipulation It is independent of the machine on
including search for patterns, inserting which it is used i.e.Programs
and deleting characters. Examples are: developed in high level language
• LISP (List Processing).
can be run on any Computer
• Prolog (Program in Logic). Disadvantages of High Level
Object Oriented Programming Language
Language • A high-level language has to be
In OOP, the computer program is translated into the machine
divided into objects. Examples are: language by a translator and
• C++ thus a price in computer time is
• Java paid.
a) Visual programming language • The object code generated by a
These are designed for building translator might be inefficient
Windows-based applications Compared to an equivalent
Examples are: assembly language program
• Visual Basic
• Visual Java
• Visual C
Advantages of High Level Language
Following are the advantages of a
high level language:
• User-friendly
• Similar to English with vocabulary
of words and symbols