Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Computer Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

COMPUTER SOFTWARE

Software is a set of instructions that enables a computer to operate. It is also the general term used for a set
programs.

Classification of Computer Software


a) Classification according to purpose
b) Classification according to acquisition
c) Classification according to End-User-License

a) Classification According to Purpose


- They are primarily designed to manage the hardware resources or to help the user accomplish specific
tasks.
- Software according to purpose is further categorized into:
i) System software
ii) Application software.

i) System Software
- It manages the operation of the computer and makes sure that the computer works efficiently.
- It performs operations to avail computer resources to the user.
Its functions include:
1. Booting the computer and making sure that all the hardware elements are working properly.
2. Performing operations such as retrieving, loading, executing storing application programs.
3. Storing and retrieving files.
4. Performing a variety of system utility functions.

System software is further subdivided into four sub-categories namely:


1. Operating systems (OS)
2. Firmware.
3. Utility software.
4. Networking software.

48
1. Operating systems (OS)
- The OS is the main program that controls and supervises the execution of user applications and hardware
resources.
-It acts as a go-between (interface) between the applications and the computer hardware.
- It manages input, output and storage operations in a computer.
- Examples of common operating systems are:
- Microsoft Windows (2000, XP, Vista, 7, 8 etc)
- UNIX
- Linux
- Macintosh (Mac OS), etc
- MS-DOS

2. Firmware
- It is a combination of both the software and hardware recorded permanently on electronic chips.
- Firmware, also referred to as stored logic.
- It is a read-only memory chip (Contents cannot be changed) that is mounted or plugged into the
motherboard. Read-only memory means that its contents cannot be changed.
- It may hold an operating system, utility programs, language processors etc.

3. Utility software
- It performs commonly used services like sorting, copying, file handling, disk management etc. It is a
special program used to manage computer files, diagnose and repair computer problems e.g.
antivirus, compilers, diagnostic tools and make the computer run more efficiently.

There are two basic types of utility software:


a) System-level utility - These help the user to work with the operating system and its functions. For
example, a utility software tells user when he/she enters a wrong command and gives suggestions how the
error can be corrected.
b) Application-level utility - These make application programs run more efficiently and smoothly.
Other common utility Programs are:

49
- Text editor – Used to type text without any special format. E.g Liner editor and Screen
editor.
- Linker and Loader – Linker accepts separately translated modules as inputs and
combines them into one logical module. Loader transfers the load module of the linker
from storage to main memory for execution.
- Language translator – Used to convert source code of a programming language to object
code.
- Sort & Merge utility – Sort utility arranges records in a file to predetermined sequence.
Merge utility is used to combine two or more input files into one output file.
- Diagnostic tools - Used to detect and correct system errors. E.g Norton Utilities, PC
Tools, QAPlus, Dr. Watson etc.
4. Networking software
- It is used to establish communication between two or more computers by linking them using a
communication channels like cables to create a computer network.
- It enables exchange of data in a network as well as providing data security.
- Networking software may come as independent software or integrated in an operating system. An example
of networking software is novel netware.

ii) Application software


- Application software, also known as application packages are programs that are designed to help the user
accomplish specific tasks.
- Examples of Application software include: Word Processors, Spreadsheets, Desktop
Publishing (DTP), Databases, Computer Aided Design (CAD), Graphics software, Presentation
software, etc.

50
- The table below gives a summary of application packages.
Application software Examples Uses
Word Processors - Microsoft word, - Word perfect, Used for typing documents like
- Wordpro, - Lotus, etc letters.
Spreadsheets - Microsoft Excel, - Lotus 123, Used in performing
- Quattro Pro, VisiCalc e.t.c mathematical calculations.

Desktop Publishing (DTP) - Microsoft Publisher, Used for designing publication


