Computer Software
Computer Software
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
iii. It does not make use of emerging hardware and software technologies.
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.
a) W - Window – is a rectangular work area where different programs of files are displayed.
d) P - Pointing Device – A device that enables someone to select icons of menus on the
display screen.
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.
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.
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.
Distributed operating systems are used for tasks such as telecommunication networks, airline
reservation controls and peer-to-peer networks.
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.
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.
Real-time operating systems are used for tasks such as scientific experiments, medical imaging,
robotics and air traffic control operations.
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:
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.
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