- Adobe PageMaker, like News papers, Calendars
- Adobe InDesign, etc.
- Print Shop Ensemble,
- FrameMaker, - QuarkXpress,
- Interleaf, etc
Databases - Microsoft Access, - FoxBase Used for keeping records.
- Paradox, - MySQL, - Oracle,
- Sybase, - Informix, - Ingress,
- FoxPro, - Dbase, etc
Computer Aided Design - AutoCAD, Used in technical drawing
(CAD) - SolidWorks, etc
Graphics software - Corel Draw, - Photoshop, etc Used in designing and
manipulating graphics
Presentation software - Microsoft PowerPoint, Used to develop presentations
- Freelance Graphics, etc on slides or overhead
transparencies.

51
b) Classification According to Acquisition
- Software according to acquisition can be categorized into:
i) In-house developed software
ii) Vendor off-the-shelf software (Standard software)
i) In-house developed software
- These are programs that are uniquely designed and tailored to meet a particular user's needs.
- For example, a bank may decide to manage its banking operations using a unique program developed by
hired programmers to just meet the needs of that bank only and not other banks.
- These programs are not available in shops and once developed for a particular company/ organization/
user may not necessarily meet the needs of other users.
ii) Vendor off-the-shelf software/ Standard Software
- They are developed by software engineers, packaged and then made available for purchase through a
vendor, a distributor or directly from the developer.
- A developer may bundle more than one but closely related software into one package to form a suite or
integrated software as opposed to single-purpose software.
- An integrated software combines several general purpose applications into a single package.
- Examples of suites are:
- Lotus Suite
- Microsoft-Office
- Corel Office
Examples of single purpose are:
- QuickBooks
- Sage Pastel.
The term package is sometimes used to refer to these types of software that are packaged and sold by
vendors.
Advantages of standard software (Vendor off-the-shelf) over the in-house developed software
1. They can easily be installed and run.
2. They are cheaper than in-house developed software.
3. They are readily available for almost any task.
4. Minor or no errors since they are thoroughly tested.
5. They can easily be modified to meet user's needs.
Disadvantages of Vendor off-the-shelf software

52
1. They may have some features not needed by the user which may take extra storage.
2. They may require the user to change processes and hardware for compatibility which may in
turn be expensive.
3. They may lack some features required by the user.

c) Classification according to End-User-License (EUL)


- Software according to End-User-License (EUL) is categorized into:
i) Open source (non-proprietary software)
ii) Proprietary software
iii) Freeware.
i) Open source or non-proprietary software
- is software whose source code is made available to users for free.
- The users may use, modify and distribute the modified software.
- Examples include: Linux Operating system
ii) Proprietary software
- is software whose source code is hidden from users.
- Modifications are only made by the software manufacturer.
- Proprietary software may be licensed to users at a fee or applied freely.
- Examples include: - Microsoft Operating System
- Microsoft Office
- Adobe PageMaker
- Corel Draw Suite
iii) Freeware
- Is a form of Proprietary software which is freely made available to the user.
- Most freeware may be malicious, and therefore take caution when acquiring one.
Examples include: - Avast Free Edition Antivirus
- AVG Free Edition Antivirus

53
CRITERIA FOR SELECTING A COMPUTER SYSTEM
Before purchasing a computer, hardware or software resources, it is advisable to do a requirement analysis
of all the requirements necessary in order to balance between cost and user needs. Requirements analysis
involve, identifying user needs, hardware and software evaluating.

HARDWARE CONSIDERATIONS
There are a number of factors you need to put into consideration before acquiring a computer or hardware
accessories.
1) Microprocessor type and speed
- The processing power, speed and cost of a computer mainly depends the type of a microprocessor and its
clock speed.
- Consider an acceptable speed and meets the user requirements at a fair price.
2) Memory Capacity
- The memory capacity of a computer determines what operating system and application programs can be
installed.
- A computer might be having a Processor with very high speed, but it may perform poorly if it has low
memory capacity.
- When purchasing a Computer or memory modules for upgrade consider the following::
a) The type of memory package e.g. DDR, DDR II
b) Availability of empty memory slot
c) Capacity of memory modules e.g 128 MB, 256 BM etc
d) Compatibility with other Modules in case of upgrade
3) Warranty
- This is the agreement between the seller and the buyer that spells out the terms and conditions of
maintaining/ replacing the product after sale.
- A good warranty should cover:
a). Scope of cover e.g. Six months, one year, etc
b). Callout response and liability agreement – repair or replace cost.
c). Preventive maintenance.
4) Cost
- It is important to make a market survey from Newspapers, Magazines, Vendors to compare prices before
purchasing a computer.

54
- It is important also to know what kind of computer you are buying, is it a branded computer or a clone.
- A branded computer - all its components are from one manufacturer and it has not been tampered with.
Some brands are IMB, Compaq, HP etc.
- A Clone Computer - its components have been assembled together perhaps from different
manufacturers. A clone may work well, but the components are not optimized to work with each other.
- Clones are usually cheaper than branded computers.
- The cost of a computer depends on:
a) The Processor Speed
b) The RAM Capacity
c) The Hard Disk Capacity
d) Whether it is a Clone or Branded
e) Its Portability – Laptops are more expensive than Desktops

5) Upgradability and Compatibility


The hardware bought must be compatible across platforms and easily upgradable.

6) Portability
Consider if the computer can be easily moved from one point to another. Laptops can easily be moved
around than Desktops.

7) User needs
Consider how the computer will be used and if some physically challenged people will use it, it must have
features for such. E.g Braille Keyboard fort the Blind.

8) Monitor
- Consider the type of monitor you need depending on size, resolution and technology used on it. Whether
it is CRT or TFT etc.
9) Multimedia capability
- Multimedia refers to the ability for a computer to process and output text, sound, video and pictures. - A
multimedia system will consist of speakers, CD/DVD drive, sound cards and a SVGA monitor.
Other considerations
These include available ports, wireless connectivity and the system unit design (Tower or Desktop).

55
SOFTWARE CONSIDERATIONS
The following factors should be considered when selecting software:
1) Authenticity
- This is the genuineness, validity and or legitimacy of an item.
- An original copy of software is accompanied by the developer’s license and certificate of authenticity.
- It is illegal to produce pirated copies of somebody’s software.
2) Documentation
It refers to the manuals/ booklet prepared by the developer having details on how to install, use and
maintain the software.
3) User needs
User needs dictates the type of operating system and application programs one should have. E.g We need
Microsoft Office in schools for learning, Banks will require Accounting software for there activities,
Physically challenged people may require software to recognize voice input, etc.
4) Reliability and security
- A good software should have security mechanism to protect data from illegal access. E.g able to use
passwords and log-in accounts.
- Data security is paramount. Consider security features of the software.
5) User friendliness
- This is a measure of how easily the user can operate the computer.
- A good software will have the WIMP feature; i.e.
W – Has a Window (A Frame like Interface)
I – Has Icons representing commands, Files or folders.
M – Has a Menu of commands to choose from
P – Use a Pointing device to select commands
6) Cost
The cost must be considered before buying a program against the benefits that it is likely to bring.
7) Compatibility and system configuration
A software product must be compatible with the existing hardware, operating system or application
programs and should be upgradable.
8) Portability
Software portability is the capability of the software to be installed in more than one computer.

56
OPERATING SYSTEM (OS)
- The OS is the main programme that controls the execution of user applications and enables the
user to access hardware or software resources.
- The OS therefore supervises all the other Programmes in the computer and manages access to
the hardware.

User (Runs Application Programs)

Application Software (Sends user requests to O.S)

Operating System (Receives and executes requests)

Hardware (Receives and performs O.S commands)

Resources Under The Control Of Operating System (O.S)


1. Processor
2. Main Memory (R.A.M)
3. Input/output devices and ports.
4. Communication devices and ports
5. Secondary storage devices

1. Processor
- It executes tasks called processes.
- The OS arranges the tasks according to priority and has the ability to stop a particular task to
allow the processor to service another one.

57
2. Main memory
- The OS determines which task will remain in main memory awaiting execution and which one
would be sent back to secondary storage to wait.
- The OS is usually installed in the hard disk and must be loaded to RAM during the booting
process.
NB: It is only a small special part of the OS that is loaded to RAM during booting process because
it contains the most necessary commands and procedures for the booting process.
This special part is called the kernel.

3. Input/output devices and ports


- The OS controls all the data input and information and output tasks.
- The OS controls the flow of data from the time of input to the time the user receives it as
information.
- It also ensures that the right data reaches the processor at the right time.
- The OS also defines the various input/output ports found on the computer e.g. the printer port,
U.S.B port e.t.c.

4. Communication devices and ports


- The OS controls the overall communication process between various tasks and computers.
- Communication can either be external or internal whereby the computer system sends and
receives messages from various devices and Programmes.
- External communication can be achieved by connecting an external device to a communication
port using cables or wireless communication.

5. Secondary storage devices


- The OS manages the storage and retrieval of data on secondary storage devices.
- It also utilizes the free space on hard disks to enhance the performance of the computer by
temporarily holding tasks on it that were in R.A.M ready for processing but have to wait for
sometime.

58
FUNCTIONS OF OPERATING SYSTEM (OS)
1. Job Scheduling
2. Job Sequencing
3. Error Handling
4. Input/Output Handling
5. Interrupt Handling
6. Resource control & Allocation
7. Memory Management

1. Job scheduling/ Processor scheduling


- The OS determines which task to be processed first and makes sure that the one which is
currently being processed is closely monitored to avoid wasting time in the processor.
- The OS schedules, controls and monitors the tasks submitted for execution to ensure the most
efficient processing.
- The O.S schedules jobs according to priorities; the higher the priority, the higher the likelihood
of being allocated CPU time.

2. Job sequencing
- The OS keeps a list of jobs or tasks currently being run and clocks them in and out of the
processor.
- It arranges these tasks in a particular order to make it easy for the processor to execute them and
to know how and when to fetch instructions for each task.

3. Error handling
- The OS provides error correction routines to ensure smooth operations within the C.P.U and
possibly make suggestions on how to correct the errors.
- The OS does this by monitoring the status of the computer system and performing error checks
on both the hardware and software.

4. Input/output handling
- The OS co-ordinates the input or output devices and other peripherals making sure that data
flows properly between them and sorting out any possible confusion.

59
- The OS also governs the input and output of data and the allocation, storage and retrievals.

5. Interrupt handling
- An interrupt is a break from normal sequential processing of instructions in a programme.
- The OS determines the cause of the interrupt and transfers the control to the most appropriate
programme.
- An external request causes the processor to stop executing current tasks and do something else
before returning to the control back to the process that was initially interrupted.
- Each hardware device communicates to the processor using a special unique number called IRQ
(Interrupt Request Number)

6. Memory management
- All the data and instructions must be temporarily held in the main memory before and after
processing.
- The OS therefore organizes the main memory into blocks of sizes called page frames.
- Processes are divided equally into pieces that can fit into frames called pages.
- The O.S swaps/ exchanges pages between the main memory and the secondary storage.
- When the hard disk is used to hold the pages it is referred to as a virtual memory.
- The OS constantly assigns the main memory storage pages to data and instructions.
- To access a piece of data or instruction the OS knows how to find each piece of data or
instructions as long as the correct address or the page is used.

7. Resource control and allocation


- Resource control and allocation determines which task uses a particular resource and at what
time.
- In order for the processor to recognize and prioritize the use and request for resources it gives
each resource a unique identification number called an Interrupt Request (IRQ).
- The O.S uses the IRQ number to identify the resource being requested.
- When two tasks request to use the same resource at the same time then one with higher priority
interrupt is granted control.
- When two or more tasks request for a single resource at the same time, a conflict occurs leading
to deadlock.

60
- Deadlock is a situation where a shared resource is being requested by two or more processes at
the same time.
- Conflict occurs when two or more resources have a common IRQ.
- NB: examples of resources that can be shared include: Processor, Memory areas protected
against modification, Read only files e.t.c.

TYPES OF OPERATING SYSTEM (OS)


OS can be classified according to:
1. Number of tasks
2. Number of users
3. User Interface
4. Type of processing

1. CLASSSIFICATION ACCORDING TO NUMBER OF TASKS


a) Single-Tasking Operating System (Single Program OS)
- The OS allows only one program at a time to run in the computer.
- This means that the user can only run one interactive program at a time. The user must exit from
the program before loading and running another program e.g. MS DOS (Microsoft Disk
Operating system)

b) Multi- Tasking Operating System (Multi-programming OS)


- It allows a single CPU to execute more than one program at the same time.
- The C.P.U switches its attention between programs as it receives requests for processing,
executing statements from one program then from another program using the concept of giving
a time slice for each program.
- This switching of attention is so fast that it appears as if the programs are being executed
simultaneously.
- Most Graphical User Interfaces are multi tasking e.g. Windows Versions
(95/98/200/2003/XP/Vista, 7), Linux e.t.c.

61
2. CLASSIFICATION ACCORDING TO THE NUMBER OF USERS
a) Single-User Operating System
- It allows only one user at a time to access the computer. e.g. MS DOS.
b) Multi-User Operating System (Multi-access operating system)
- It allows more than one user to interactively access a computer at the same time.
- Examples of these are: Novell, UNIX, Linux, and Windows NT/2000
3. CLASSIFICATION ACCORDING TO USER INTERFACE

- The term User Interface refers to the method of interaction between computer and the user and
determines how easily the user can operate the computer.

Currently, there are 3 main types of user interface:


a) Command line interface
- The user interacts with the computer by typing a command at the prompt found on a command
line.
- A computer reads instructions from the command line and executes them. After the correct
command is typed the user must press the enter key for the command to be executed. Examples
include: Earlier Versions of MS-DOS, PC-DOS, OS/2 AND UNIX.
- Command line interface operating systems have become unpopular because:
i. it’s difficult to remember the commands

ii. It cannot process complex graphics

iii. It does not make use of emerging hardware and software technologies.

b) Menu driven interface


- This type of interface provides the user with the list of options to choose from.
- This interface therefore is suitable for beginners who may have difficulties in recalling
commands.
- The user is presented with a single menu or a submenu or a sophisticated menu to choose from.
Examples include: DOS editor and DOS shell.

c) Graphical user interface (GUI)


- This type of interface represents commands as small pictures on the screen called icons.

62
- An icon is a graphical representation of a command or a file or a folder or an application which
is selected using a pointing device like a mouse.
- GUI has become the latest effort to make user interface more user friendly. Examples of GUI
are Linux, Apple Macintosh and Microsoft Windows etc.

Features of a User Friendly Operating System

The features are given an acronym WIMP:

a) W - Window – is a rectangular work area where different programs of files are displayed.

b) I - Icon - is a graphical representation of a command or a file or a folder or an application.

c) M - Menu – a list of options inform of commands to choose from.

d) P - Pointing Device – A device that enables someone to select icons of menus on the
display screen.

4. CLASSIFICATION ACCORDING TO TYPE OF PROCESSING

Types of operating systems

1. Batch operating systems

The batch operating system does not have a direct link with the computer. A different system
divides and allocates similar tasks into batches (groups) for easy processing and faster response.
The batch operating system is appropriate for lengthy and time-consuming tasks. To avoid
slowing down a device, each user prepares their tasks offline and submits them to an operator.

Advantages of using a batch operating system include:


 Many users can share batch systems.
 There is little idle time for batch operating systems.
 It becomes possible to manage large workloads.
 It's easy to estimate how long a task will take to be completed.

Disadvantages are:
 Batch operating systems are challenging to debug.
 Any failure of the system creates a backlog.
 It may be costly to install and maintain good batch operating systems.

63
Batch operating systems are used for tasks such as managing payroll systems, data entry and
bank statements.

2. Distributed operating systems

This system is based on autonomous but interconnected computers communicating with each
other via communication lines or a shared network. Each autonomous system has its own
processor that may differ in size and function. A distributed operating system serves multiple
applications and multiple users in real-time. The data processing function is then distributed
across the processors.

Advantages of distributed operating systems are:


 They allow remote working.
 They allow a faster exchange of data among users.
 Failure in one site may not cause much disruption to the system.
 They reduce delays in data processing.
 They minimize the load on the host computer.
 They enhance scalability since more systems can be added to the network.

Disadvantages of distributed operating systems include:


 If the primary network fails, the entire system shuts down.
 They're expensive to install.
 They require a high level of expertise to maintain.

Distributed operating systems are used for tasks such as telecommunication networks, airline
reservation controls and peer-to-peer networks.

3. Network operating systems

Network operating systems are installed on a server providing users with the capability to
manage data, user groups and applications. This operating system enables users to access and
share files and devices such as printers, security software and other applications, mostly in a
local area network.

Advantages of network operating systems are:

 Centralized servers provide high stability.


 Security issues are easier to handle through the servers.
 It's easy to upgrade and integrate new technologies.
 Remote access to the servers is possible.

Disadvantages of network operating systems are:

 They require regular updates and maintenance.


 Servers are expensive to buy and maintain.
 Users' reliance on a central server might be detrimental to workflows.
64
Examples of network operating systems include Microsoft Windows, Linux and macOS X.

4. Real-time operating systems

Real-time operating systems provide support to real-time systems that require observance of
strict time requirements. The response time between input, processing and response is tiny,
which is beneficial for processes that are highly sensitive and need high precision. These
processes include operating missile systems, medical systems or air traffic control systems,
where delays may lead to loss of life and property.

Real-time operating systems may either be hard real-time systems or soft real-time systems. Hard
real-time systems are installed in applications with strict time constraints. The system guarantees
the completion of sensitive tasks on time. Hard real-time does not have virtual memory. Soft
real-time systems do not have equally rigid time requirements. A critical task gets priority over
other tasks.

Advantages of real-time operating systems include:

 They use device and systems maximally, hence more output.


 They allow fast shifting from one task to another.
 The focus is on current tasks, and less focus is put on the queue.
 They can be used in embedded systems.
 Real-time systems are meticulously programmed, hence free of errors.
 They allow easy allocation of memory.

Disadvantages of real-time operating systems are:

 They have a low capacity to run tasks simultaneously.


 They use heavy system resources.
 They run on complex algorithms that are not easy to understand.
 They're unsuitable for thread priority because of the system's inability to switch tasks.

Real-time operating systems are used for tasks such as scientific experiments, medical imaging,
robotics and air traffic control operations.

5. Mobile operating systems

Mobile operating systems run exclusively on small devices such as smartphones, tablets and
wearables. The system combines the features of a personal computer with additional features
useful for a handheld device. Mobile operating systems start when a device is powered on to
provide access to installed applications. Mobile operating systems also manage wireless network
connectivity.

65
Advantages of mobile operating systems are:

 Most systems are easy for users to learn and operate.

Disadvantages of real-time operating systems are:

 Some mobile OS put a heavy drain on a device’s battery, requiring frequent recharging.
 Some systems are not user-friendly.

Examples of mobile operating systems include Android OS, Apple and Windows mobile OS.

Factors to Consider when Choosing an Operating System

1. Hardware configuration of the computer such as memory size, hard disk capacity and
processor speed.
2. User friendliness of the operating system i.e. is it command-line or menu driven or GUI.
3. Basic design of the computer i.e. is it an IBM compatible or an apple computer.
4. Availability in the market e.g. Microsoft windows based OS is very common.
5. The cost of the operating system.
6. Reliability i.e. can it run without crushing or hanging
7. The number of users it can support.
8. The application software intended for the computer
9. The documentation available.

66

You might also like