0% found this document useful (0 votes)
387 views738 pages

Learning Guide ICT Level 5

This learning guide is designed to support the implementation of Competency Based Education and Training (CBET) for ICT Level 5 in Kenya, aligning with national educational reforms aimed at enhancing the quality of vocational training. It emphasizes the need for a curriculum that meets industry standards and prepares trainees with the necessary skills and knowledge for a competitive workforce. The guide includes interactive learning activities, self-assessment tools, and resources to facilitate effective learning outcomes.

Uploaded by

fmukila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
387 views738 pages

Learning Guide ICT Level 5

This learning guide is designed to support the implementation of Competency Based Education and Training (CBET) for ICT Level 5 in Kenya, aligning with national educational reforms aimed at enhancing the quality of vocational training. It emphasizes the need for a curriculum that meets industry standards and prepares trainees with the necessary skills and knowledge for a competitive workforce. The guide includes interactive learning activities, self-assessment tools, and resources to facilitate effective learning outcomes.

Uploaded by

fmukila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 738

REPUBLIC OF KENYA

LEARNING GUIDE

FOR

ICT

LEVEL 5

TVET CDACC
P.O. BOX 15745-00100
NAIROBI

ii
First published 2020
©Copyright TVET CDACC

All rights reserved. No part of this learning guide may be reproduced, distributed, or transmitted
in any form or by any means, including photocopying, recording, or other electronic or mechanical
methods without the prior written permission of the TVET CDACC, except in the case of brief
quotations embodied in critical reviews and certain other non-commercial uses permitted by
copyright law. For permission requests, write to the Council Secretary/CEO, at the address below:

Council Secretary/CEO
TVET Curriculum Development, Assessment and Certification Council
P.O. Box 15745–00100
Nairobi, Kenya
Email: [email protected]
Website: www.tvetcdacc.go.ke

iii
FOREWORD

The provision of quality education and training is fundamental to the Government’s overall
strategy for social economic development. Quality education and training will contribute to
achievement of Kenya’s development blue print and sustainable development goals. Reforms in
education are necessary to align the sector to the provisions of the Constitution of Kenya 2010.
This triggered the formulation of the Policy Framework on “Reforming Education and Training in
Kenya” (Sessional Paper No. 1 of 2019). A key provision of this policy is the radical change in the
design, development and delivery of Technical and Vocational Education and Training (TVET)
which is the key to unlocking the country’s potential for industrialization. This policy requires that
training in TVET be Competency Based, Curriculum development be industry led, certification be
based on demonstration of competence and that mode of delivery allows for multiple entry and
exit in TVET programs.

The State Department for Vocational and Technical Training (VTT) has a responsibility of
facilitating the process of inculcating knowledge, skills and attitudes necessary for catapulting the
nation to a globally competitive country, hence the paradigm shift to embrace Competency Based
Education and Training (CBET) to address the mismatch between skills acquired through training
and skills needed by industry as well as increase the global competitiveness of Kenyan labor force.
The Technical and Vocational Education and Training Act No. 29 of 2013 and the Sessional Paper
No. 1 of 2019 on Reforming Education and Training in Kenya, emphasizes the need to reform
curriculum development, assessment and certification to respond to the unique needs of the
industry.

This learning guide has been developed to support the implementation of CBET curriculum in ICT
Level 5 and is intended to guide the trainee through the learning process. It is my conviction that
this learning guide will play a critical role towards supporting the development of competent
human resource for ICT sector’s growth and sustainable development.

PRINCIPAL SECRETARY, VOCATIONAL AND TECHNICAL TRAINING

iv
MINISTRY OF EDUCATION

v
PREFACE
Kenya Vision 2030 is anticipated to transform the country into a newly industrializing, “middle-income
country providing a high-quality life to all its citizens by the year 2030”. The Sustainable Development
Goals (SDGs) number four that focuses on inclusive and equitable quality education and promotion of
lifelong learning for all, further affirm that education and training is an important driver to economic
development for any country. Kenya intends to create a globally competitive and adaptive human
resource base to meet the requirements of a rapidly industrializing economy.

TVET CDACC has a responsibility of facilitating the process of inculcating knowledge, skills and
attitudes necessary for catapulting the nation to a globally competitive country, hence the paradigm shift
to embrace Competency Based Education and Training (CBET) to address the mismatch between skills
acquired through training and skills needed by industry as well as increase the global competitiveness of
Kenyan labor force. The Technical and Vocational Education and Training Act No. 29 of 2013 and the
Sessional Paper No. 1 of 2019 on Reforming Education and Training in Kenya, emphasizes the need to
reform curriculum development, assessment and certification to respond to the unique needs of the
industry.

To effectively implement CBET curriculum in ICT Level 5, this learning guide has been designed and
organized with clear interactive learning activities for each learning outcome of every unit of learning.
The guide further provides information sheet, self-assessment items, tools, equipment, supplies, and
materials necessary for the particular learning outcome. This is aimed at imparting the relevant
knowledge, requisite skills and the right attitude for work.

I am grateful to the trainers involved in the development of this learning guide.

Prof. CHARLES M. M. ONDIEKI, PhD, FIET (K), Con. Eng Tech.


CHAIRMAN, TVET CDACC

vi
vii
ACKNOWLEDGEMENT

This learning guide has been designed and developed to support the implementation of
Competency Based Education and Training (CBET) curricula in Kenya. The learning guide is
intended to support learning by providing practical and theoretical learning activities, simplified
content and self-assessment items to guide the trainee in the learning process.

I recognize with appreciation the critical role of trainers in developing this learning guide and
ensuring its alignment with National Occupational Standards (OS) and CBET curriculum. I am
convinced that this learning guide will support trainees’ acquisition of knowledge, skills and right
attitude needed for work in the ICT sector.

DR. LAWRENCE GUANTAI M’ITONGA, PhD


COUNCIL SECRETARY/CEO
TVET CDACC

viii
ABBREVITIONS AND ACRONYMS
Ac Alternating Current
ACL Access Control Lists
AES Advanced Encryption Standard
ALU Arithmetic Logic Unit
ANSI American National Standards Institute
AOL America Online
APIPA Automatic Private IP Addressing
App Peak-To-Peak Amperes
ARC Attenuation to Cross-talk Ratio
Arms Root Mean Square Amperes
AUT Application Under Test
Av Ac Voltage Gain
BC Basic Competency

BC Business Continuity
BIND Berkley Internet Naming Daemon.
BIOS Basic Input/Output System
BSD Berkeley Software Distribution

BSS Basic Service Set


BVA Boundary Value Analysis
Bw Bandwidth
C Capacitor
CAD Computer Aided Design

CBE Computer Based Education


CBET Competency Based Education and Training
CBSE Component Based Software Engineering
CBT Computer Based Training
CD Compact Disk

ix
CDACC Curriculum Development Assessment and Certification Council
CIDR Classless Inter Domain Routing
CPU Central processing unit
CR Core Competency

CRC Correct Cyclic Redundancy Check Errors


CRT Cathode-Ray Tube
CSMA/CD Carrier Sense Multiple Access Collision Detect
CU Control Unit
DACUM Developing a Curriculum
DB Data Base
DBMS Database Management System
Dc Direct Current
DFD Data Flow Diagram

DHCP Dynamic Host Configuration Protocol


DL Dual Layer
DMA Direct Memory Access

DMP Dot Matrix Printer


DNA Distributed Network Architecture
DNS Domain Name System
DR Disaster Recovery
DSCP Differential Service Code Point
DSS Decision Support System

DTS Data Transformation Services


DVD Digital Versatile Disc
DVD Digital Versatile Disk

DVRP Distance Vector Routing Protocol


ECN Explicit Congestion Notification
EMS Environmental Management Systems

ERP Enterprise Resource Planning


x
ERP Exterior Routing Protocol
EULA End-User License Agreement
EULA End-User License Agreement
F Frequency
F Farad
FIFO First In First Out

FQDN Fully Qualified Domain Names


Fr Resonant Frequency
FTP File Transfer Protocol
GB Gigabyte
GHz Gigahertz
Gm Transconductance
GPRS General Packet Radio Service
GPS Global Positioning System
GUI Graphical User Interface
GUID Globally Unique Identifiers
H Henry
HTML Hypertext Markup Language

HTTP Hypertext Transfer Protocol

HTTPS Hyper Text Transfer Protocol Secure


Hz Hertz
I Electric Current
I/O Input Output

IANA Internet Assigned Numbers Authority


Ib Base Current
IBM International Business Machine
Ic Collector Current
ICMP Internet Control Message Protocol
ICT Information Communication Technology

xi
Id Drain Current of A Field Effect Transistor
Idss Saturation Current
IEEE The Institute of Electrical and Electronics Engineers
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force
IP Internet Protocol.
IPCS Interactive Problem Control System

Ipp Peak-To-Peak Current


IrDA Infrared Data Association
Irms Root Mean Square Current
IRP Interior Routing Protocol
IRQ Interrupt Request Number
IS Information system

ISA Industry Standard Architecture


ISO International Standards Organization
ISP Information security policy

ITU International Telecommunication Union


ITU-D Telecommunication Development
ITU-R Radio communication (ITU-R)
ITU-T Telecommunication Standardization
K Kilohm
KCSE Kenya Certificate of Secondary Education

Khz Kilohertz
KNQA Kenya National Qualification Authority

KNQF Kenya National Qualification Framework

Kw Kilowatt
L Inductor
LAN Local Area Network
Lc Inductor-Capacitor Circuit

xii
LC Local Connector
LCD Liquid-Crystal Device
LCP Link control protocol
LED Light-Emitting Diodes
M Megohm
Ma Milliampere
MAN Metropolitan Area Network
Mh Millihenry
MMC Microsoft Management Console
Ms Millisecond
MS DOS Microsoft Disc Operating System
MUA Mail User Agent
Mv Millivolt
NAS Network attached storage.
NAT Network Address Translator
NCP Network control protocol
NEXT Near End Cross-Talk
NIC Network Interface Card
NLB Network Load Balance
NOS Network operating system
Np Number of Turns in A Primary Coil
Ns Number of Turns In A Secondary Coil
OEM Original equipment manufacturer
OIS Operation Information System

OS Operating System
OS Occupational Standard
OSH Occupational Health and Safety

OSHS: Occupation Safety and Health Standards

P Power
PAM Pluggable Authentication Modules

xiii
PAN Personal Area Network
PC Personal Computer
PCI Peripheral Component Interconnect
PDLC Program Development Life Cycle

Pf Picofarad
PHP Hypertext Preprocessor

PLC Power Line communication


POST Power on Self-Test

PPE Personal Protective Equipment

PPP Point to Point Protocol


PRTG Paessler Router Traffic Grapher
Q Transistor; Also, The Q Value Of A Resonant Circuit
QBE Query by example
R Dc Resistance of An Inductor
R Resistor
RAID Redundant Array of Independent Disks
RAM Random-Access Memory.

RAM Random access memory


RDISC Router Discovery Server Protocol
Rin Input Resistance of A Transistor
RIP Router Information Protocol
ROM Read only memory.
RSCS Reduced Set Concurrent Simplex

SACL System Access Control List


SAN Storage Area Network
SCCM System Center Configuration Manager
SCM Software Configuration Management
SCMP Software Configuration management planning
SDGs Sustainable Development Goals

xiv
SLA Service Level Agreement
SMS Systems Management Server
SoC System on a Chip
SSAC Sector Skills Advisory Committee

SSFT Shortest Seek Time First

SSID Service Set Identifier


STP Shielded Twisted-Pair
T Period of A Waveform
TCP Transmission Control Protocol
TPS Transaction Processing System

Tr Turns Ratio
TTL Time to Live
TVET Technical and Vocational Education and Training
URL Uniform Resource Locator
USB Universal Serial Bus
USB Universal Serial Bus
UTM Unified Threat Management
UTP Unshielded Twisted-Pair
V Voltage
Vc Voltage at The Collector of A Transistor
Vdd Drain Supply Voltage
VDU Visual Display Unit
Ve Voltage at the Emitter of a Transistor
Vgg Gate Supply Voltage *Vgs* – Gate to Source Voltage
Vgs (Off) Gate to Source Cutoff Voltage
Vin Ac Voltage of an Input Signal
VM Virtual Machine

VMM Virtual Machine Monitor


Vout Ac Output Voltage

xv
Vp Peak Voltage
Vpp Peak-To-Peak Voltage
Vrms Root Mean Square Voltage
WAN Wide Area Network
WAP Wireless Access Point
WDS Windows Deployment Services
WEBAPP Web Application

WEP Wired Equivalent Privacy


WHQL Windows Hardware Quality Labs
WIM Windows Installation Image
WLAN Wireless Local Area Network
WMAN Wireless Metropolitan Area Network
WNIC Wireless Network Interface Controller
WPAN Wireless Personal Area Network
WSB Windows Server Backup
WWAN Wireless Wide Area Network
WWW World Wide Web
Β (Beta) Current Gain
Θ Phase Angle
Μa Microampere
Μf Microfarad
Μh Microhenry
Μs Microsecond
Μv Microvolt
Τ Time Constant
Ω Ohms

xvi
TABLE OF CONTENT

Contents
FOREWORD........................................................................................................................................ iv

PREFACE............................................................................................................................................. vi

ACKNOWLEDGEMENT ...................................................................................................................viii

ABBREVITIONS AND ACRONYMS................................................................................................. ix

LIST OF TABLES........................................................................................................................... xxxvi

Background Information ...............................................................................................................xxxviii

Units of learning .........................................................................................................................xxxviii

CHAPTER 1: BASIC ELECTRONIC SKILLS ................................................................................... 1

1.1 Introduction to the unit of learning ............................................................................................. 1

1.2 Summary of Learning Outcomes ................................................................................................ 1

1.2.1 Learning Outcome 1: Identify electrical circuits. .................................................................... 1

1.2.1.1 Introduction to the learning outcome .................................................................................... 1

1.2.1.2 Performance Standard ....................................................................................................... 1

1.2.1.3 Information Sheet ............................................................................................................... 1

1.2.1.4 Learning Activities ........................................................................................................... 11

1.1.2.5 Self-Assessment ................................................................................................................... 11

1.2.1.6 Tools, Equipment, Supplies and Materials ...................................................................... 12

1.2.1.7 References ......................................................................................................................... 13

1.2.1.7 Answers to self-assessment ............................................................................................... 13

1.2.2 Learning Outcome 2: Identify Electronic components .......................................................... 16

1.2.2.1 Introduction to the learning outcome .............................................................................. 16

1.2.2.2 Performance Standard ..................................................................................................... 16

1.2.2.3 Information Sheet ............................................................................................................. 16

xvii
1.2.2.4 Learning Activities ........................................................................................................... 28

1.2.2.5 Self-Assessment ................................................................................................................ 28

1.2.2.6 Tools, Equipment, Supplies and Materials ...................................................................... 28

1.2.2.7 References ............................................................................................................................ 29

1.2.3 Learning Outcome 3: Understand Semi-conductor theory ................................................... 31

1.2.3.1 Introduction to the learning outcome .................................................................................. 31

1.2.3.2 Performance Standard ......................................................................................................... 31

1.2.3.3 Information Sheet ................................................................................................................ 31

1.2.3.4 Learning Activities ................................................................................................................. 42

1.2.3.5 Self-Assessment .................................................................................................................... 43

1.2.3.6 Tools, Equipment, Supplies and Materials .......................................................................... 43

1.2.3.7 References ............................................................................................................................ 44

1.2.3.4 Learning Outcome 4: Identify and classify memory. .......................................................... 46

1.2.4.1 Introduction to the learning outcome .................................................................................. 46

1.2.4.2 Performance Standard ......................................................................................................... 46

1.2.4.3 Information Sheet ................................................................................................................ 46

1.2.4.4 Learning Activities ............................................................................................................... 57

1.2.4.5 Self-Assessment .................................................................................................................... 57

1.2.4.6 Tools, Equipment, Supplies and Materials .......................................................................... 58

1.2.4.7 References ............................................................................................................................ 58

1.2.5 Learning Outcome 5: Apply Number Systems and binary coding ........................................ 61

1.2.5.1 Introduction to the learning outcome .............................................................................. 61

1.2.5.2 Performance Standard ..................................................................................................... 61

1.2.5.3 Information Sheet ............................................................................................................. 61

1.2.5.4 Learning Activities ........................................................................................................... 98

1.2.5.5 Self-Assessment ................................................................................................................ 98

xviii
1.2.5.6 Tools, Equipment, Supplies and Materials ...................................................................... 99

1.2.5.7 References ......................................................................................................................... 99

1.2.6 Learning Outcome 6: Emerging trends in electronics ......................................................... 101

1.2.6.1 Introduction to the learning outcome ............................................................................ 101

1.2.6.2 Performance Standard ................................................................................................... 101

1.2.6.3 Information Sheet ........................................................................................................... 101

1.2.6.4 Learning Activities ......................................................................................................... 106

1.2.6.5 Self-Assessment .............................................................................................................. 106

1.2.6.6 Tools, Equipment, Supplies and Materials .................................................................... 106

1.2.6.7 References ....................................................................................................................... 107

CHAPTER 2: COMPUTER NETWORKING ............................................................................. 109

2.1 Introduction to the unit of learning ......................................................................................... 109

2.2 Summary of Learning Outcomes ............................................................................................ 109

2.2.1 Learning Outcome 1: Identify Network Type and Component ........................................ 109

2.2.1.2 Introduction to the Learning Outcome ............................................................................. 109

2.2.1.4 Information Sheet ........................................................................................................... 110

2.2.1.5 Learning Activities ......................................................................................................... 128

2.2.1.7 Tools, Equipment, Supplies and Materials .................................................................... 128

2.2.1.8 References ....................................................................................................................... 130

2.2.1 Learning Outcome 2: Connect Network Devices ................................................................ 132

2.2.2.1 Introduction to the Learning Outcome .......................................................................... 132

2.2.2.2 Performance Standard ................................................................................................... 132

2.2.2.3 Information Sheet ........................................................................................................... 132

2.2.2.4 Learning Activities ......................................................................................................... 144

2.2.2.5 Self-Assessment .............................................................................................................. 145

2.2.2.6 Tools, Equipment, Supplies and Materials .................................................................... 145

xix
2.2.2.7 References ....................................................................................................................... 146

2.2.3 Learning Outcome 3: Configure Network Devices ........................................................... 148

2.2.3.1 Introduction to the learning outcome ............................................................................ 148

2.2.3.2 Performance Standard ................................................................................................... 149

2.2.3.3 Information Sheet ........................................................................................................... 149

2.2.3.4 Learning Activities ......................................................................................................... 160

2.2.3.5 Self-Assessment .............................................................................................................. 161

2.2.3.6 Tools, Equipment, Supplies and Materials .................................................................... 161

2.2.3.7 References ....................................................................................................................... 162

2.2.4 Learning Outcome 4: Configure LAN Network Types ........................................................ 165

2.2.4.1 Introduction to the learning outcome ................................................................................ 165

2.2.4.2.1 Performance Standard ............................................................................................... 165

2.2.4.3 Information Sheet ........................................................................................................... 165

2.2.4.4 Learning Activities ......................................................................................................... 177

2.2.4.6 Tools, Equipment, Supplies and Materials .................................................................... 178

2.2.4.7 References ....................................................................................................................... 179

2.2.5 Learning Outcome 5: Perform Network Testing .............................................................. 181

2.2.5.1 Introduction to the learning outcome ................................................................................ 181

2.2.5.2 Performance Standard ................................................................................................... 181

2.2.5.3 Information Sheet ........................................................................................................... 181

2.2.5.4 Learning Activities ......................................................................................................... 194

2.2.5.5 Self-Assessment .............................................................................................................. 194

2.2.5.7 References ....................................................................................................................... 195

CHAPTER 3: PERFORM COMPUTER SOFTWARE INSTALLATION ................................ 197

3.1 Introduction to the Unit of Learning ................................................................................. 197

3.2 Summary of Learning Outcomes ....................................................................................... 197

xx
3.2.1 Learning Outcome 1: Identify software to be installed. ............................................ 197

3.2.1.1 Introduction to the Learning Outcome ............................................................................. 197

3.2.1.2 Performance standard ....................................................................................................... 197

3.2.1.3 Information Sheet ................................................................................................................. 198

3.2.1.4 Learning Activities ................................................................................................................ 213

3.2.1.5 Self-Assessment ..................................................................................................................... 214

3.2.1.6 Tools, Equipment, Supplies and Materials ........................................................................... 215

3.2.1.7 References ............................................................................................................................. 215

3.2.2 Learning outcome 2 install the software............................................................................... 218

3.2.2.1 Introduction to the learning outcome ................................................................................... 218

3.2.2.2. Performance Standard ................................................................................................... 218

3.2.2.3 Information Sheet ................................................................................................................. 218

3.2.2.4 Learning Activities ................................................................................................................ 230

3.2.2.5 Self-Assessment ...................................................................................................................... 231

3.2.2.6 Tools, Equipment, Supplies and Materials ........................................................................... 231

3.2.2.7 References ............................................................................................................................. 231

Learning Outcome 3: Software Configuration Management ................................................... 236

3.2.3.1 Introduction to the Learning Outcome .......................................................................... 236

3.2.3.2 Performance Standard ........................................................................................................... 236

3.2.3.3 Information Sheet ................................................................................................................ 236

3.2.3.4 Learning Activities ................................................................................................................ 239

3.2.3.5 Self-Assessment ...................................................................................................................... 239

3.2.3.6 Tools, Equipment, Supplies and Materials............................................................................ 239

3.2.3.7 References .............................................................................................................................. 240

3.2.4 Learning outcome 4: Test software functionality and software maintenance ................. 243

3.2.4.1 Introduction to the learning outcome .................................................................................... 243

xxi
3.2.4.2 Performance Standard ....................................................................................................... 243

3.2.1.3 Information Sheet .............................................................................................................. 243

3.2.4.4 Learning Activities ................................................................................................................. 260

3.2.4.5 Self-Assessment ...................................................................................................................... 261

3.2.4.6 Tools, Equipment, Supplies and Materials ........................................................................... 261

3.2.5 Learning outcome 5: perform user training. ............................................................. 269

3.2.5.1 Introduction to the learning outcome .................................................................................... 269

3.2.5.2 Performance Standard ....................................................................................................... 269

3.2.5.3 Information Sheet .................................................................................................................... 269

3.2.5.4 Learning Activities ................................................................................................................. 272

3.2.5.5 Self-Assessment ...................................................................................................................... 272

3.2.5.6 Tools, Equipment, Supplies and Materials............................................................................ 273

3.2.5.7 References .............................................................................................................................. 273

CHAPTER 4: PERFORM COMPUTER REPAIR AND MAINTENANCE .................................. 276

4.1 Introduction to the unit of learning ......................................................................................... 276

4.2 Summary of Learning Outcomes ............................................................................................ 276

4.2.1 Learning Outcome 1: Perform troubleshooting ................................................................... 276

4.2.1.1 Introduction to the learning outcome ............................................................................... 276

4.2.1.2 Performance Standard ....................................................................................................... 276

4.1.1.3 Information Sheet .............................................................................................................. 277

3.2.1.4 Learning Activities ................................................................................................................ 299

3.2.1.5 Self-Assessment .................................................................................................................. 301

3.2.1.7 References ......................................................................................................................... 301

3.2.2 Learning Outcome 2: Disassemble faulty components. ....................................................... 303

3.2.2.1 Introduction to the learning outcome ................................................................................... 303

3.2.2.2.1 Performance Standard ................................................................................................... 303

xxii
3.2.2.4 Learning activities .................................................................................................................. 330

3.2.2.5 Self-assessment ................................................................................................................... 330

3.2.2.6 Tools, Equipment, Supplies and Materials............................................................................ 331

3.2.2.7 References .............................................................................................................................. 332

3.2.3 Learning Outcome 3: Repair/Replace and reassemble components. .................................. 334

3.2.3.1 Introduction to the learning outcome ................................................................................ 334

3.2.3.2 Performance Standard ....................................................................................................... 334

3.2.3.3 Information Sheet .............................................................................................................. 334

3.2.3.5 Self-Assessment ................................................................................................................. 341

3.2.3.6 Tools, Equipment, Supplies and Materials ........................................................................ 342

3.2.3.7 References .......................................................................................................................... 342

3.2.4 Learning Outcome 4: Test computer functionality .............................................................. 351

3.2.4.1 Introduction to the learning outcome ................................................................................ 351

3.2.4.2 Performance Standard ................................................................................................... 351

3.2.4.3 Information Sheet ........................................................................................................... 351

3.2.4.4 Learning Activities ............................................................................................................ 356

3.2.4.6 Tools, Equipment, Supplies and Materials ........................................................................ 358

3.2.4.7 References .......................................................................................................................... 359

3.2.5 Learning Outcome 5: Upgrade computer software/hardware ...................................... 363

3.2.5.1 Introduction to the learning outcome ................................................................................ 363

3.2.5.2 Performance Standard ....................................................................................................... 363

3.2.5.3 Information Sheet .............................................................................................................. 363

1.5.5.4 Learning Activities ............................................................................................................. 370

3.2.5.5 Self-Assessment ................................................................................................................. 370

3.2.5.6 Tools, Equipment, Supplies and Materials ........................................................................ 371

3.2.5.7 References ......................................................................................................................... 371

xxiii
CHAPTER 5: MANAGE DATABASE SYSTEMS (MS. Access) .................................................... 374

5.2.2 Learning Outcome 2: Design basic database .................................................................... 393

5.2.2.2 Performance Standard ....................................................................................................... 393

5.2.2.3 Information sheet ............................................................................................................... 393

5.2.3.4 Self-Assessment ................................................................................................................. 424

5.2.2.5 Tools, Equipment, Supplies and Materials ........................................................................ 425

5.2.2.6 References .......................................................................................................................... 425

5.2.3 Learning Outcome 3: Create and manipulate database objects .......................................... 429

5.2.3.1 Introduction to the learning outcome ................................................................................ 429

5.2.3.2 Performance Standard ....................................................................................................... 429

5.2.3.3 Information Sheet .............................................................................................................. 430

5.2.3.4 Learning Activities ............................................................................................................. 460

5.2.3.5 Self-Assessment .................................................................................................................. 461

5.2.3.6 Tools, Equipment, Supplies and Materials ........................................................................ 461

5.2.3.7 References .......................................................................................................................... 462

5.2.4 Learning Outcome 4: Perform database testing. ........................................................... 465

5.2.4.1 Introduction to the learning outcome ................................................................................ 465

5.2.4.2 Performance Standard ....................................................................................................... 465

5.2.4.3 Information Sheet .............................................................................................................. 465

5.2.4.4 Learning Activities ............................................................................................................. 479

5.2.4.5 Self-Assessment ................................................................................................................. 479

5.2.4.6 Tools, Equipment, Supplies and Materials ........................................................................ 480

5.2.4.7 References .......................................................................................................................... 480

5.2.5. Learning Outcome 5: Print Database objects ................................................................ 485

5.2.5.1 Introduction to the learning outcome ................................................................................ 485

5.2.5.2 Performance Standard ................................................................................................... 485

xxiv
5.2.5.3 Information Sheet .............................................................................................................. 485

5.2.5.4 Learning Activities ............................................................................................................. 500

5.2.5.5 Self-Assessment .................................................................................................................. 500

5.2.5.6 Tools, Equipment, Supplies and Materials ........................................................................ 500

5.2.5.7 References .......................................................................................................................... 500

CHAPTER 6: COMPUTER PROGRAM DEVELOPMENT.......................................................... 503

6.1 Introduction to the unit of learning ......................................................................................... 503

6.2 Summary of Learning Outcomes ............................................................................................ 503

6.2.1 Learning Outcome 1: Identify Programming concepts and approaches. ..................... 503

6.2.1.2 Performance Standard ....................................................................................................... 503

6.2.1.3 Information Sheet .............................................................................................................. 504

6.2.1.4 Learning Activities ............................................................................................................. 510

6.2.1.5 Self-Assessment .................................................................................................................. 510

6.2.1.6 Tools, Equipment, Supplies, and Materials ....................................................................... 511

6.2.1.7 References .......................................................................................................................... 511

6.2.2 Learning Outcome 2: Identify Program Development Methodologies ............................... 514

6.2.2.1 Introduction to the learning outcome ................................................................................ 514

6.2.2.2 Performance Standard ....................................................................................................... 514

6.2.2.3 Information Sheet .............................................................................................................. 514

6.2.2.4 Learning Activity ............................................................................................................... 520

6.2.2.5 Self-Assessment .................................................................................................................. 521

6.2.2.6 Tools, Equipment, Supplies, and Materials ....................................................................... 521

6.2.2.7 References .......................................................................................................................... 521

6.2.3 Learning Outcome 3: Identify Program design ................................................................... 524

6.2.3.1 Introduction to the learning outcome ................................................................................ 524

6.2.3.2 Performance Standard ....................................................................................................... 524

xxv
6.2.3.3 Information Sheet .............................................................................................................. 524

6.2.3.4 Learning Activities ............................................................................................................. 530

6.2.3.5 Self-Assessment .................................................................................................................. 531

6.2.3.6 Tools, Equipment, Supplies and Materials ........................................................................ 531

6.2.3.7 References .......................................................................................................................... 531

6.2.4 Learning Outcome 4: Identify Computer Programming Languages .................................. 534

6.2.4.1 Introduction to the learning outcome ................................................................................ 534

6.2.4.2 Performance Standard ....................................................................................................... 534

6.2.4.3 Information Sheet .............................................................................................................. 534

6.2.4.4 Learning Activities ............................................................................................................. 544

6.2.4.5 Self-Assessment .................................................................................................................. 545

6.2.4.6 Tools, Equipment, Supplies, and Materials ....................................................................... 545

6.2.4.7 References .......................................................................................................................... 546

6.2.5 Learning Outcome 5: Perform Basic Structured programming using C language. .......... 550

6.2.5.1 Introduction to the learning outcome ................................................................................ 550

6.2.5.2 Performance Standard ....................................................................................................... 550

6.2.5.3 Information Sheet .............................................................................................................. 550

6.2.5.4 Learning Activities ............................................................................................................. 572

6.2.5.6 Self-Assessment ................................................................................................................. 572

6.2.5.7 Tools, Equipment, Supplies, and Materials ....................................................................... 573

6.2.5.7 References .......................................................................................................................... 573

6.2.6 Learning Outcome 6: Perform Basic Internet programming ....................................... 577

6.2.6.1 Introduction to the learning outcome ................................................................................ 577

6.2.6.2 Performance Standard ....................................................................................................... 577

6.2.6.3 Information Sheet .............................................................................................................. 577

6.2.6.4 Learning Activities ............................................................................................................. 584

xxvi
6.2.6.5 Self-Assessment .................................................................................................................. 585

6.2.6.6 Tools, Equipment, Supplies and Materials ........................................................................ 585

6.2.6.7 References .......................................................................................................................... 585

CHAPTER 7: MANAGE OPERATING SYSTEM.......................................................................... 588

7.1 Introduction to the unit of learning ......................................................................................... 588

7.2 Summary of Learning Outcomes ............................................................................................ 588

7.2.1 Learning Outcome 1: Identifying fundamentals of Operating System. .............................. 588

7.2.1.1 Introduction to the learning outcome ................................................................................ 588

7.2.1.2 Performance Standard ...................................................................................................... 589

7.2.1.3 Information Sheet .............................................................................................................. 589

7.2.1.4 Learning Activities ............................................................................................................ 603

7.2.1.5 Self-Assessment ................................................................................................................. 604

7.2.1.6 Tools, Equipment, Supplies and Materials ........................................................................ 605

7.2.1.7 model answers to self-assessment ................................................................................... 605

7.2.1.7 References .......................................................................................................................... 606

7.2.2 Learning Outcome 2: Identifying concepts of process management. .................................. 607

7.2.2.1 Introduction to the learning outcome ................................................................................ 607

7.2.2.2 Performance Standard ....................................................................................................... 607

7.2.2.3 Information Sheet ............................................................................................................. 607

7.2.2.4 Learning Activities ............................................................................................................ 633

7.2.2.5 Self-Assessment .................................................................................................................. 635

7.2.2.6 Tools, Equipment, Supplies and Materials ........................................................................ 635

7.2.3 Learning Outcome 3: Identifying concepts of Memory management. ................................ 639

7.2.3.1 Introduction to the learning outcome ................................................................................ 639

7.2.3.2 Performance Standard ................................................................................................... 639

7.2.3.3 Information sheet .............................................................................................................. 639

xxvii
7.2.3.4 Learning Activities ............................................................................................................. 653

7.2.3.5 Self-Assessment .................................................................................................................. 653

7.2.3.6 Tools, Equipment, Supplies and Materials ........................................................................ 654

7.2.3.8 References .......................................................................................................................... 657

7.2.4 Learning Outcome 4 Identifying concepts of Input and Output devices ............................. 657

7.2.4.1 Introduction to the learning outcome ................................................................................ 657

7.2.4.2 Performance Standard ................................................................................................... 658

7.2.4.3 Information Sheet .............................................................................................................. 658

7.2.4.4 Learning Activities ............................................................................................................. 674

7.2.4.5 Self-Assessment .................................................................................................................. 675

7.2.4.7 References .......................................................................................................................... 677

7.2.5 Learning Outcome 5 Identifying concepts of file management. .......................................... 678

7.2.5.1 Introduction to the learning outcome ................................................................................ 678

7.2.5.2 Performance Standard ....................................................................................................... 678

7.2.5.3 Information Sheet ............................................................................................................. 678

7.2.5.4 Learning Activities ............................................................................................................. 690

7.2.5.5 Self-Assessment ................................................................................................................. 693

7.2.5.6 Tools, Equipment, Supplies and Materials ....................................................................... 694

7.2.5.7 References .......................................................................................................................... 695

7.2.6 Learning Outcome 6 Identifying Emerging trends in Operating system. ........................... 696

7.2.6.1 Introduction to the learning outcome ................................................................................ 696

7.2.6.2 Performance Standard ...................................................................................................... 696

7.2.6.3 Information Sheet ............................................................................................................. 696

7.2.6.4 Learning Activities ............................................................................................................. 698

7.2.6.5 Self-Assessment .................................................................................................................. 698

7.2.6.6 Tools, Equipment, Supplies and Materials ........................................................................ 698

xxviii
7.2.6.8 References ......................................................................................................................... 699

xxix
LIST OF FIGURES

Figure 1: Parallel circuit ............................................................................................................7


Figure 2: Flow of current (adapted from electronics hub) ............................................................8
Figure 3: Current flow graph (adapted from electronics hub) .....................................................9
Figure 4: AC Circuit with Capacitor (adapted from electronics hub) ........................................ 10
Figure 5: Major Electronic Components ................................................................................... 17
Figure 6: Resistor Components ................................................................................................. 18
Figure 7: Capacitor Components .............................................................................................. 19
Figure 8: Inductor Components ................................................................................................ 20
Figure 9: Diodes ....................................................................................................................... 21
Figure 10: Transistors .............................................................................................................. 21
Figure 11: Integrated Circuits................................................................................................... 28
Figure 12: An intrinsic semiconductor. Note each +4 ion is surrounded by four electrons. ....... 34
Figure 13: A semiconductor doped with an acceptor. An excess hole is now present. ................ 34
Figure 14: A semiconductor doped with a donor. A free electron is now present. ...................... 35
Figure 15: Forward and Reverse Bias ....................................................................................... 36
Figure 16: Forward Biased ....................................................................................................... 38
Figure 17: Reverse Biased ......................................................................................................... 39
Figure 18: Symbols of NPN Transistor ...................................................................................... 41
Figure 19: Symbols of PNP transistor (Adapted from electronics hub)....................................... 42
Figure 20: Classification of memory .......................................................................................... 49
Figure 21: RAM stick................................................................................................................. 50
Figure 22: ROM........................................................................................................................ 53
Figure 23: Semiconductor memory types ................................................................................... 56
Figure 24: Base 2 Number System Example ............................................................................... 63
Figure 25: The Flowchart of a Hardware Binary Multiplication Algorithm ............................... 79
Figure 26: Improved Version of a Hardware MultiplierA .......................................................... 80
Figure 27: Flowchart of a Binary Division Algorithm ................................................................ 83
Figure 28: Electronic Manufacturing lab ................................................................................ 104
Figure 29 Star topology ........................................................................................................... 114
Figure 30 Bus toplolgy ............................................................................................................ 115

xxx
Figure 31: Ring topology ........................................................................................................ 116
Figure 32: Dual ring topology ................................................................................................. 117
Figure 33: Tree topology ......................................................................................................... 118
Figure 34: Mesh topology ....................................................................................................... 119
Figure 35: Hybrid topology ..................................................................................................... 120
Figure 36: Network interface card ........................................................................................... 123
Figure 37: Computer Network hub .......................................................................................... 124
Figure 38: A Network Switch .................................................................................................. 125
Figure 39: A wireless Router ................................................................................................... 126
Figure 40: modem ................................................................................................................... 127
Figure 41: Network cables....................................................................................................... 133
Figure 42: Coaxial cable with a central conductor ................................................................... 133
Figure 43: Unshielded twisted pair cable ................................................................................. 134
Figure 44: FTP or ScTP has a metal back to ground the shield. ............................................... 135
Figure 45: Multi-mode fiber optic ........................................................................................... 135
Figure 46: Single mode fiber is used outdoors and for long distances. ..................................... 136
Figure 47: Radio Transmission earth ....................................................................................... 137
Figure 48: Microwave transmission ......................................................................................... 138
Figure 49: Light transmission .................................................................................................. 139
Figure 50: Connecting to a wired network ............................................................................... 141
Figure 51: Wireless connection ............................................................................................... 142
Figure 52: OSI Model ............................................................................................................. 151
Figure 53: TCP/IP Layers ........................................................................................................ 153
Figure 54: User Datagram protocol ......................................................................................... 157
Figure 55: Connect switch ....................................................................................................... 167
Figure 56: Verify network connection ..................................................................................... 168
Figure 57: Router IP address ................................................................................................... 170
Figure 58: Login to router ....................................................................................................... 171
Figure 59: wireless router setup ............................................................................................... 172
Figure 60: wireless router security settings .............................................................................. 173
Figure 61: Wireless router key setup ....................................................................................... 173

xxxi
Figure 62: Router configuration .............................................................................................. 174
Figure 63: Router authentication ............................................................................................. 175
Figure 64: wireless router settings ........................................................................................... 176
Figure 65: connect to wireless router ....................................................................................... 177
Figure 66 An official download link has been provided below ................................................ 186
Figure 67: Solarwinds toolset .................................................................................................. 187
Figure 68: LAN Speed Test ..................................................................................................... 189
Figure 69: LAN Bench ............................................................................................................ 190
Figure 70: NetIO-GUI ............................................................................................................. 191
Figure 71: NetStress ................................................................................................................ 192
Figure 72: AIDA 32 ................................................................................................................ 193
Figure 73:PassMArk Advance ................................................................................................. 194
Figure 74: MS DOS COMMAND LINE ................................................................................. 211
Figure 75:Menu Driven Interface ............................................................................................ 212
Figure 76:Windows Graphical User Interface .......................................................................... 213
Figure 77:Data Security Core Principles .................................................................................. 223
Figure 78:Silent installation..................................................................................................... 227
Figure 79:software installation flowchart................................................................................. 228
Figure 80:participants in SCM................................................................................................. 238
Figure 81:Change management process ................................................................................... 242
Figure 82:State transition diagram ........................................................................................... 248
Figure 83:types of testing ........................................................................................................ 252
Figure 84:Steps to perform functional testing .......................................................................... 254
Figure 85:Parameters to be tested under Non-Functional Testing. ........................................... 256
Figure 86 Hardware components of a Computer Desktop ........................................................ 279
Figure 87 Computer maintenance tools ................................................................................... 284
Figure 88 motherboard and Back panel cover .......................................................................... 287
Figure 89 CPU (Central Processing Unit) placement) .............................................................. 288
Figure 90 Installing RAM ( Random Access Memory) ............................................................ 289
Figure 91 Installing SMPS (Power supply unit) ....................................................................... 290
Figure 92 Installing drives ....................................................................................................... 291

xxxii
Figure 93 Installing Expansion Cards ...................................................................................... 292
Figure 94 Cooling Fans ........................................................................................................... 292
Figure 95 Cooling fans ............................................................................................................ 293
Figure 96 Cable connection ..................................................................................................... 294
Figure 97 Computer Tools....................................................................................................... 305
Figure 98 Multimeter .............................................................................................................. 307
Figure 99 Toner Probe............................................................................................................. 307
Figure 100 ............................................................................................................................... 309
Figure 101 ............................................................................................................................... 310
Figure 102 ............................................................................................................................... 311
Figure 103 ............................................................................................................................... 312
Figure 104 ............................................................................................................................... 313
Figure 105 ............................................................................................................................... 314
Figure 106 ............................................................................................................................... 315
Figure 107 ............................................................................................................................... 316
Figure 108 ............................................................................................................................... 317
Figure 109 ............................................................................................................................... 318
Figure 110 Internal components .............................................................................................. 319
Figure 111 Internal components .............................................................................................. 319
Figure 112 CD/DVD Drive[s] ................................................................................................. 320
Figure 113 Card Readers ......................................................................................................... 321
Figure 114 Hard Drive & Portable Hard Drive Slot(s) ..................................................... 322
Figure 115 Expansion cards .................................................................................................... 323
Figure 116 Connectivity Center Cables ................................................................................... 324
Figure 117 RAM (Random Access Memory) .......................................................................... 325
Figure 118 Power Button & Power LED + HDD LED ..................................................... 326
Figure 119 Connectivity Center ............................................................................................... 327
Figure 120 Motherboards ........................................................................................................ 328
Figure 121: Hierarchical database model ................................................................................. 381
Figure 122:Network database model ....................................................................................... 383
Figure 123: object-oriented database model............................................................................. 385

xxxiii
Figure 124: Relational database model .................................................................................... 388
Figure 125: Sample report to be normalized. ........................................................................... 407
Figure 126: Memory hierarchy ................................................................................................ 415
Figure 127: Sample report to be normalized ............................................................................ 424
Figure 128: Navigation pane in Ms Access .............................................................................. 431
Figure 129: Choosing Access options ...................................................................................... 432
Figure 130:Creating a new database icon. ................................................................................ 433
Figure 131: Switching between views ..................................................................................... 433
Figure 132 : Options when setting input mask. ........................................................................ 436
Figure 133: entering new data into a table ............................................................................... 437
Figure 134: navigation tab ....................................................................................................... 437
Figure 135: Sorting data options .............................................................................................. 438
Figure 136: Customer table fields ............................................................................................ 438
Figure 137: products table fields ............................................................................................. 438
Figure 138: orders table fields ................................................................................................. 439
Figure 139: field properties settings......................................................................................... 439
Figure 140: relationships option in Ms Access......................................................................... 440
Figure 141: Interface for choosing tables in a relationship ....................................................... 440
Figure 142: linking tables interface. ........................................................................................ 441
Figure 143: field matching window ......................................................................................... 441
Figure 144: Sample relationship window ................................................................................. 442
Figure 145: Sample relationship window ................................................................................. 445
Figure 146: customers table ..................................................................................................... 446
Figure 147: products table ....................................................................................................... 446
Figure 148: Orders table .......................................................................................................... 447
Figure 149: query design option .............................................................................................. 447
Figure 150: table selection window ......................................................................................... 448
Figure 151: Query properties window ..................................................................................... 449
Figure 152: Query run option .................................................................................................. 449
Figure 153: Sample query output ............................................................................................. 450
Figure 154: Save query option ................................................................................................. 450

xxxiv
Figure 155: CourseID selection option .................................................................................... 451
Figure 156: Criteria setting option ........................................................................................... 452
Figure 157: Sample query output ............................................................................................. 453
Figure 158: Query criteria setting window ............................................................................... 453
Figure 159: sample query output ............................................................................................. 453
Figure 160: Query computations option................................................................................... 454
Figure 161: Setting query criteria window ............................................................................... 454
Figure 162: sample query output ............................................................................................. 454
Figure 163: sample SQL query window .................................................................................. 455
Figure 164: form in a layout view............................................................................................ 457
Figure 165: report in Layout view ........................................................................................... 458
Figure 166: summary of database testing tools ........................................................................ 472
Figure 167: print option tab settings ........................................................................................ 486
Figure 168:Print data settings option ....................................................................................... 487
Figure 169:Page data settings option ....................................................................................... 488
Figure 170: column data settings options ................................................................................. 490
Figure 171 : print data settings options ................................................................................... 491
Figure 172: save settings window. ........................................................................................... 492
Figure 173 : more save settings options ................................................................................... 493
Figure 174 :export data settings options .................................................................................. 494
Figure 175 : Print preview settings options .............................................................................. 495
Figure 176 compiler ................................................................................................................ 507
Figure 177 Event-driven programming .................................................................................... 509
Figure 178 program development life cycle(PDLC) ................................................................ 517
Figure 179 Flowchart example ................................................................................................ 529
Figure 180:Example of a flow chart ........................................................................................ 543
Figure 181: C expressions ....................................................................................................... 563
Figure 182: Sequence control structure .................................................................................... 566
Figure 183: Selection control structure .................................................................................... 567
Figure 184: OS vs Components ............................................................................................... 589
Figure 185: Layered OS Architecture ...................................................................................... 594

xxxv
Figure 186: Virtual Memory Implementation on Windows 10 ................................................. 601
Figure 187: Threads and process using a diagram .................................................................... 608
Figure 188: Process Control Block .......................................................................................... 610
Figure 189: Diagram of Process State ...................................................................................... 611
Figure 190: Schematic view of a monitor ................................................................................ 614
Figure 191: A traffic deadlock – vehicles in a busy section of the city. .................................... 625
Figure 192: A simple resource Deadlock ................................................................................. 625
Figure 193: Notations of Resource Allocation ......................................................................... 627
Figure 194: Graph Reduction .................................................................................................. 628
Figure 195: Task Manager....................................................................................................... 633
Figure 196: A base and limit register defining a logical address space ..................................... 640
Figure 197: Virtual Memory View .......................................................................................... 641
Figure 198: Virtual Address Space .......................................................................................... 645
Figure 199: Organization of segment in memory unit .............................................................. 645
Figure 200: Base address and offset value ............................................................................... 646
Figure 201: Sample Map: Interpreted as 1000 free blocks starting from address 1 ................... 648
Figure 202: State of the Map after allocation 100 units ............................................................ 648
Figure 203: State of the map after allocating 50 units .............................................................. 649
Figure 204:Mapping the image of a process onto a swap device .............................................. 650
Figure 205: DMA Operations .................................................................................................. 659
Figure 206: Layers of the I/O software system ....................................................................... 661
Figure 207: Hard Disk ............................................................................................................. 664
Figure 208: Terminal Types .................................................................................................... 670

LIST OF TABLES
Table 1: Common Units of Learning ..................................................................................xxxviii
Table 2: Core Units of Learning.........................................................................................xxxviii
Table 3: Standard Electrical quantities and their units of measure ..............................................3
Table 4: Comparison between SRAM and DRAM ...................................................................... 52
Table 5: Comparison between RAM and ROM .......................................................................... 55
Table 6: Number System Conversion Table ............................................................................... 65
xxxvi
Table 7: Hexadecimal to Binary ................................................................................................ 69
Table 8: Octal to Binary............................................................................................................ 71
Table 9: An Example of Carry for a Decimal Addition .............................................................. 73
Table 10: An Example of Carry for a Binary Addition ............................................................... 74
Table 11: An Example of Carry for an Octal Addition ............................................................... 74
Table 12: An Example of Carry for an Hexadecimal Addition ................................................... 75
Table 13: The Truth Table of One-Bit Adder ............................................................................. 75
Table 14: An Example of Subtracting 3 from 7 Using Two's Complement Addition ................... 76
Table 15: An Example of Decimal Multiplication ...................................................................... 77
Table 16: An Example of Binary Multiplication......................................................................... 77
Table 17: An Example of Binary Division Based on Traditional Long Division ......................... 81
Table 18: Decimal to Binary code ............................................................................................. 85
Table 19:2421 code ................................................................................................................... 86
Table 20: 5211 code .................................................................................................................. 87
Table 21: Reflective code .......................................................................................................... 87
Table 22: Sequential code ......................................................................................................... 88
Table 23: Gray Code................................................................................................................. 90

xxxvii
Background Information
This learning guide will enable the trainee to acquire competencies to undertake various processes
in ICT. It provides practical and theoretical learning activities, simplified content, illustrations
and self-assessment items to guide the trainee in the learning process. It also provides links and
references for further reading.
Units of learning
The units of learning covered in this learning guide are as presented in the table below:

Table 1: Common Units of Learning


Unit of Learning Code Unit of Learning Title

IT/CU/ICT/CC/1/5 Demonstrate Basic Electronics

Table 2: Core Units of Learning


Unit of Learning Code Unit of Learning Title

ICT/CU/IT/CR/1/6 Perform Networking


ICT/CU/IT/CR/2/6 Install computer software
ICT/CU/IT/CR/3/6 Perform computer repair and maintenance
ICT/CU/IT/CR/4/6 Manage Database System
ICT/CU/IT/CR/5/6 Develop Computer Program
ICT/CU/IT/CR/6/6 Manage Operating System

xxxviii
CHAPTER 1: BASIC ELECTRONIC SKILLS
Unit of learning code: IT/CU/ICT/CC/1/5

Related Unit of Competency in Occupational Standard: Apply Basic Electronic

1.1 Introduction to the unit of learning

This unit specifies the competencies required to demonstrate basic skills of electronics. It involves
identification of electric circuits, electronic components, understand semi-conductor theory,
identify, and classify memories, apply number systems and identify emerging trends in electronics.

1.2 Summary of Learning Outcomes


1. Identify electric circuits.
2. Identify Electronic components
3. Understand Semi-conductor theory.
4. Identify and classify memory.
5. Apply Number Systems
6. Emerging trends in Electronics

1.2.1 Learning Outcome 1: Identify electrical circuits.


1.2.1.1 Introduction to the learning outcome
This learning outcome covers definition of electrical circuit, Basic electrical quantities and their
units including EMF in volts, Current in Amperes, Power in watts, Energy in joules, and Resistance
in ohms. The outcome also covers types of electrical circuits, Simple AC circuits and simple DC
circuits.

1.2.1.2 Performance Standard


1.2.1.2.1. Electrical circuit are identified.
1.2.1.2.2. Electrical quantities and their units are identified.
1.2.1.2.3. Types of electrical circuits are identified.

1.2.1.3 Information Sheet

a) Electric circuit
1
In order for electrons to flow they need a closed circuit. An Electric Circuit is a closed path for
transmitting an electric current through the medium of electrical and magnetic fields. The flow of
electrons across the loop constitutes the electric current. Electrons enter the circuit through the
‘Source’ which can be a battery or a generator. The source provides energy to the electrons, by
setting up an electrical field which provides the electromotive force. The electrons leave the circuit
through the load, to the earth ground, thus completing a closed path. The load or output can be any

2
simple home appliance like television, lamp, refrigerator, or can be a complex load such as that on
a hydroelectric power generating station.

A simple electric circuit consists of a source (such as a battery), wires as conducting medium and
a load (such as a light bulb). The battery provides required energy for flow of electrons, to the light
bulb.

b) Standard Electrical quantities and their units of measure

The table shows electrical quantities which are used in electronics and the unit (and unit symbol)
which is used to measure each quantity. The relationship between quantities can be written using
words or symbols (letters), but symbols are normally used because they are much shorter; for
example, V is used for voltage, I for current and R for resistance.

Table 3: Standard Electrical quantities and their units of measure

Electrical Measuring
Symbol Description
Parameter Unit

Unit of Electrical Potential


Voltage Volt V or E
V=I×R

Unit of Electrical Current


Current Ampere I or i
I=V÷R

Unit of DC Resistance
Resistance Ohm R or Ω
R=V÷I

Reciprocal of Resistance
Conductance Siemen G or ℧
G=1÷R

Unit of Capacitance
Capacitance Farad C
C=Q÷V

Unit of Electrical Charge


Charge Coulomb Q
Q=C×V

c) Basic Electrical Circuits


3
As mentioned above in the introduction, a circuit is an interconnection of elements. These elements
are classified into active or passive elements, based on their capability to generate energy.

4
d) Active Circuit Elements

Active Elements are those which can generate energy. Examples include batteries, generators,
operational amplifiers, and diodes. Note that in an electrical circuit, the source elements are the
most significant active elements.

An energy source, whether a voltage or current source, is of 2 types – Independent and Dependent
sources. Example of an Independent source is the battery which provides a constant voltage to the
circuit, irrespective of the current flowing through the terminals.

Example of a dependent source is a transistor, which provides current to the circuit, depending
upon the voltage applied to it. Another example is an Operational Amplifier, which provides
voltage, depending upon the differential input voltage applied to its terminals.

e) Passive circuit Elements

Passive Elements can be defined as elements which can control the flow of electrons through them.
They either increase or decrease the voltage. Here are some examples of passive elements.

Resistor: A resistor opposes the flow of current through it. For a linear circuit, Ohm’s law is
applicable, which states that voltage across the resistor is directly proportional to the current
flowing through it, the proportional constant being the resistance.
Inductor: An inductor stores energy in form of the electromagnetic field. The voltage across an
inductor is proportional to the rate of change of current flowing through it.
Capacitor: A capacitor stores energy in form of the electrostatic field. The voltage across a
capacitor is proportional to the charge.

f) Types of Electrical Circuits

DC Circuits

5
In DC Circuits, the excitation applied is a constant source. Based on the type of connection of
active and passive components with the source, a circuit can be classified into Series and Parallel
circuits.

Series Circuits

When several passive elements are connected in series with an energy source, such a circuit is
known as a series circuit. For a series circuit, same amount of current flows through each element
and voltage is divided. In series circuit, as the elements are connected in a line,if there is faulty
element among them ,complete circuit acts as open circuit.

 For a resistor connected in DC circuits, the voltage across its terminals is directly proportional
to the current passing through it, thus maintaining a linear relationship between the voltage and
current. For resistors connected in series, the total resistance is equal to the sum of all resistance
values.
 For capacitors connected in series, the total capacitance is equal to the sum of reciprocals of
all capacitance values.
 For inductors connected in series, total inductance is equal to the sum of all inductance values.

Parallel Circuits

In a parallel circuit, one terminal of all the elements is connected to the one terminal of the source
and the other terminal of all elements is connected to the other terminal of the source.

In parallel circuits, the voltage remains the same in the parallel elements while the current changes.
If there is any faulty element among parallel elements there is no effect on the circuit.

6
Figure 1: Parallel circuit

 For resistors connected in parallel, the total resistance is equal to the sum of reciprocals of all
resistance values.
 For capacitors connected in series, the total capacitance is equal to the sum of all capacitance
values.
 For inductors connected in series, total inductance is equal to the sum of all reciprocals of
inductance values.

AC circuits

Ac circuits are those circuits, whose excitation element is an AC source. Unlike DC source which
is constant AC source has variable current and voltage at regular intervals of time. Generally, for
high power applications, AC circuits are used.

Simple AC Circuit using resistance

For alternating current passing through the resistor, the ratio of current and voltage depends upon
the phase and frequency of the supply. The applied voltage will change constantly with time and
Ohm’s law can be used to calculate current passing through the resistor at any instant of time.

In other words, if at time t seconds, the value of voltage is v volts, current will be:

7
i = v/R

where the value of R is always constant.

Above equation shows that polarity of current depends upon that of the voltage. Also, both current
and voltage reach their maximum and zero points at the same time. Thus, for a resistor, voltage is
in phase with the applied current.

Consider the below circuit diagram

Figure 2: Flow of current (adapted from electronics hub)

When the switch is closed, current passes through the resistor and is given by the below equation

i=Im cos(ωt+Φ)

Voltage,V=IR=RIm cos(ωt+Φ)

For a resistor, both voltage and current values will rise and fall at the same time. Hence, the phase
difference between voltage and current is zero.

8
AC Circuit using pure inductance

A coil of thin wire wrapped on a cylindrical core is known as an Inductor. The core can be an air
core (hollow laminated) or an iron core. As alternating current flows through the inductor, the
magnetic field also changes. This change in magnetic field results in an induced voltage across the
inductor. As per Lenz law, the induced voltage is such that it opposes the flow of current through
it.

During the first half cycle of the source voltage, the inductor stores energy in form of magnetic
field and in the next half, it releases energy.
The induced EMF is given as below

e=Ldi/dt

Here, L is the self-inductance.

Now, Input AC voltage applied is given as v(t)=Vm Sinωt

Current through the inductor is:I(t)=Im Sinωt

Figure 3: Current flow graph (adapted from electronics hub)

So, the voltage across the inductor would be


9
e=L di/dt=wLI_m cos⁡wt=wLI_m sin⁡(wt+90)

Thus, for an inductor, voltage leads the current by 90 degrees.

Now, resistance by an inductor is termed as Reactance and given by

Thus, impedance or resistance is proportional to rate of change of current for an inductor.

AC Circuit with a capacitor

For a constant DC supply, the capacitor plates charge up to the applied voltage, stores this charge
temporarily and then starts discharging. Once a capacitor is fully charged, it blocks the flow of
current as the plates get saturated.

Figure 4: AC Circuit with Capacitor (adapted from electronics hub)

When AC supply voltage is applied to a capacitor, the rate of charging and discharging depends
upon the supply frequency. Voltage across the capacitor lags the current flowing through it by 90
degrees.

Current through the capacitor is given as

e = Ldi/dt
10
The capacitive reactance is given as:

e = Ld/idt

Thus, impedance or reactance to AC supply is inversely proportional to the frequency of supply.

1.2.1.4 Learning Activities


 The trainee is required to visit any active electrical or electronic workshop, either within the
institution or outside. The trainee is required to identify at least six of the available electric
components.
 In the visit above, the trainee is required to classify the identified components in writing as
either active or passive, based on their use.
1.1.2.5 Self-Assessment
1. What is the difference between active and passive elements?
2. Examine the figure below and illustrate how the total voltage, resistance and inductance is
determined.

3. Examine the figure below and illustrate how total voltage, resistance and inductance is
determined.

11
4. As per Lenz law, analyze how an inductor works

5. Illustrate by use of a diagram how a capacitor works in both AC and DC circuits

6. With an aid of a formula, elaborate a simple AC Circuit using resistance


1.2.1.6 Tools, Equipment, Supplies and Materials
Tools
1. Screw Drivers
2. Pliers
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
12
Materials and supplies
• Circuits
• Semiconductor materials
• Conductors e.g. copper, gold, silver
• Insulators e.g. rubber, glass, mica

1.2.1.7 References
2. Wempen, F. (2014). Computing fundamentals: Introduction to computers. John Wiley & Sons.
3. Hamacher, C., Vranesic, Z., & Zaky, S. (2002). Computer organization. McGraw-Hill.

1.2.1.7 Answers to self-assessment


What is the difference between active and passive elements?
Active Elements are those which can generate energy. Examples include batteries, generators,
operational amplifiers and diodes.
Passive Elements can be defined as elements which can control the flow of electrons through them.
They either increase or decrease the voltage. Here are some examples of passive elements.
Examine the figure below and illustrate how the total voltage, resistance and inductance is
determined.

For a resistor connected in DC circuits, the voltage across its terminals is directly proportional
to the current passing through it, thus maintaining a linear relationship between the voltage and
current. For resistors connected in series, the total resistance is equal to the sum of all resistance
values.
For capacitors connected in series, the total capacitance is equal to the sum of reciprocals of all
capacitance values.

13
For inductors connected in series, total inductance is equal to the sum of all inductance values.
Examine the figure below and illustrate how the total voltage, resistance and inductance is
determined.

 For resistors connected in parallel, the total resistance is equal to the sum of reciprocals of
all resistance values.
 For capacitors connected in series, the total capacitance is equal to the sum of all capacitance
values.
 For inductors connected in series, total inductance is equal to the sum of all reciprocals of
inductance values.

As per Lenz law, analyze how an inductor works


A coil of thin wire wrapped on a cylindrical core is known as an Inductor. The core can be an air
core (hollow laminated) or an iron core. As alternating current flows through the inductor, the
magnetic field also changes. This change in magnetic field results in an induced voltage across
the inductor. As per Lenz law, the induced voltage is such that it opposes the flow of current
through it.

Illustrate by use of a diagram how a capacitor works in both AC and DC circuits


For a constant DC supply, the capacitor plates charge up to the applied voltage, stores this charge
temporarily and then starts discharging. Once a capacitor is fully charged, it blocks the flow of
current as the plates get saturated.

14
When AC supply voltage is applied to a capacitor, the rate of charging and discharging depends
upon the supply frequency. Voltage across the capacitor lags the current flowing through it by 90
degrees.

With an aid of a formula, elaborate a simple AC Circuit using resistance


For alternating current passing through the resistor, the ratio of current and voltage depends upon
the phase and frequency of the supply. The applied voltage will change constantly with time and
Ohm’s law can be used to calculate current passing through the resistor at any instant of time.
In other words, if at time t seconds, the value of voltage is v volts, current will be:
i = v/R, where the value of R is always constant.

15
1.2.2 Learning Outcome 2: Identify Electronic components
1.2.2.1 Introduction to the learning outcome
This learning outcome covers identification of electronic components including Resistor,
Capacitor, Diode and Inductor. It further elaborates some characteristic of electronic components,
application of electronic components and identification of integrated circuit characteristics.

1.2.2.2 Performance Standard


1. Identification of electrical components is done.
2. Characteristic of electronic components are identified.
3. Application of electronic components are Identified.
4. Characteristics of integrated circuit are identified.

1.2.2.3 Information Sheet


a) Identification of electronic components
There are numerous basic electronic components that are used for building electronic circuits.
Without these components, circuit designs are never complete or didn’t function well. These
components include resistors, diodes, capacitors, integrated circuits, and so on. Some of these
components consist of two or more terminals that are soldered to circuit boards. Some may be
packaged types like integrated circuits in which different semiconductor devices are integrated.
Here is a brief overview of each of these basic electronic components and you can get in-depth
information by clicking links attached to each component.
b) Definition of Basic Electronics Components
Electronic components are basic discrete devices in any electronic system to use in electronics
otherwise different associated fields. These components are basic elements that are used to design
electrical and electronic circuits. These components have a minimum of two terminals which are
used to connect to the circuit. The classification of electronic components can be done based on
applications like active, passive, and electromechanical.

16
Figure 5: Major Electronic Components

In designing an electronic circuit following are taken into consideration:


 Basic electronic components: capacitors, resistors, diodes, transistors, etc.
 Power sources: Signal generators and DC power supplies.
 Measurement and analysis instruments: Cathode Ray Oscilloscope (CRO), multimeters, etc.
c) Active Components
These components are used to amplify electrical signals to generate electric power. The
functioning of these components can be done like an AC circuit within electronic devices to protect
from voltage and enhanced power. An active component executes its functions because it is power-
driven through an electricity source. All these components require some energy source that is
normally removed from a DC circuit. Any quality type of active component will include an
oscillator, IC (integrated circuit) & transistor.
d) Passive Components
These types of components cannot use mesh energy into the electronic circuit because they don’t
rely on a power source, excluding what is accessible from the AC circuit they are allied to. As a
result, they cannot amplify, although they can increase a current otherwise voltage or current.
These components mainly include two-terminals like resistors, inductors, transformers &
capacitors.
e) Electromechanical Components

17
These components use an electrical signal to make some mechanical changes like rotating a motor.
Generally, these components use electrical current to form a magnetic field so that physical
movement can be caused. Different types of switches and relays are applicable in these kinds of
components. The devices which have the process of electrical as well as mechanical are
electromechanical devices. An electromechanical component is operated manually to generate
electrical output through the mechanical movement.
Passive Electronic Components
These components can store or maintains energy either in the form of current or voltage. Some of
these components are discussed below.
1. Resistors
A resistor is a two-terminal passive electronic component, used to oppose or limit the current.
Resistor works based on the principle of Ohm’s law which states that “voltage applied across the
terminals of a resistor is directly proportional to the current flowing through it”
V=IR
The units of the resistance are ohms
Where R is the constant called resistance

Figure 6: Resistor Components

Resistors are further classified based on the following specifications such as the power rating, type
of material used, and resistance value. These resistor types are used for different applications.
a) Fixed Resistors
This type of resistor is used to set the right conditions in an electronic circuit. The values of
resistance in fixed resistors are determined during the design phase of the circuit, based on this
there is no need to adjust the circuit.
b) Variable Resistors
18
A device that is used to change the resistance according to our requirements in an electronic circuit
is known as a variable resistor. These resistors comprise a fixed resistor element and a slider that
taps on to the resistor element. Variable resistors are commonly used as a three-terminal device
for calibration of the device.

2. Capacitors
A capacitor made from two conductive plates with an insulator between them and it stores
electrical energy in the form of an electric field. A capacitor blocks the DC signals and allows the
AC signals and also used with a resistor in a timing circuit.
The stored charge is Q=CV
Where C is the capacitance of a capacitor and V is the applied voltage.

Figure 7: Capacitor Components

These capacitors are of different types like film, ceramic, electrolytic, and variable capacitors. For
finding its value number and color-coding methods are used and it also possible to find the
capacitance value with LCR meters.
3. Inductors
An inductor is also referred to as an AC resistor which stores electrical energy in the form of
magnetic energy. It resists the changes in the current and the standard unit of inductance is Henry.
The capability of producing magnetic lines is referred to as inductance.
19
The inductance of the inductor is given as L= (µ.K.N2.S)/I.
Where,
‘L’ is inductance,
‘µ’ is Magnetic permeability,
‘K’ is a magnetic coefficient,
‘S’ is the cross-section area of the coil,
‘N’ is the number of turns of the coils,
And ‘I’ is the length of the coil in the axial direction.

Figure 8: Inductor Components

Other passive electronic components include different types of sensors, motors, antennas etc. To
reducing the complexity of this article few of the passive components are discussed above.

Active Electronic Components


These components rely on a source of energy and are able to control the electron flow through
them. Some of these components are semiconductors like diodes, transistors, integrated circuits,
various displays like LCD, LED, CRTs, and power sources like batteries, PV cells, and other AC
and DC supply sources.
4. Diodes
A diode is a device that allows current to flow in one direction and usually made with the
semiconductor material. It has two terminals, anode and cathode terminals. These are mostly used
20
in converting circuits like AC to DC circuits. These are of different types like PN diodes, Zener
diodes, LEDs, photodiodes, etc.

Figure 9: Diodes

5. Transistors
A transistor is a three-terminal semiconductor device. Mostly it is used as a switching device and
also as an amplifier. This switching device can be voltage or current controlled. By controlling the
voltage applied to the one terminal controls the current flow through the other two terminals.
Transistors are of two types, namely bipolar junction transistor (BJT) and field-effect transistors
(FET). And further, these can be PNP and NPN transistors.

Figure 10: Transistors

Characteristics of Active and Passive Electronic Components

21
Now that we have understood about the Active and Passive devices and its types, let us do a
comparison between the characteristics of active and passive components based on certain
parameters as defined below

1) Source of energy – Active components require an extra source of energy. In the case of passive
components, no extra source of energy is required for their operation. A resistor works on its own
without the need for a specific voltage.

2) Energy: Active components produce energy in the form of voltage or current but passive
components are those devices that store energy, like a capacitor, stores its energy in form of electric
field and an inductor stores its energy in form of a magnetic field.

3) Linearity: Passive components are linear and active components are non-linear. Meaning in a
passive component like a resistor, the voltage drop across will be linear to its resistance value
according to Ohms Law. While in a transistor or other active components the output will have an
amplification factor that will not be linear.

4) Power gain: Active components are capable of providing power gain whereas in the case of
passive components the ability to amplify power is not present.

5) Controlling the current: Active component as the name implies can easily control the flow of
the current. The same task cannot be done by a passive component.

6) External source: Active components as seen earlier require an extra source to control and
maintain its operations but in the case of passive components, there is no requirement of an external
source.

Applications of various electronic components


1. Capacitors

22
Though capacitors look like batteries, they can perform different types of functions in a circuit
such as blocking direct current while allowing alternating current to pass or smooth the output
from a power supply. They are also used in electric power transmission systems to stabilize voltage
and power flow. One of the most significant functions of a capacitor in the AC systems is power
factor correction, without which you can’t provide sufficient amount of starting torque to single
phase motors.

Filters Capacitor Applications


If you are using a microcontroller in a circuit to run a specific program, you don’t want its voltage
to drop as that will reset the controller. That’s why designers use a capacitor. It can supply the
microcontroller with the necessary power for a split second to avoid a restart. In other words, it
filters out the noise on the power line and stabilizes the power supply.

Hold-Up Capacitor Applications


Unlike a battery, a capacitor releases its charge rapidly. That’s why it is used to provide power to
a circuit for a short while. Your camera batteries charge the capacitor attached to the flash gun.
When you take a flash photograph, the capacitor releases its charge in a split second to generate a
flash of light.
Timer Capacitor Applications
In a resonant or time-dependent circuit, capacitors are used along with a resistor or inductor as a
timing element. The time required to charge and discharge a capacitor determines the operation of
the circuit.

2. Resistors

Resistors have plenty of applications, but the three most common ones are managing current flow,
dividing voltage, and resistor-capacitor networks.

Limiting the Flow of Current

23
If you don’t add resistors to a circuit, the current will flow at dangerously high levels. It can
overheat other components and possibly damage them. For example, if you connect an LED
directly to a battery, it would still work. However, after some time the LED will heat up like a
fireball. It will eventually burn as LEDs are less tolerant to heat.

But, if you introduce a resistor in the circuit, it will reduce the flow of current to an optimal level.
Thus, you can keep the LED on longer without overheating it.

Dividing Voltage

Resistors are also used to reduce the voltage to the desired level. Sometimes, a particular part of a
circuit such as a microcontroller may need a lower voltage than the circuit itself. This is where a
resistor comes in.

Let’s say your circuit runs off of a 12V battery. However, the microcontroller needs only a 6V
supply. So, to divide the voltage in half, all you have to do is place two resistors of equal resistance
value in series. The wire in between the two resistors will have halved the voltage of your circuit
where the microcontroller can be attached. Using appropriate resistors, you can lower the voltage
within the circuit to any level.

Resistor-Capacitor Networks

Resistors are also used in combination with capacitors to build ICs that contain resistor-capacitor
arrays in a single chip. They are also known as RC filters or RC networks. They are often used to
suppress electromagnetic Interference (EMI) or Radio Frequency Interference (RFI) in various
instruments, including input/output ports of computers and laptops, Local Area Networks (LANs),
and Wide Area Networks (WANs), among others. They are also used in machine tools,
switchgears, motor controllers, automated equipment, industrial appliances, elevators, and
escalators.

3. Diodes

24
Though diodes are one of the simplest components in an electronic circuit, they have unique
applications across industries.

AC to DC Conversion

The most common and important application of a diode is the rectification of AC power to DC
power. Usually, a half-wave (single diode) or a full-wave (four diodes) rectifier is used to convert
AC power into DC power, particularly in household power supply. When you pass AC power
supply through a diode, only half the AC waveform passes through it. As this voltage pulse is used
to charge the capacitor, it produces steady and continuous DC currents without any ripples.
Different combinations of diodes and capacitors are also used to build various types of voltage
multipliers to multiply a small AC voltage into high DC outputs.

Bypass Diodes

Bypass diodes are often used to protect solar panels. When the current from the rest of the cells
passes through a damaged or dusty solar cell, it causes overheating. As a result, the overall output
power decreases, creating hot spots. The diodes are connected parallel to the solar cells to protect
them against this overheating problem. This simple arrangement limits the voltage across the bad
solar cell while allowing the current to pass through undamaged cells to the external circuit.

Voltage Spike Protection

When the power supply is suddenly interrupted, it produces a high voltage in most inductive loads.
This unexpected voltage spike can damage the loads. However, you can protect expensive
equipment by connecting a diode across the inductive loads. Depending on the type of security,
these diodes are known by many names including snubber diode, flyback diode, suppression diode,
and freewheeling diode, among others.

Signal Demodulation

They are also used in the process of signal modulation because diodes can remove the negative
element of an AC signal efficiently. The diode rectifies the carrier wave, turning it into DC. The

25
audio signal is retrieved from the carrier wave, a process called audio-frequency modulation. You
can hear the audio after some filtering and amplification. Hence, diodes are commonly found in
radios to extract the signal from the carrier wave.

Reverse Current Protection

Reversing polarities of a DC supply or incorrectly connecting the battery can cause a substantial
current to flow through a circuit. Such a reverse connection can damage the connected load. That’s
why a protective diode is connected in series with the positive side of the battery terminal. The
diode becomes forward-biased in the case of correct polarity and the current flows through the
circuit. However, in the event of a wrong connection, it becomes reverse-biased, blocking the
current. Thus, it can protect your equipment from potential damage.

4. Transistors

Transistors function as both, switches and amplifiers in most electronic circuits. Designers often
use a transistor as a switch because unlike a simple switch, it can turn a small current into a much
larger one. Though you can use a simple switch in an ordinary circuit, an advanced circuit may
need varying amounts of currents at different stages.

Transistors in Hearing Aids

One of the most well-known applications of transistors is the hearing aid. Usually, a small
microphone in the hearing aid picks up the sound waves, converting them into fluctuating electrical
pulses or currents. When these currents pass through a transistor, they are amplified. The amplified
pulses then pass through a speaker, converting them into sound waves once again. Thus, you can
hear a substantially louder version of the surrounding noise.

Transistors in Computers and Calculators

We all know that computers store and process information using the binary language of “zero” and
“one.” However, most people don’t know that transistors play a critical role in making something
called logic gates, which are the backbones of computer programs. Transistors are often hooked

26
up with logic gates to build a unique piece of an arrangement called a flip-flop. In this system, the
transistor remains ‘on’ even if you remove the base current. It now flips on or off whenever new
current passes through it. Thus, a transistor can store a zero when it’s off or a one when it’s on,
which is the working principle of computers.

Darlington Transistors

A Darlington transistor is made of two PNP or NPN polar junction transistors placed together. It
is named after its inventor Sidney Darlington. The sole purpose of a Darlington transistor is to
deliver a high current gain from a low base current. You can find these transistors in instruments
that require a high current gain at a low frequency such as power regulators, display drivers, motor
controllers, light and touch sensors, alarm systems, and audio amplifiers.

IGBT and MOSFET Transistors

The Insulated-Gate Bipolar Transistor (IGBT) transistors are often used as amplifiers and switches
in various instruments including electric cars, trains, refrigerators, air-conditioners, and even stereo
systems. On the other hand, Metal-Oxide-Semiconductor Field-Effect Transistors (MOSFET) are
commonly used in integrated circuits to control a device’s power levels or for storing data.

Integrated Circuits
An Integrated circuit is a special component that is fabricated with thousands of transistors,
resistors, diodes, and other electronic components on a tiny silicon chip. These are the building
blocks of current electronic devices like cell phones, computers, etc. These can be analog or digital
integrated circuits. Mostly used ICs in electronic circuits are Op-amps, timers, comparators,
switches ICs, and so on. These can be classified as linear and nonlinear ICs depending on its
application.

27
Figure 11: Integrated Circuits

Further reading
https://www.elprocus.com/different-types-of-integrated-circuits/

1.2.2.4 Learning Activities

 The trainee is required to visit any active electronic workshop. The trainee is supposed to
identify the following electronic components: Resistors, Diodes, Capacitors, and Transistors.
 During the above visit, the trainee is required to give a detailed description on the various
applications and uses of each of these components.
 The trainee is required to identify at least one integrated circuit in the arrangement.

1.2.2.5 Self-Assessment
1. Distinguish between fixed and variable resistors
2. What happens if you don’t add resistors to a circuit?
3. One of the most well-known applications of transistors is the hearing aid. How does this work?
4. When the power supply is suddenly interrupted, it produces a high voltage in most inductive
loads. What can you use to protect expensive equipment in such cases?
5. In designing an electronic circuit, what components are taken into consideration?

1.2.2.6 Tools, Equipment, Supplies and Materials


Tools
1. Screw Drivers
2. Pliers
28
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
Materials and supplies
• Circuits
• Semiconductor materials
1.2.2.7 References
1. https://www.encyclopedia.com/computing/dictionaries-thesauruses-pictures-and-press-
releases/excess-3-code
2. Crowe, J., & Hayes-Gill, B. (1998). Introduction to digital electronics. Elsevier.

1.2.2.8 Model answers to self-assessment


1. Distinguish between fixed and variable resistors
Fixed Resistors
This type of resistor is used to set the right conditions in an electronic circuit. The values of
resistance in fixed resistors are determined during the design phase of the circuit, based on this
there is no need to adjust the circuit.
Variable Resistors
A device that is used to change the resistance according to our requirements in an electronic
circuit is known as a variable resistor. These resistors comprise a fixed resistor element and a
slider that taps on to the resistor element. Variable resistors are commonly used as a three-
terminal device for calibration of the device.

29
2. What happens if you don’t add resistors to a circuit?
If you don’t add resistors to a circuit, the current will flow at dangerously high levels. It can
overheat other components and possibly damage them.
3. One of the most well-known applications of transistors is the hearing aid. How does this
work?
Usually, a small microphone in the hearing aid picks up the sound waves, converting them into
fluctuating electrical pulses or currents. When these currents pass through a transistor, they are
amplified. The amplified pulses then pass through a speaker, converting them into sound waves
once again. Thus, you can hear a substantially louder version of the surrounding noise.

4. When the power supply is suddenly interrupted, it produces a high voltage in most
inductive loads. What can you use to protect expensive equipment in such cases?
This unexpected voltage spike can damage the loads. You can protect expensive equipment by
connecting a diode across the inductive loads.

5. In designing an electronic circuit, what components are taken into consideration?


 Basic electronic components: capacitors, resistors, diodes, transistors, etc.
 Power sources: Signal generators and DC power supplies.
Measurement and analysis instruments: Cathode Ray Oscilloscope (CRO), multimeters, etc.

30
1.2.3 Learning Outcome 3: Understand Semi-conductor theory
1.2.3.1 Introduction to the learning outcome
This learning outcome covers definition of semiconductor and related terms, Description of the
structure of matter, explanation of electrons in conductors and semiconductors, types of
semiconductors materials, explanation of P-type and N-types materials, description of P-N
junction diodes operations and operations of transistors.

1.2.3.2 Performance Standard


1.2.3.3.1 Explanation of semiconductor theory is done.
1.2.3.3.2 Structure of matter is described.
1.2.3.3.3 Electrons in conductors and semiconductors are explained.
1.2.3.3.4 Types of semiconductor materials are identified.
1.2.3.3.5 P-type and N-type materials are explained.
1.2.3.3.6 Description of P-N junction diodes operations is done.
1.2.3.3.7 Types and operations of transistors are identified.

1.2.3.3 Information Sheet

1. Semiconductor

A semiconductor is a physical substance that is designed to manage and control the flow of current
in electronic devices and equipment. It neither allows a freely flowing electric current nor repels
it completely. A semiconductor is in between a conductor and insulator and commonly used in the
development of electronic chips, computing components and devices.

2. Semiconductor Materials: Silicon and Germanium

Semiconductor’s materials such as silicon (Si), germanium (Ge) and gallium arsenide (GaAs),
have electrical properties somewhere in the middle, between those of a “conductor” and an
“insulator”. They are not good conductors nor good insulators (hence their name “semi”-
conductors). They have very few “free electrons” because their atoms are closely grouped together

31
in a crystalline pattern called a “crystal lattice” but electrons are still able to flow, but only under
special conditions.

The ability of semiconductors to conduct electricity can be greatly improved by replacing or


adding certain donor or acceptor atoms to this crystalline structure thereby, producing more free
electrons than holes or vice versa. That is by adding a small percentage of another element to the
base material, either silicon or germanium.

On their own Silicon and Germanium are classed as intrinsic semiconductors, that is they are
chemically pure, containing nothing but semi-conductive material. But by controlling the amount
of impurities added to this intrinsic semiconductor material it is possible to control its conductivity.
Various impurities called donors or acceptors can be added to this intrinsic material to produce
free electrons or holes respectively.

b) Atoms and Atomic Structure of Semiconductors:

To understand how semiconductors work it is necessary to study briefly the structure of matter.
All atoms are made of electrons, protons and neutrons. Most solid materials are classed, from
the standpoint of electrical conductivity, as conductors, semiconductors or insulators.

Electrons

To be conductor, the substance must contain some mobile electrons—one that can move freely
between the atoms. These free electrons come only from the valence (outer) orbit of the atom.
Physical force associated with the valence electrons bind adjacent atoms together. The inner
electrons below the valence level, do not normally enter into the conduction process.

Conductivity depends on the number of electrons in the valence orbit.

The degree of conductivity is determined as follows:

1. Atoms with fewer than four valence electrons are good conductors.

2. Atoms with more than four valence electron are poor conductors.
32
3. Atoms with four valence electrons are semiconductors.

c) P-Type and N-Type Semiconductors

P-n junction diodes are made up of two adjacent pieces of p-type and n-type semiconducting
materials. P-type and n-type materials are simply semiconductors, such as silicon (Si) or
germanium (Ge), with atomic impurities; the type of impurity present determines the type of the
semiconductor. The process of purposefully adding impurities to materials is called doping;
semiconductors with impurities are referred to as "doped semiconductors".

P-type

In a pure (intrinsic) Si or Ge semiconductor, each nucleus uses its four valence electrons to form
four covalent bonds with its neighbors (see figure below). Each ionic core, consisting of the
nucleus and non-valent electrons, has a net charge of +4, and is surrounded by 4 valence electrons.
Since there are no excess electrons or holes In this case, the number of electrons and holes present
at any given time will always be equal.

33
Figure 12: An intrinsic semiconductor. Note each +4 ion is surrounded by four electrons.

Now, if one of the atoms in the semiconductor lattice is replaced by an element with three valence
electrons, such as a Group 3 element like Boron (B) or Gallium (Ga), the electron-hole balance
will be changed. This impurity will only be able to contribute three valence electrons to the lattice,
therefore leaving one excess hole (see figure below). Since holes will "accept" free electrons, a
Group 3 impurity is also called an acceptor.

Figure 13: A semiconductor doped with an acceptor. An excess hole is now present.

34
Because an acceptor donates excess holes, which are considered to be positively charged, a
semiconductor that has been doped with an acceptor is called a p-type semiconductor; "p" stands
for positive. Notice that the material as a whole remains electrically neutral. In a p-type
semiconductor, current is largely carried by the holes, which outnumber the free electrons. In this
case, the holes are the majority carriers, while the electrons are the minority carriers.

N-type

In addition to replacing one of the lattice atoms with a Group 3 atom, we can also replace it by an
atom with five valence electrons, such as the Group 5 atoms arsenic (As) or phosphorus (P). In
this case, the impurity adds five valence electrons to the lattice where it can only hold four. This
means that there is now one excess electron in the lattice (see figure below). Because it donates an
electron, a Group 5 impurity is called a donor. Note that the material remains electrically neutral.

Figure 14: A semiconductor doped with a donor. A free electron is now present.

Donor impurities donate negatively charged electrons to the lattice, so a semiconductor that has
been doped with a donor is called an n-type semiconductor; "n" stands for negative. Free electrons
outnumber holes in an n-type material, so the electrons are the majority carriers and holes are the
minority carriers.

35
d) P-N junction semiconductor diode
What is p-n junction semiconductor diode?
A p-n junction diode is two-terminal or two-electrode semiconductor device, which allows the
electric current in only one direction while blocks the electric current in opposite or reverse
direction. If the diode is forward biased, it allows the electric current flow. On the other hand, if
the diode is reverse biased, it blocks the electric current flow. P-N junction semiconductor diode
is also called as p-n junction semiconductor device.
In n-type semiconductors, free electrons are the majority charge carriers whereas in p-type
semiconductors, holes are the majority charge carriers. When the n-type semiconductor is joined
with the p-type semiconductor, a p-n junction is formed. The p-n junction, which is formed when
the p-type and n-type semiconductors are joined, is called as p-n junction diode.
The p-n junction diode is made from the semiconductor materials such as silicon, germanium, and
gallium arsenide. For designing the diodes, silicon is more preferred over germanium. The p-n
junction diodes made from silicon semiconductors works at higher temperature when compared
with the p-n junction diodes made from germanium semiconductors.

The basic symbol of p-n junction diode under forward bias and reverse bias is shown in the below
figure

Figure 15: Forward and Reverse Bias

In the above figure, arrowhead of a diode indicates the conventional direction of electric current
when the diode is forward biased (from positive terminal to the negative terminal). The holes which
moves from positive terminal (anode) to the negative terminal (cathode) is the conventional
direction of current.

36
The free electrons moving from negative terminal (cathode) to the positive terminal (anode)
actually carry the electric current. However, due to the convention we have to assume that the
current direction is from positive terminal to the negative terminal.

Biasing of p-n junction semiconductor diode


The process of applying the external voltage to a p-n junction semiconductor diode is called
biasing. External voltage to the p-n junction diode is applied in any of the two methods: forward
biasing or reverse biasing.

If the p-n junction diode is forward biased, it allows the electric current flow. Under forward biased
condition, the p-type semiconductor is connected to the positive terminal of battery whereas; the
n-type semiconductor is connected to the negative terminal of battery.
If the p-n junction diode is reverse biased, it blocks the electric current flow. Under reverse biased
condition, the p-type semiconductor is connected to the negative terminal of battery whereas; the
n-type semiconductor is connected to the positive terminal of battery.
Terminals of pn junction diode
Generally, terminal refers to a point or place at which any object begins or ends. For example, bus
terminal or terminus is a place at which all the buses begins or ends. Similarly, in a p-n junction
diode, terminal refers a point at which charge carriers begins or ends.
P-n junction diode consists of two terminals: positive and negative. At positive terminal, all the
free electrons will ends and all the holes will begins whereas at negative terminal all the free
electrons will begins and all the holes will ends.
 Terminals of diode under forward bias
In forward biased p-n junction diode (p-type connected to positive terminal and n-type connected
to negative terminal), anode terminal is a positive terminal whereas cathode terminal is negative
terminal.
Anode terminal is a positively charged electrode or conductor, which supplies holes to the p-n
junction. In other words, anode or anode terminal or positive terminal is the source of positive
charge carriers (holes), the positive charge carriers (holes) begins their journey at anode terminal
and travel through the diode and ends at cathode terminal.

37
Figure 16: Forward Biased

Cathode is the negatively charged electrode or conductor, which supplies free electrons to the p-n
junction. In other words, cathode terminal or negative terminal is the source of free electrons, the
negative charge carriers (free electrons) begins their journey at cathode terminal and travel through
the diode and ends at anode terminal.
The free electrons are attracted towards the anode terminal or positive terminal whereas the holes
are attracted towards the cathode terminal or negative terminal.
 Terminals of diode under reverse bias
If the diode is reverse biased (p-type connected to negative terminal and n-type connected to
positive terminal), the anode terminal becomes a negative terminal whereas the cathode terminal
becomes a positive terminal.

Anode terminal or negative terminal supplies free electrons to the p-n junction. In other words,
anode terminal is the source of free electrons, the free electrons begins their journey at negative or
anode terminal and fills the large number of holes in the p-type semiconductor. The holes in the
p-type semiconductor get attracted towards the negative terminal. The free electrons from the
negative terminal cannot move towards the positive terminal because the wide depletion region at
the p-n junction resists or opposes the flow of free electrons.
38
Figure 17: Reverse Biased

Cathode terminal or positive terminal supplies holes to the p-n junction. In other words, cathode
terminal is the source of holes, the holes begins their journey at positive or cathode terminal and
occupies the electrons position in the n-type semiconductor. The free electrons in the n-type
semiconductor gets attracted towards the positive terminal. The holes from the positive terminal
cannot move towards the negative terminal because the wide depletion region at the p-n junction
opposes the flow of holes.

Silicon and germanium semiconductor diodes


 For designing the diodes, silicon is more preferred over germanium.
 The p-n junction diodes made from silicon semiconductors works at high temperature than the
germanium semiconductor diodes.
 Forward bias voltage for silicon semiconductor diode is approximately 0.7 volts whereas for
germanium semiconductor diode is approximately 0.3 volts.
 Silicon semiconductor diodes do not allow the electric current flow, if the voltage applied on
the silicon diode is less than 0.7 volts.
 Silicon semiconductor diodes start allowing the current flow, if the voltage applied on the diode
reaches 0.7 volts.

39
 Germanium semiconductor diodes do not allow the electric current flow, if the voltage applied
on the germanium diode is less than 0.3 volts.
 Germanium semiconductor diodes start allowing the current flow, if the voltage applied on the
germanium diode reaches 0.3 volts.
 The cost of silicon semiconductors is low when compared with the germanium
semiconductors.
Advantages of p-n junction diode
P-n junction diode is the simplest form of all the semiconductor devices. However, diodes plays a
major role in many electronic devices.
 A p-n junction diode can be used to convert the alternating current (AC) to the direct current
(DC). These diodes are used in power supply devices.
 If the diode is forward biased, it allows the current flow. On the other hand, if it is reverse
biased, it blocks the current flow. In other words, the p-n junction diode becomes on when it
is forward biased whereas the p-n junction diode becomes off when it is reversed biased (I.e.
it acts as switch). Thus, the p-n junction diode is used as electronic switch in digital logic
circuits.

e) Types of Transistors
Transistor is the proper arrangement of different semiconductor materials. General semiconductor
materials used for transistor are silicon, germanium, and gallium-arsenide. Basically the transistors
are classified depending on their structure. Each type of transistors has their own characteristics,
advantages and disadvantages.
Some transistors are designed primarily for switching purpose, other side some are designed for
amplification purpose and some transistors are designed for both amplification and switching
purposes. Depending on the structure the transistors are classified into Bipolar Junction Transistors
(BJT) and Field Effect Transistors.(FET)
Junction Transistors
Junction transistor is generally called as Bipolar Junction Transistor (BJT). The BJT transistors
have three terminals named emitter (E), Base (B), Collector (C). The name itself indicates that it
has two junctions between p-type and n-type semiconductors. The BJT transistors are classified in
to NPN and PNP transistors depending on the construction.
40
Unlike FET transistors, the BJT transistors are current-controlled devices. If small amount of
current flows through the base of a BJT transistor then it causes to flow large current from emitter
to collector. The BJT transistors have low input impedance and it causes to flow large current
through the transistor.
The BJT transistors are only the transistors which are turned ON by the input current which is
given to the base. Bipolar junction transistors can operate in three regions, they are
 Cut-off Region: Here the transistor is in ‘OFF’ state i.e the current flowing through the
transistor is zero.
 Active Region: Here the transistor acts as an amplifier.
 Saturation Region: Here the transistor is in fully ‘ON’ state and also works as a closed switch.

NPN Transistor
NPN is one of the two types of Bipolar Junction Transistors (BJT). The NPN transistor consists of
two n-type semiconductor materials and they are separated by a thin layer of p-type semiconductor.
Here the majority charge carriers are electrons and holes are the minority charge carriers. The
flowing of electrons from emitter to collector forms the current flow in the transistor through the
base terminal.
A small amount of current at base terminal causes to flow large amount current from emitter to
collector. Nowadays the generally used bipolar transistor is NPN transistor, because the mobility
of electrons is greater than mobility of holes. The standard equation for the currents flowing in the
transistor is
IE = I B + IC
The symbols and structure for NPN transistors are given below.

Figure 18: Symbols of NPN Transistor


41
PNP Transistor
The PNP is another type of Bipolar Junction Transistors (BJT). The PNP transistors contain two
p-type semiconductor materials and are separated by a thin layer of n-type semiconductor. The
majority charge carriers in the PNP transistors are holes and electrons are minority charge carriers.
The arrow in the emitter terminal of transistor indicates the flow of conventional current. In PNP
transistor the current flows from Emitter to Collector.
The PNP transistor is ON when the base terminal is pulled to LOW with respect to emitter. The
symbol and structure for PNP transistor is shown below.

Figure 19: Symbols of PNP transistor (Adapted from electronics hub)


1.2.3.4 Learning Activities
The trainee is required to apply the below procedure in order to carry out the activities
1. Set up the circuit as shown below.

42
2. Use the variable power supply and the variable resistor to vary the potential difference across
the diode from 0 V to +0.8 V in intervals of about 0.1 V. Record pairs of potential difference
and current values.
3. Repeat in the range 0 V to -4.0 V in intervals of 0.5V, by reversing the connections on the
diode.
4. Analysis. Plot a graph of current/A (y-axis) against potential difference/V (x-axis). Remember
to include the readings for ‘negative’ voltages.
5. The resistance of the diode at a particular voltage = potential difference/current reading.
6. Use the graph to calculate the resistance of the diode at a number of different potential
differences.
7. Describe how the resistance changes with potential difference. Is the resistance of the diode
the same for ‘positive’ voltages and ‘negative’ voltages?
8. The conductance of the diode at a particular potential difference = current/potential difference.
9. Use the graph to calculate the conductance of the diode at a number of potential differences.
Special Instructions
Using a potential divider will enable trainees to get a full range of readings.
1.2.3.5 Self-Assessment
1. How can the ability of semiconductors to conduct electricity be greatly improved?
2. How does a substance become a conductor?
3. How is a P-Type semiconductor formed?
4. How is N-Type semiconductor formed?
5. What is biasing in a p-n junction semiconductor diode?
1.2.3.6 Tools, Equipment, Supplies and Materials
Tools
1. Screw Drivers
2. Pliers
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
43
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
Materials and supplies
• Circuits
• Semiconductor materials
• Conductors e.g. copper, gold, silver
• Insulators e.g. rubber, glass, mica
1.2.3.7 References
1. Stieglitz, N. (2003). Digital dynamics and types of industry convergence: the evolution of the
handheld computers market. The industrial dynamics of the new digital economy, 2, 179-208.
2. Crane, R. (1964). Characteristics of special-purpose and general-purpose analog computers.
Annals of the New York Academy of Sciences, 115, 600.
3. Székely, A., Talanow, R., & Bágyi, P. (2013). Smartphones, tablets and mobile applications for
radiology. European journal of radiology, 82(5), 829-836.

Sample Answers to self-assessment


1. How can the ability of semiconductors to conduct electricity be greatly improved?
By replacing or adding certain donor or acceptor atoms to this crystalline structure thereby,
producing more free electrons than holes or vice versa. That is by adding a small percentage of
another element to the base material, either silicon or germanium.
2. How does a substance become a conductor?
To be conductor, the substance must contain some mobile electrons—one that can move freely
between the atoms. These free electrons come only from the valence (outer) orbit of the atom.
3. How is a P-Type semiconductor formed?
In a pure (intrinsic) Si or Ge semiconductor, each nucleus uses its four valence electrons to form
four covalent bonds with its neighbors. Each ionic core, consisting of the nucleus and non-valent

44
electrons, has a net charge of +4, and is surrounded by 4 valence electrons. Since there are no
excess electrons or holes In this case, the number of electrons and holes present at any given time
will always be equal.
4. How is N-Type semiconductor formed?
In this case, the impurity adds five valence electrons to the lattice where it can only hold four. This
means that there is now one excess electron in the lattice (see figure below). Because it donates
an electron, a Group 5 impurity is called a donor. Note that the material remains electrically
neutral.
5. What is biasing in a p-n junction semiconductor diode?
The process of applying the external voltage to a p-n junction semiconductor diode is called
biasing. External voltage to the p-n junction diode is applied in any of the two methods: forward
biasing or reverse biasing.

45
1.2.3.4 Learning Outcome 4: Identify and classify memory.
1.2.4.1 Introduction to the learning outcome
This learning outcome covers definition of memory, classification of memories in terms of RAM,
ROM and DAM. Further, the learning outcome covers types of memories, semiconductor
memories and magnetic memories.

1.2.4.2 Performance Standard


1. Types of memories are identified
2. Memory hierarchy is identified
3. Levels of memory storage are identified
4. Classification of memories is done
1.2.4.3 Information Sheet
a) Definition of computer memory?

Computer memory is any physical device, used to store data, information or instruction
temporarily or permanently. It is the collection of storage units that stores binary information in
the form of bits. The memory block is split into a small number of components, called cells. Each
cell has a unique address to store the data in memory, ranging from zero to memory size minus
one. For example, if the size of computer memory is 64k words, the memory units have 64 * 1024
= 65536 locations or cells. The address of the memory's cells varies from 0 to 65535.

b) Why do we need a computer memory?

In the computer system, we need computer memory to store various types of data like text, images,
video, audio, documents, etc. We can retrieve it when the data is required. For example, when we
write and execute any computer program, it is initially stored in primary memory. If the processor
does not need particular items for a longer time, the program or data is automatically saved into
the permanent or secondary memory. Then the data is called from secondary memory to main
memory and performs the execution of codes.

c) Features of Memory

46
Following are the different features of the memory system that includes:

1. Location: It represents the internal or external location of the memory in a computer. The
internal memory is inbuilt in computer memory. It is also known as primary memory. the
example of primary memory are registers, cache and main memory. Whereas, external memory
is the separate storage device from the computer, such as disk, tape, USB pen drive.
2. Capacity: It is the most important feature of computer memory. Storage capacity can vary in
external and internal memory. External devices' storage capacity is measured in terms of bytes,
whereas the internal memory is measured with bytes or words. The storage word length can
vary in bits, such as 8, 16 or 32 bits.
3. Access Methods: Memory can be accessed through four modes of memory.
o DMA: As the name specifies, Direct Memory Address (DMA) is a method that allows
input/output (I/O) devices to access or retrieve data directly or from the main memory.
o Sequential Access Method: The sequential access method is used in a data storage
device to read stored data sequentially from the computer memory. Whereas, the data
received from random access memory (RAM) can be in any order.
o Random Access Method: It is a method used to randomly access data from memory.
This method is the opposite of SAM. For example, to go from A to Z in random access,
we can directly jump to any specified location. In the Sequential method, we have to
follow all intervening from A to Z to reach at the particular memory location.
o Associative Access Method: It is a special type of memory that optimizes search
performance through defined data to directly access the stored information based on a
memory address.
4. Unit of transfer: As the name suggests, a unit of transfer measures the transfer rate of bits that
can be read or write in or out of the memory devices. The transfer rate of data can be different
in external and internal memory.
o Internal memory: The transfer rate of bits is mostly equal to the word size.
o External memory: The transfer rate of bit or unit is not equal to the word length. It is
always greater than a word or may be referred to as blocks.
5. Performance: The performance of memory is majorly divided into three parts.

47
o Access Time: In random access memory, it represents the total time taken by memory
devices to perform a read or write operation that an address is sent to memory.
o Memory Cycle Time: Total time required to access memory block and additional
required time before starting second access.
o Transfer rate: It describes the transfer rate of data used to transmit memory to or from
an external or internal memory device. Bit transfer can be different for different
external and internal devices.
6. Physical types: It defines the physical type of memory used in a computer such as magnetic,
semiconductor, magneto-optical and optical.
7. Organization: It defines the physical structure of the bits used in memory.
8. Physical characteristics: It specifies the physical behavior of the memory like volatile, non-
volatile or non-erasable memory. Volatile memory is known as RAM, which requires power
to retain stored information, and if any power loss has occurred, stored data will be lost. Non-
volatile memory is a permanent storage memory that is used to obtain any stored information,
even when the power is off. Non-erasable memory is a type of memory that cannot be erased
after the manufactured like ROM because at the time of manufactured ROM are programmed.

d) Classification of Memory

The following figure represents the classification of memory:

48
Figure 20: Classification of memory

e) Primary or Main Memory

Primary memory is also known as the computer system's main memory that communicates directly
within the CPU, Auxiliary memory and the Cache memory. Main memory is used to kept programs
or data when the processor is active to use them. When a program or data is activated to execute,
the processor first loads instructions or programs from secondary memory into main memory, and
then the processor starts execution. Accessing or executing of data from primary memory is faster
because it has a cache or register memory that provides faster response, and it is located closer to
the CPU. The primary memory is volatile, which means the data in memory can be lost if it is not
saved when a power failure occurs. It is costlier than secondary memory, and the main memory
capacity is limited as compared to secondary memory.

The primary memory is further divided into two parts:

49
1. RAM (Random Access Memory)
2. ROM (Read Only Memory)

Random Access Memory (RAM)

Random Access Memory (RAM) is one of the faster types of main memory accessed directly by
the CPU. It is the hardware in a computer device to temporarily store data, programs or program
results. It is used to read/write data in memory until the machine is working. It is volatile, which
means if a power failure occurs or the computer is turned off, the information stored in RAM will
be lost. All data stored in computer memory can be read or accessed randomly at any time.

Figure 21: RAM stick

There are two types of RAM:

 SRAM
 DRAM

50
DRAM: DRAM (Dynamic Random-Access Memory) is a type of RAM that is used for the
dynamic storage of data in RAM. In DRAM, each cell carries one-bit information. The cell is made
up of two parts: a capacitor and a transistor. The size of the capacitor and the transistor is so
small, requiring millions of them to store on a single chip. Hence, a DRAM chip can hold more
data than an SRAM chip of the same size. However, the capacitor needs to be continuously
refreshed to retain information because DRAM is volatile. If the power is switched off, the data
store in memory is lost.

Characteristics of DRAM

1. It requires continuously refreshed to retain the data.


2. It is slower than SRAM
3. It holds a large amount of data
4. It is the combination of capacitor and transistor
5. It is less expensive as compared to SRAM
6. Less power consumption

SRAM: SRMA (Static Random-Access Memory) is a type of RAM used to store static data in
the memory. It means to store data in SRAM remains active as long as the computer system has a
power supply. However, data is lost in SRAM when power failures have occurred.

Characteristics of Static Ram

1. It does not require to refresh.


2. It is faster than DRAM
3. It is expensive.
4. High power consumption
5. Longer life
6. Large size
7. Uses as a cache memory

SRAM vs. DRAM

51
Table 4: Comparison between SRAM and DRAM

SRAM DRAM

It is a Static Random-Access Memory. It is a Dynamic Random Access Memory.

The access time of SRAM is slow. The access time of DRAM is high.

It uses a capacitor to store each bit of


It uses flip-flops to store each bit of information.
information.

It does not require periodic refreshing to preserve It requires periodically refreshing to preserve
the information. the information.

It uses in cache memory. It is used in the main memory.

The cost of SRAM is expensive. The cost of DRAM is less expensive.

It has a complex structure. Its structure is simple.

It requires low power consumption. It requires more power consumption.

Advantages of RAM

 It is a faster type of memory in a computer.


 It requires less power to operate.
 Program loads much faster
 More RAM increases the performance of a system and can multitask.
 Perform read and write operations.
 The processor can read information faster than a hard disc, floppy, USB, etc.

Disadvantages of RAM

 Less RAM reduces the speed and performance of a computer.


 Due to volatile, it requires electricity to preserve the data.
 It is expensive than ROM
 It is unreliable as compared to ROM
 The Size of RAM is limited.

52
Read-Only Memory (ROM)

ROM is a memory device or storage medium that is used to permanently store information inside
a chip. It is a read-only memory that can only read stored information, data or programs, but we
cannot write or modify anything. A ROM contains some important instructions or program data
that are required to start or boot a computer. It is a non-volatile memory; it means that the stored
information cannot be lost even when the power is turned off or the system is shut down.

Figure 22: ROM

Types of ROM

There are five types of Read Only Memory:

1. MROM (Masked Read Only Memory)


MROM is the oldest type of read-only memory whose program or data is pre-configured by
the integrated circuit manufacture at the time of manufacturing. Therefore, a program or
instruction stored within the MROM chip cannot be changed by the user.

53
2. PROM (Programmable Read Only Memory)
It is a type of digital read-only memory, in which the user can write any type of information
or program only once. It means it is the empty PROM chip in which the user can write the
desired content or program only once using the special PROM programmer or PROM burner
device; after that, the data or instruction cannot be changed or erased.
3. EPROM (Erasable and Programmable Read Only Memory):
It is the type of read only memory in which stored data can be erased and re-programmed
only once in the EPROM memory. It is a non-volatile memory chip that holds data when
there is no power supply and can also store data for a minimum of 10 to 20 years. In
EPROM, if we want to erase any stored data and re-programmed it, first, we need to pass the
ultraviolet light for 40 minutes to erase the data; after that, the data is re-created in EPROM.
4. EEPROM (Electrically Erasable and Programmable Read Only Memory):
The EEROM is an electrically erasable and programmable read only memory used to erase
stored data using a high voltage electrical charge and re-programmed it. It is also a non-volatile
memory whose data cannot be erased or lost; even the power is turned off. In EEPROM, the
stored data can be erased and reprogrammed up to 10 thousand times, and the data erase one
byte at a time.
5. Flash ROM
Flash memory is a non-volatile storage memory chip that can be written or programmed in
small units called Block or Sector. Flash Memory is an EEPROM form of computer memory,
and the contents or data cannot be lost when the power source is turned off. It is also used to
transfer data between the computer and digital devices.

Advantages of ROM

1. It is a non-volatile memory in which stored information can be lost even power is turned off.
2. It is static, so it does not require refreshing the content every time.
3. Data can be stored permanently.
4. It is easy to test and store large data as compared to RAM.
5. These cannot be changed accidently
6. It is cheaper than RAM.

54
7. It is simple and reliable as compared to RAM.
8. It helps to start the computer and loads the OS.

Disadvantages of ROM

1. Store data cannot be updated or modify except to read the existing data.
2. It is a slower memory than RAM to access the stored data.
3. It takes around 40 minutes to destroy the existing data using the high charge of ultraviolet light.

RAM Vs. ROM

Table 5: Comparison between RAM and ROM

RAM ROM

It is a Random-Access Memory. It is a Read Only Memory.

Read and write operations can be performed. Only Read operation can be performed.

Data can be lost in volatile memory when the Data cannot be lost in non-volatile memory when
power supply is turned off. the power supply is turned off.

It is a faster and expensive memory. It is a slower and less expensive memory.

Storage data requires to be refreshed in


Storage data does not need to be refreshed in ROM.
RAM.

The size of the chip is bigger than the ROM The size of the chip is smaller than the RAM chip
chip to store the data. to store the same amount of data.

Types of ROM: MROM, PROM, EPROM,


Types of RAM: DRAM and SRAM
EEPROM

Semiconductor memory

Semiconductor memory is a type of semiconductor device tasked with storing data. There are two
electronic data storage mediums that we can utilize, magnetic or optical.

55
Magnetic storage:

 Stores data in magnetic form.


 Affected by magnetic fields.
 Has high storage capacity.
 Doesn't use a laser to read/write data.
 Magnetic storage devices are; Hard disk , Floppy disk, Magnetic tape etc.

Optical storage:

 Stores data optically, uses laser to read/write.


 Not affected by magnetic fields.
 Has less storage than a hard disk.
 Data accessing is high, compared to a floppy disc.
 Optical storage devices are; CD-ROM,CD-R, CD-RW, DVD etc.

There is also volatile memory. This is memory that loses its data once power is cut off, while non-
volatile memory retains data even without power.

Semiconductor Memory Types

Figure 23: Semiconductor memory types

56
* RAM (Random Access Memory): Enables Read/Write of stored contents

* ROM (Read Only Memory): Allows only Read operation

f) Magnetic storage

Magnetic storage or magnetic recording is the storage of data on a magnetized medium.


Magnetic storage uses different patterns of magnetization in a magnetizable material to store data
and is a form of non-volatile memory. The information is accessed using one or more read/write
heads.

Magnetic storage media, primarily hard disks, are widely used to store computer data as well as
audio and video signals. In the field of computing, the term magnetic storage is preferred and in
the field of audio and video production, the term magnetic recording is more commonly used. The
distinction is less technical and more a matter of preference. Other examples of magnetic storage
media include floppy disks, magnetic recording tape, and magnetic stripes on credit cards.

1.2.4.4 Learning Activities

 The trainee is required to visit a computer lab. Identify a computer that has started to slow
down and requires a memory upgrade.
 Determine if your computer runs DDR2, DDR3 or another version by looking up your
computer or motherboard specification information.
 Open the case and insert a RAM module into a DIMM slot.
 Record the specifications of the new memory status of the computer.
Special instructions
Computers usually support only a single version of RAM, and incorrect versions will not fit in the
slot.

1.2.4.5 Self-Assessment
1. What is computer memory?
2. How do you analyze the performance of memory?

57
3. The primary memory is volatile, what does this mean?
4. Differentiate between DRAM and SRAM
5. What are some of the disadvantages of ROM?

1.2.4.6 Tools, Equipment, Supplies and Materials


Tools
1. Screw Drivers
2. Pliers
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
Materials and supplies
• Circuits
• Semiconductor materials
• Conductors e.g. copper, gold, silver
• Insulators e.g. rubber, glass, mica

1.2.4.7 References
1. Batini, C., Ceri, S., & Navathe, S. B. (1992). Conceptual database design: an Entity-
relationship approach (Vol. 116). Redwood City, CA: Benjamin/Cummings.
2. Olsen, D., & Hauser, K. (2007). Teaching Advanced SQL Skills: Text Bulk Loading. Journal
of Information Systems Education, 18(4), 399.

58
3. https://www.studytonight.com/dbms/overview-of-dbms.php(Retrieved on 30th November
2020)
4. https://www.guru99.com/dbms-tutorial.html(Retrieved on 30th November 2020)

1.2.4.8 Model answers to self-assessment


1. What is computer memory?

Computer memory is any physical device, used to store data, information or instruction
temporarily or permanently. It is the collection of storage units that stores binary information in
the form of bits.

2. How do you analyze the performance of memory?

Access Time: In random access memory, it represents the total time taken by memory devices to
perform a read or write operation that an address is sent to memory.

Memory Cycle Time: Total time required to access memory block and additional required time
before starting second access.

Transfer rate: It describes the transfer rate of data used to transmit memory to or from an external
or internal memory device. Bit transfer can be different for different external and internal devices.

3. The primary memory is volatile, what does this mean?

This means the data in memory can be lost if it is not saved when a power failure occurs. It is
costlier than secondary memory, and the main memory capacity is limited as compared to
secondary memory.

4. Differentiate between DRAM and SRAM

DRAM: DRAM (Dynamic Random-Access Memory) is a type of RAM that is used for the dynamic
storage of data in RAM. In DRAM, each cell carries one-bit information. The cell is made up of
two parts: a capacitor and a transistor. SRAM: SRMA (Static Random-Access Memory) is a type
of RAM used to store static data in the memory. It means to store data in SRAM remains active as

59
long as the computer system has a power supply. However, data is lost in SRAM when power
failures have occurred.

5. What are some of the disadvantages of ROM?

 Store data cannot be updated or modify except to read the existing data.
 It is a slower memory than RAM to access the stored data.
 It takes around 40 minutes to destroy the existing data using the high charge of ultraviolet
light.

60
1.2.5 Learning Outcome 5: Apply Number Systems and binary coding

1.2.5.1 Introduction to the learning outcome


This learning outcome covers definition of number system and binary code, types of number
systems, base conversion and binary arithmetic including addition, subtraction, multiplication and
division. The learning outcome further covers Binary codes, representing decimal numbers in BCD
and BCD arithmetic.

1.2.5.2 Performance Standard


1. Types of number systems are identified
2. Base conversion is done
3. Binary arithmetic operations are done
4. Binary codes are identified
5. Representation of decimals in BCD is done
6. BCD arithmetic are performed

1.2.5.3 Information Sheet


a) Definition of Number System and Binary Code

A number system is defined as a system of writing to express numbers. It is the mathematical


notation for representing numbers of a given set by using digits or other symbols in a consistent
manner. It provides a unique representation of every number and represents the arithmetic and
algebraic structure of the figures. It also allows us to operate arithmetic operations like addition,
subtraction and division.

The value of any digit in a number can be determined by:

 The digit
 Its position in the number
 The base of the number system

61
b) Types of Number System

There are various types of number system in mathematics. The four most common number system
types are:

1. Decimal number system (Base- 10)


2. Binary number system (Base- 2)
3. Octal number system (Base-8)
4. Hexadecimal number system (Base- 16)

c) Decimal Number System (Base 10 Number System)

Decimal number system has base 10 because it uses ten digits from 0 to 9. In the decimal number
system, the positions successive to the left of the decimal point represent units, tens, hundreds,
thousands and so on. This system is expressed in decimal numbers.

Every position shows a particular power of the base (10). For example, the decimal number 1457
consists of the digit 7 in the units position, 5 in the tens place, 4 in the hundreds position, and 1 in
the thousands place whose value can be written as

(1×103) + (4×102) + (5×101) + (7×100)

(1×1000) + (4×100) + (5×10) + (7×1)

1000 + 400 + 50 + 7

1457

d) Binary Number System (Base 2 Number System)

The base 2 number system is also known as the Binary number system wherein, only two binary
digits exist, i.e., 0 and 1. Specifically, the usual base-2 is a radix of 2. The figures described under
this system are known as binary numbers which are the combination of 0 and 1. For example,
110101 is a binary number.

62
We can convert any system into binary and vice versa.

Example

Write (14)10 as a binary number.

Solution:

Figure 24: Base 2 Number System Example

∴ (14)10 = 11102

e) Octal Number System (Base 8 Number System)

In the octal number system, the base is 8 and it uses numbers from 0 to 7 to represent numbers.
Octal numbers are commonly used in computer applications. Converting an octal number to
decimal is the same as decimal conversion and is explained below using an example.

Example: Convert 2158 into decimal.

Solution:

63
2158 = 2 × 82 + 1 × 81 + 5 × 80

= 2 × 64 + 1 × 8 + 5 × 1

= 128 + 8 + 5

= 14110

f) Hexadecimal Number System (Base 16 Number System)

In the hexadecimal system, numbers are written or represented with base 16. In the hex system,
the numbers are first represented just like in decimal system, i.e. from 0 to 9. Then, the numbers
are represented using the alphabets from A to F. The below-given table shows the representation
of numbers in the hexadecimal number system.

Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

g) Number System Conversion (Base Conversion)

As we know, the number system is a form of expressing the numbers. In number system
conversion, we will study to convert a number of one base, to a number of another base. There
are a variety of number systems such as binary numbers, decimal numbers, hexadecimal numbers,
octal numbers, which can be exercised.

In this article, you will learn the conversion of one base number to another base number
considering all the base numbers such as decimal, binary, octal and hexadecimal with the help of
examples. Here, the following number system conversion methods are explained.

 Binary to Decimal Number System


 Decimal to Binary Number System

64
 Octal to Binary Number System
 Binary to Octal Number System
 Binary to Hexadecimal Number System
 Hexadecimal to Binary Number System

The general representation of number systems are;

Decimal Number – Base 10 – N10

Binary Number – Base 2 – N2

Octal Number – Base 8 – N8

Hexadecimal Number – Base 16 – N16

Table 6: Number System Conversion Table

Binary Numbers Octal Numbers Decimal Numbers Hexadecimal Numbers

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 A

1011 13 11 B

65
1100 14 12 C

1101 15 13 D

1110 16 14 E

1111 17 15 F

h) Number System Conversion Methods

Number system conversions deal with the operations to change the base of the numbers. For
example, to change a decimal number with base 10 to binary number with base 2. We can also
perform the arithmetic operations like addition, subtraction, multiplication on the number system.
Here, we will learn the methods to convert the number of one base to the number of another base
starting with the decimal number system. The representation of number system base conversion in
general form for any base number is;

(Number)b = dn-1 dn-2—–.d1 d0 . d-1 d-2 —- d-m

In the above expression, dn-1 dn-2—–.d1 d0 represents the value of integer part and d-1 d-2 —- d-m
represents the fractional part.

Also, dn-1 is the Most significant bit (MSB) and d-m is the Least significant bit (LSB).

Now let us learn, conversion from one base to another.

Decimal to Other Bases

Converting a decimal number to other base numbers is easy. We have to divide the decimal number
by the converted value of the new base.

Decimal to Binary Number:

Suppose if we have to convert decimal to binary, then divide the decimal number by 2.

Example 1. Convert (25)10 to binary number.

66
Solution: Let us create a table based on this question.

Operation Output Remainder

25 ÷ 2 12 1(MSB)

12 ÷ 2` 6 0

6÷2 3 0

3÷2 1 1

1÷2 0 1(LSB)

Therefore, from the above table, we can write,

(25)10 = (11001)2

Decimal to Octal Number:

To convert decimal to octal number we have to divide the given original number by 8 such that
base 10 changes to base 8. Let us understand with the help of an example.

Example 2: Convert 12810 to octal number.

Solution: Let us represent the conversion in tabular form.

Operation Output Remainder

128÷8 16 0(MSB)

16÷8 2 0

2÷8 0 2(LSB)

Therefore, the equivalent octal number = 2008

Decimal to Hexadecimal:

Again in decimal to hex conversion, we have to divide the given decimal number by 16.

67
Example 3: Convert 12810 to hex.

Solution: As per the method, we can create a table;

Operation Output Remainder

128÷16 8 0(MSB)

8÷16 0 8(LSB)

Therefore, the equivalent hexadecimal number is 8016

Here MSB stands for a most significant bit and LSB stands for a least significant bit.

Other Base System to Decimal Conversion

Binary to Decimal:

In this conversion, binary number to a decimal number, we use multiplication method, in such a
way that, if a number with base n has to be converted into a number with base 10, then each digit
of the given number is multiplied from MSB to LSB with reducing the power of the base. Let us
understand this conversion with the help of an example.

Example 1. Convert (1101)2 into a decimal number.

Solution: Given a binary number (1101)2.

Now, multiplying each digit from MSB to LSB with reducing the power of the base number 2.

1 × 2 3 + 1 × 22 + 0 × 2 1 + 1 × 20

=8+4+0+1

= 13

Therefore, (1101)2 = (13)10

68
Octal to Decimal:

To convert octal to decimal, we multiply the digits of octal number with decreasing power of the
base number 8, starting from MSB to LSB and then add them all together.

Example 2: Convert 228 to decimal number.

Solution: Given, 228

2 x 8 1 + 2 x 80

= 16 + 2

= 18

Therefore, 228 = 1810

Hexadecimal to Decimal:

Example 3: Convert 12116 to decimal number.

Solution: 1 x 162 + 2 x 161 + 1 x 160

= 16 x 16 + 2 x 16 + 1 x 1

= 289

Therefore, 12116 = 28910

Hexadecimal to Binary Shortcut Method

To convert hexadecimal numbers to binary and vice versa is easy, you just have to memorize the
table given below.

Table 7: Hexadecimal to Binary

69
Hexadecimal Number Binary

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

A 1010

B 1011

C 1100

D 1101

E 1110

F 1111

You can easily solve the problems based on hexadecimal and binary conversions with the help of
this table. Let us take an example.

Example: Convert (89)16 into a binary number.

Solution: From the table, we can get the binary value of 8 and 9, hexadecimal base numbers.

8 = 1000 and 9 = 1001

Therefore, (89)16 = (10001001)2

70
Octal to Binary Shortcut Method

To convert octal to binary number, we can simply use the table. Just like having a table for
hexadecimal and its equivalent binary, in the same way, we have a table for octal and its equivalent
binary number.

Table 8: Octal to Binary

Octal Number Binary

0 000

1 001

2 010

3 011

4 100

5 101

6 110

7 111

Example: Convert (214)8 into a binary number.

Solution: From the table, we know,

2 → 010

1 → 001

4 → 100

Therefore,(214)8 = (010001100)2

i) Binary Arithmetic

71
Binary arithmetic is used in digital systems mainly because the numbers (decimal and floating-
point numbers) are stored in binary format in most computer systems. All arithmetic operations
such as addition, subtraction, multiplication, and division are done in binary representation of
numbers. It is necessary to understand the binary number representation to figure out binary
arithmetic in digital computers.

In most ALU (arithmetic logic unit) hardware, the operated numbers are stored in a fixed number
of bits, a typical value between 6 and 16 decimal digits. Therefore, there is a precision limit or
precision error performing binary arithmetic on computers. This binary arithmetic is called fixed-
precision arithmetic. This contrasts to arbitrary-precision arithmetic, such as Java BigInteger, a
technique that calculations are performed on numbers whose precision is only dependent on the
amount of memory available in the system. In other words, a number could occupy memory space
as large as possible if there is a need for higher precision. We will focus on fixed-precision
arithmetic from now on.

Since the precision of numbers stored in the computer is fixed, the size of numbers is fixed and
determined when the computer is built. A common integer size found in computer systems is 8,
16, 32, and 64 bits. Once the computer is built, the size of numbers is fixed and may not be changed.
Therefore, as a programmer who develops computer programs running on the computer
architecture, it makes sense to know what the precision limit is for the underlying architecture.
This way some precision errors such as rounding error may be avoided. For example, in integer
precision is equal to not . If is expected, the program has to be rewritten in a way to take care of
the precision. To remedy this, most programming languages offer type conversions. To get in the
previous example, simply rewrite it as . The will tell a compiler to allows float point space for it
and assign floating point arithmetic, instead of integer arithmetic.

We will discuss binary arithmetic from the logic design perspective in the following sections. Quite
often that there are more than one logic design for a binary operation, a “better one” is always a
best choice. The better one means the complexity is manageable and the logic circuit is simple. In
hardware domain, simply is good and simply normally leads to better performance.

j) Finite Precision Arithmetic


72
Consider operations are limited to 2-digit non-negative decimal integers. So the numbers are 0, 1,
2, …, 99, and denoted as . The result of an operation among the numbers has to be in the set .
Otherwise, the operation is invalid. There a valid operation is defined as follows.

, where , and is an operator.

So a valid operation will map two numbers in the set to another number in the set. The operator
can be addition, subtraction, multiplication, division, and the like. Taking addition as an example,
is a valid operation because the result is still in the set. However, is not, because the result is not
in the set and only 00 is. In a more precise way, a valid addition over the set is as follows.

where and .

Since are non-negative, the result of adding and is also non-negative. Thus, we only need to limit
the result to be less than 100. So it is still in the set .

Another concern is the carry. In the 2-digit non-negative decimal system, adding the first digit of
two numbers may be larger than 9, say . In that case we write down as the result for this position,
and keep one as the carry for the next position (to the left). Table 1 illustrates a decimal addition
example of .

Table 9: An Example of Carry for a Decimal Addition

Carry 1

34

+ 18

52

Addition

In the binary numeral system, the symbol set is composed of 0 and 1. A positional binary number
is a sequence of 0’s and 1’s. Given an -bit binary number, , the leftmost bit is called most significant
73
bit (MSB) because its weight is , and the rightmost bit is called least significant bit (LSB) for the
reason that it only weights . Once the binary numbers are lined up with their weights, i.e. powers
of 2, they may be operated just like the decimal arithmetic. It makes no difference when numbers
in another format such as hexadecimal are operated. Consider a 4-bit non-negative numeral system.
There are numbers from to , i.e., decimal to . So, any valid operation among these numbers should
result in one of them. Also, the carry mechanism works similar to the decimal addition. For
example, Table 2 shows an example of carry for a binary addition. Compared to the decimal carry,
the binary carry will “carry” 2 from the first position over the second position. In the addition case,
the only possible carry occurs when both operands are 1, i.e., with carry 1.

Table 10: An Example of Carry for a Binary Addition


Carry 11

0 0 1 1 In the first position:

+ 0101

1000

In general, the carry mechanism applies to other numeral systems such as octal and hexadecimal.
The value of carry in additions is always one. The number we write down for this position is
calculated by , where is the sum of the two numbers, and is the radix or the base. The value of
carry could be larger than one in cases such as multiplication. Table 3 shows an example of carry
for an octal addition whereas Table 4 gives an example of carry for a hexadecimal addition.

Table 11: An Example of Carry for an Octal Addition

Carry 1

1 2 3 In the first position:

+ 149

274

74
Table 12: An Example of Carry for an Hexadecimal Addition

Carry 1

A B C In the first position:

+ 1 2 5

BE1

Hardware Adder

Since numbers stored in computers are in binary format, a hardware adder is built based on binary
inputs. Recall that when adding two binary digits in each position, a carry may be generated, which
is then added in the position to the left. Based on this observation, a -bit hardware adder is built
upon one-bit adders, each of which is taken care of the one-bit addition for one position. Therefore,
we should build the one-bit adder first and combine of them together to perform -bit addition.

In hardware design, a very first and important step is find out what inputs and output are, and what
their relations are? The inputs to the one-bit adder are one bit, say , from one operand, one bit, say
, from another, and don’t forget one carry bit, say , from the previous position. The outputs are
obviously the sum, say , and the carry bit, say . With the inputs and outputs ready, the next step is
find out their relations. The following truth table (Table 5) shows the relations. The truth table is
built based on the binary arithmetic that , with carry 1, and with carry 1.

Table 13: The Truth Table of One-Bit Adder

input input input output output

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

75
1 1 0 0 1

1 1 1 1 1

Subtraction

Subtracting a number from another is equivalent to adding a negative number. In binary arithmetic,
we first apply two’s complement to the subtrahend, and then add the two’s complement of the
subtrahend to the minuend. The result will be the difference.

Table 14: An Example of Subtracting 3 from 7 Using Two's Complement Addition

Carry 1 111

Minuend 0111 0111

Subtrahend - 0 0 1 1 + 1 1 0 1

Difference 0100

Using two’s complement for subtraction greatly simplifies the computer design as we only need
to build a hardware adder for both addition and subtraction. Note that the negative 2 is stored in
its two’s complement format in memory. So there is no need to build a special hardware circuit for
the conversion. Also, the most significant bit (MSB) yields a carry, which can be safely ignored
because adding two numbers of different signs will cause any overflow.

Multiplication

Binary multiplication is similar to decimal multiplication, and in fact, the binary one is much easier
than the decimal one. Let’s revisit the multiplication technique learnt from elementary schools.
Table 8 shows the technique to multiply 1234 by 4321. Observe that each time the multiplicand is
76
multiplied by a digit of the multiplier, and the partial product is written down in line with the
multiplier digit. The product is obtained by adding up all the partial products. Note that the number
of digits for the product should be the sum of the numbers of the multiplicand digits and multiplier
digits. In the previous example, the number of the product digits is 7. Should there were a carry at
the leftmost digit, the total number of the product digits is 8. The doubled size is normally
considered in computer design. In a typical CPU, multiplication is done by a special hardware
circuit not in the ALU. There may have several hardware multipliers for fast computation.

Table 15: An Example of Decimal Multiplication

1 2 3 4 Multiplicand

4 3 2 1 Multiplier

1234

2468

3702

4936

5 3 3 2 1 1 4 Product

In the binary case, the same multiplication technique applies. Let’s take a look at an example, and
observe how a hardware multiplier can be implemented. Table 9 illustrates an example of binary
multiplication. Observe that the rows with an arrow () are identical to the multiplicand, and the
rest are all zeros. Also, the non-zero rows are from the one’s digits of the multiplier. When adding
up the partial products (all equal to the multiplicand), they only shift left a number of positions
according where the multiplier digit is.

Table 16: An Example of Binary Multiplication

1 0 1 1 Multiplicand

0 1 0 1 Multiplier

1011

0000

77
1 0 1 1 Multiplicand

1011

0000

0 1 1 0 1 1 1 Product

With the above observation, a hardware multiplier is designed based on an adder and two shifters.
The adder is used to add partial products, whereas the shifters are used to shift the multiplicand
left at a time after a corresponding bit in the multiplier is checked, and shift right the multiplier.
The figure illustrates the flowchart of the hardware multiplication algorithm. In this algorithm,
there are three registers, one for the multiplicand, one for the multiplier, and one for the product.
The registers for the multiplicand and multiplier are shift registers. The multiplicand register will
shift left whereas the multiplier register will shift right in each iteration. If the size of the multiplier
is bits, the size of the multiplier register needs only bits. However, the registers for the product and
the multiplicand will have to have bits, simply because the shift left operation for the multiplicand
register and the potential space need for the product. These requirements can be improved if we
instead shift the product to the right.

78
Figure 25: The Flowchart of a Hardware Binary Multiplication Algorithm

In the improved version shown in the above figure, instead of shifting multiplicand left, the product
register is shifted to the right in each iteration. Thus, the shift register for the multiplicand is saved.
However, the adder that adds the multiplicand the partial product will have to store the result to
the high half bits. Compared to the previous version, the improved version requires less hardware
resource and should perform better based on the rule of thumb that “the less, the better” in hardware
design.

79
Figure 26: Improved Version of a Hardware MultiplierA

Division

With the experience learnt from the hardware multiplier design in the previous section, binary
division works similarly. Let’s start with an example of long division using the technique from the
elementary school. Table 10 illustrates the long division for divided by . In decimal, it is 178
divided by 10. The quotient is 17 and the remainder is 8. We call 178 the dividend and 10 the
divisor.

80
Table 17: An Example of Binary Division Based on Traditional Long Division

10001 Quotient

Divisor 1 0 1 0 ) 1 0 1 1 0 0 1 0 Dividend

1010

0010

0000

0100

0000

1001

0000 *

10010

1010

1 0 0 0 Remainder

The binary long division is easier than its decimal version because there are only two choices (0
or 1) when we guess the quotient digits in each iteration. If the first digit of the dividend portion
is 0, the quotient digit will be 0. However, if the first digit of the dividend portion is 1, the quotient
digit could be either 1 or 0. In the example shown in Table 10, most of the time the quotient digit
is 1 when the first digit of the dividend portion is 1. In the row with an asterisk, however, selecting
1 as the quotient digit will be wrong because the divisor is larger than the dividend portion. In that
case,, the result after subtraction will be , i.e., , because the dividend is 10 but the dividend portion
is 9 in decimal. Therefore, selecting quotient digit equal to the first digit of the dividend portion
may fail.

In order to take care of the failure case, we need to validate the result of the subtraction in each
iteration. Assume both the dividend and the divisor are positive. The quotient and the remainder
are non-negative. The result of each subtraction should be non-negative. If the result is negative,
the quotient digit should be 0 and the dividend portion should remain the same. In the previous

81
example, the row with an asterisk, the subtraction result is. The quotient digit should be 0 and the
dividend portion should be restored back to not.

So the binary division algorithm is similar to that of the binary multiplication. The divisor is stored
in a shift register, and it is shifted to the right in each iteration. Each time we only got one bit for
the quotient, to keep the quotient bits, we can append one bit to the LSB of the quotient register
and shift it to the left in each iteration. So a shift register is needed for the quotient. The subtraction
can be implemented using an adder by converting the subtrahend to its two’s complement. Figure
4 shows the flowchart of the algorithm.

In the binary division algorithm shown in Figure 4, two shift registers are needed. One is for the
divisor and the other is for the quotient. Their length is as long as that of the dividend. Including a
register for the dividend, there are totally 3 registers. Although the first bit of the dividend portion
may not be equal to the quotient bit, the subtraction result serves as a correct decision. If the
subtraction result is non-negative, the quotient bit is 1, and the subtraction result is used to update
the dividend. On the other hand, if the subtraction result is negative, the dividend remains intact.
Note that the operation that adding one to the quotient can be integrated to the shifter for the
quotient. A normal shift left operation will put zero the LSB. We could just append one while
shifting the quotient register left.

82
Figure 27: Flowchart of a Binary Division Algorithm

k) Commonly used Binary Codes

83
Before going into the details of individual binary codes, let us quickly take a look at some of the
commonly used Binary Codes. The following is the list:

 8421 Codes
 2421 Codes
 5211 Codes
 Excess-3 Codes
 Gray Codes

In the above list, the first three i.e. 8421, 2421 and 5211 are Weighted codes while the other two
are non-weighted binary codes.

Weighted Binary Systems

The values assigned to consecutive places in the decimal system which is a place value system are
10⁴, 10³, 10², 10¹, 10⁰, 10⁻¹, 10⁻², 10⁻³… from left to right. It is easily can be understood that the
weight of digit of the decimal system is ‘10’.

For example (3546.25)₁₀ = 3 x 10³ + 5 x 10² + 4 x 10¹ + 6 x 10⁰ + 2 x 10⁻¹ + 5 x 10⁻²

In the same way the values assigned to consecutive places in the binary system which is also a
place value system, but called as weighted binary system are 2⁴, 2³, 2², 2¹, 2⁰, 2⁻¹, 2⁻², 2⁻³… from
left to right. It is easily can be understood that the weight of digit of the binary system is ‘2’.

For example : (1110110)₂ = 1 x 2⁶+ 1 x 2⁵ + 1 x 2⁴ + 0 x 2³ + 1 x 2² + 1 x 2¹ + 0 x 2⁰

= 64 + 32 + 16 + 0 + 4 + 2 + 0 = (118)10

Binary Weights

Whenever any binary number appears, its decimal equivalent can be found easily as follows.

 When there is 1 in a digit position, weight of that position should be added.


 When there is 0 in a digit position, weight of that position should be disregarded.

84
For example binary number 1100 has a decimal equivalent of 8 + 4 + 0 + 0 = 12.

8421 Code or BCD Code

Represent Decimal numbers in Binary code

The decimal numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 can be expressed in Binary numbers as shown


below. All these binary numbers again expressed in the last column by expanding into 4 bits. As
per the weighted binary digits, the 4 Bit binary numbers can be expressed according to their place
value from left to right as 8421 (2³ 2² 2¹ 2⁰ = 8421).

Table 18: Decimal to Binary code

Decimal Number Binary Number 4 BIT Expression(8421)

0 0 0000

1 1 0001

2 10 0010

3 11 0011

4 100 0100

5 101 0101

6 110 0110

7 111 0111

8 1000 1000

9 1001 1001

As per the above expression all the decimal numbers written in the 4 Bit binary code in the form
of 8421 and this is called as 8421 Code and also as Binary coded decimal BCD.

As this is a straight code, any Decimal number can be expressed easily because the weights of the
positions are straight for easy conversion into this 8421 code.

85
There are other forms of codes which are not so popular but rather confusing. They are 2421 code,
5211 code, reflective code, sequential code, non- weighted coded, excess-3 code and Grey code.
They are having their own importance for some of the exclusive applications and may be useful
for some of the typical applications.

2421 Code

This code also a 4 bit application code where the binary weights carry 2, 4, 2, 1 from left to right.

Table 19:2421 code

Decimal Number Binary Number 2421 Code

0 0 0000

1 1 0001

2 10 0010

3 11 0011

4 100 0100

5 101 1011

6 110 1100

7 111 1101

8 1000 1110

9 1001 1111

5211 Code

This code is also a 4 bit application code where the binary weights carry 5, 4, 2, 1 from left to
right.

86
Table 20: 5211 code

Decimal Number Binary Number 5211 Code

0 0 0000

1 1 0001

2 10 0011

3 11 0101

4 100 0111

5 101 1000

6 110 1010

7 111 1100

8 1000 1110

9 1001 1111

Reflective Code

It can be observed that in the 2421 and 5211 codes, the code for decimal 9 is the complement of
the code for decimal 0, the code for decimal 8 is the complement of the code for decimal 1, the
code for decimal 7 is the complement of the code for decimal 2, the code for decimal 6 is the
complement of the code for decimal 3, the code for decimal 5 is the complement of the code for
decimal 4, these codes are called as reflexive codes. The same can be observed in the following
table:

Table 21: Reflective code

Decimal Number Decimal Number 2421 Code 5211 Code

0 0 0000 0000

1 1 0001 0001

2 10 0010 0011

3 11 0011 0101

87
Decimal Number Decimal Number 2421 Code 5211 Code

4 100 0100 0111

5 101 1011 1000

6 110 1100 1010

7 111 1101 1100

8 1000 1110 1110

9 1001 1111 1111

8421 code is not a reflective code.

Sequential Codes

Sequential codes are the codes in which 2 subsequent numbers in binary representation differ by
only one digit. The 8421 and Excess-3 codes are examples of sequential codes. 2421 and 5211
codes do not come under sequential codes.

Table 22: Sequential code

Decimal Number Binary Number 8421 Code Excess-3

0 0 0000 0011

1 1 0001 0100

2 10 0010 0101

3 11 0011 0110

4 100 100 0111

5 101 0101 1000

6 110 0110 1001

7 111 0111 1010

8 1000 1000 1011

9 1001 1001 1100

88
Non-Weighted Codes

Some of the codes will not follow the weights of the sequence binary numbers these are called as
non-weighted codes. ASCII code and Grey code are some of the examples where they are coded
for some special purpose applications and they do not follow the weighted binary number
calculations.

Excess-3 Code

As mentioned above, some of the codes will not follow the binary weights, Excee-3 code is an
example of it and it is an important 4 bit code. The excess – 3 code of a decimal number is achieved
by adding the number 3 to the 8421 code.

For example to convert 15 to an excess-3 code, first 3 to be added to each digit as shown below.

Excess -3 Code Examples

1. Find the excess-3 code of (237.75)10


2. Find the decimal number of excess-3 number 110010100011.01110101.

Sol:

89
1) The excess-3 code for (237)10 is obtained by adding 3 to all the digits individually, that is 2, 3
an

d 7 will become 5, 6 and 10 respectively. These 5, 6 and 10 decimals have to be converted into
binary form and the result is 010101101010.

The excess-3 code for (.75)10 is obtained by replacing 7 and 5 with 10 and 8 respectively by adding
3 to each digit. That is, the excess-3 code for (.75) ₁₀ is.10101000.

Combining the results of the integral and fractional parts, the excess-3 code for (237.75)₁₀ is
010101101010.10101000.

2) The excess-3 code is 110010100011.01110101

By separating 4 bits as group the equivalent excess-3 code is given as 1100 1010 0011.0111 0101.

Subtracting 0011 from each four-bit group, we obtain the new number as: 1001 0111 0000.0100
0010.

Therefore, the decimal equivalent is (970.42)10.

Gray Code

The gray code is the code where one bit will be differed to the preceding number. For example,
decimal numbers 13 and 14 are represented by gray code numbers 1011 and 1001, these numbers
differ only in single position that is the second position from the right. In the same way first
position on the left changes for 7 and 8 which are 0100 and 1100 and this is also called Unit-
distance code. The gray code has very special place in digital electronics.

Table 23: Gray Code

Decimal Number Binary Code Gray Code

0 0000 0000

1 0001 0001

90
Decimal Number Binary Code Gray Code

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

13 1101 1011

14 1110 1001

15 1111 1000

l) BCD Arithmetic

BCD Addition

Like other number system in BCD arithmetical operation may be required. BCD is a numerical
code which has several rules for addition. The rules are given below in three steps with an example
to make the idea of BCD Addition clear.

91
1. At first the given number are to be added using the rule of binary. For example,

2. In second step we have to judge the result of addition. Here two cases are shown to describe
the rules of BCD Addition. In case 1 the result of addition of two binary number is greater
than 9, which is not valid for BCD number. But the result of addition in case 2 is less than 9,
which is valid for BCD numbers.
3. If the four bit result of addition is greater than 9 and if a carry bit is present in the result then it
is invalid and we have to add 6 whose binary equivalent is (0110) 2 to the result of addition.
Then the resultant that we would get will be a valid binary coded number. In case 1 the result
was (1111)2, which is greater than 9 so we have to add 6 or (0110)2 to it.

As you can see the result is valid in BCD.


But in case 2 the result was already valid BCD, so there is no need to add 6. This is how BCD
Addition could be.
Now a question may arrive that why 6 is being added to the addition result in case BCD Addition
instead of any other numbers. It is done to skip the six invalid states of binary coded decimal i.e
from 10 to 15 and again return to the BCD codes.
Now the idea of BCD Addition can be cleared from two more examples.
Example:1
Let, 0101 is added with 0110.
92
Check your self.

Example:2
Now let 0001 0011 is added to 0010 0110.

So no need to add 6 as because both are less than (9)10.


This is the process of BCD Addition.

BCD Subtraction

There are several methods of BCD Subtraction. BCD subtraction can be done by 1’s compliment
method and 9’s compliment method or 10’s compliment method. Among all these methods 9’s
compliment method or 10’s compliment method is the most easiest. We will clear our idea on both
the methods of BCD Subtraction.

Method of BCD Subtraction: 1

93
In 1st method we will do BCD Subtraction by 1’s compliment method. There are several steps
for this method shown below. They are:-

1. At first 1’s compliment of the subtrahend is done.


2. Then the complimented subtrahend is added to the other number from which the subtraction is
to be done. This is called adder 1.
3. Now in BCD Subtraction there is a term ‘EAC(end-around-carry)’. If there is a carry i.e if EAC
= 1 the result of the subtraction is +ve and if EAC = 0 then the result is –ve. A table shown
below gives the rules of EAC.

carry of
EAC = 1 EAC = 0
individual groups
Transfer real result of adder 1 Transfer 1’s compliment result of
1
and add 0000 in adder 2 adder 1 and add 1010 in adder 2
Transfer real result of adder 1 Transfer 1’s compliment result of
0
and add 1010 in adder 2 adder 1 and add 0000 to adder 2

4. In the final result if any carry bit occurs the it will be ignored.

Examples given below would make the idea clear of BCD Subtraction.

Example: – 1
In this example 0010 0001 0110 is subtracted from 0101 0100 0001.

 At first 1’s compliment of the subtrahend is done, which is 1101 1110 1001 and is added to
0101 0100 0001. This step is called adder 1.
 Now after addition if any carry occurs then it will be added to the next group of numbers
towards MSB. Then EAC will be examined. Here, EAC = 1. So the result of addition is positive
and true result of adder 1 will be transferred to adder 2.
 Now notice from LSB. There are three groups of four bit numbers. 1010 is added 1011 which
is the first group of numbers because it do not have any carry. The result of the addition is the
final answer.

94
 Carry 1 will be ignored as it is from the rule.
 Now move to the next group of numbers. 0000 is added to 0010 and gives the result 0010. It
is the final result again.
 Now again move to the next group here 0000 is also added to 0011 to give the final result 0011.
 You may have noticed that in this two groups 0000 is added, because result of first adder do
not contain any carry. Thus the results of the adder 2 is the final result of BCD Subtraction.

Therefore,
Now you can check yourself.

We know that 541 − 216 = 325, Thus we can say that our result of BCD Subtraction is correct.

Example: – 2
In this example let 0101 0001 be subtracted from 0100 1001.

95
 As per rule firstly 1’s compliment of the subtrahend is done. Then the addition is done and the
result is checked. Here EAC = 0, so the overall result will be –ve.
 Now see the result of adder 1 from LSB. 1’s compliment value of 0111 is transferred to adder
2 and it is added with 1010 since no carry is added with it as per the rule. The answer is the
final result.
 Now move to the next result of adder 1 i.e 1110. Here 1 is added to it which is the carry of the
previous result. Then it’ value is 1’s complimented i.e 0000 and it is added to 0000. Result of
adder 2 is the final result. This is the final result of BCD Subtraction.

 Now you can again check yourself. Decimal equivalent of the given numbers of subtraction is
49 and 51. Therefore 49 -51 = -2. So our result is correct.

Method of BCD Subtraction: 2

In 2nd method we will do BCD subtraction in 9’s compliment method.

 Here the method is very simple. At first the decimal equivalent of the given Binary Coded
Decimal (BCD) codes are found out.
96
 Then the 9’s compliment of the subtrahend is done and then that result is added to the number
from which the subtraction is to be done.
 If there is any carry bit then the carry bit may be added to the result of the subtraction.

Idea may be cleared from an example given below.


Let (0101 0001) − (0010 0001) be the given subtraction.

 As we can see 51 and 21 are the decimal value of the given BCD codes. Then the 9’s
compliment of the subtrahend is done i.e 99 − 21 = 78.
 This complimented value is added with the 51. i.e 51 + 78 = 129.
 In this result the MSB i.e 1 is the carry. This carry will be added to 29. Therefore 29 + 1 = 30,
which is the final answer of BCD Subtraction.
 The decimal result will be changed into BCD codes to get the result in BCD. Therefore from
the example we can conclude the final result of BCD Subtraction i.e

97
Binary Coded Decimal Subtraction using 10’s compliment is same as in case of 9’s compliment,
here the only difference is that instead of 9’s compliment we have to do 10’s compliment of the
subtrahend.

1.2.5.4 Learning Activities

 The trainee is required to design the flowchart of a Hardware Binary Multiplication Algorithm.
In the design, instead of shifting multiplicand left, the product register should be shifted to the
right in each iteration. Thus, the shift register for the multiplicand is saved. However, the adder
that adds the multiplicand the partial product will have to store the result to the high half bits.
 Further, the trainee is required to design an improved version that requires less hardware
resource and should perform better based on the rule of thumb that “the less, the better” in
hardware design.

1.2.5.5 Self-Assessment
98
1. What is Number System and its Types?
2. Why is the Number System Important?
3. What is Base 1 Number System Called?
4. Convert 2158 into decimal.

1.2.5.6 Tools, Equipment, Supplies and Materials


Tools
1. Screw Drivers
2. Pliers
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
Materials and supplies
• Circuits
• Semiconductor materials
• Conductors e.g. copper, gold, silver
• Insulators e.g. rubber, glass, mica

1.2.5.7 References
1. Arnold, B. H. (2011). Logic and Boolean algebra. Courier Corporation.
2. Brown, F. M. (2012). Boolean reasoning: the logic of Boolean equations. Springer Science
& Business Media.

99
3. Whitesitt, J. E. (2012). Boolean algebra and its applications. Courier Corporation.
4. Laita, L. M. (1980). Boolean algebra and its extra-logical sources: the testimony of Mary
Everest Boole. History and Philosophy of logic, 1(1-2), 37-60.

1.2.5.8 Model answers to Self-Assessment

1. What is Number System and its Types?


The number system is simply a system to represent or express numbers. There are various types
of number systems and the most commonly used ones are decimal number system, binary
number system, octal number system, and hexadecimal number system.
2. Why is the Number System Important?
Number system helps to represent numbers in a small symbol set. Computers, in general, use
binary numbers 0 and 1 to keep the calculations simple and to keep the amount of necessary
circuitry less, which results in the least amount of space, energy consumption and cost.
3. What is Base 1 Number System Called?
Base 1 number system is called the unary numeral system and is the simplest numeral system
to represent natural numbers.
4. Convert 2158 into decimal.
Solution:
2158 = 2 × 82 + 1 × 81 + 5 × 80
= 2 × 64 + 1 × 8 + 5 × 1
= 128 + 8 + 5
= 14110

100
1.2.6 Learning Outcome 6: Emerging trends in electronics
1.2.6.1 Introduction to the learning outcome
This learning outcome covers description of emerging trends, explanation of challenges of
emerging trends and how to cope with the emerging trends.

1.2.6.2 Performance Standard


1. Description of emerging trends is done
2. Challenges of emerging trends are explained
3. Explanation on coping with the emerging trends is done

1.2.6.3 Information Sheet


Emerging trends in Electronics

Since the time the “electronic revolution” hit the telecommunication industry, the competition in
the field has exponentially increased leading to furious investment and innovation, helping to give
rise to the digital economy. The digital economy supported the development of many electronic
appliances such as smart phones, watches, TVs, refrigerators, security systems, and of course,
environmentally friendly electric vehicles.

According to the latest report Electrical and Electronic Manufacturing Market Briefing 2017 from
The Business Research Company (TBRC), the global electrical and electronics manufacturing
market is expected to reach $3 trillion by 2020, with Asia Pacific as the largest market by
geographic region and China the biggest market by country. India is expected to grow at a heady
16.8% growth rate. Apart from providing market segmentation and growth by region and by
country, the report also covers the top five trends in the electronics industry in the coming five-
year forecast period.

1. Product Design Outsourcing

Original Equipment Manufacturers (OEMs) are increasingly moving product design and
development processes to Electronic Manufacturing Service (EMS) partners. Product design, a

101
part of the specialized design services market which is expected to reach $157 billion in 2020
according to TBRC, is being outsourced to reduce overall costs and shift from fixed costs to
variable costs.

EMS companies are offering more design services for sub-assemblies and finished products.
OEMS are collaborating with EMS partners and moving into new models such as joint design
manufacturing (JDM) and outsourced design manufacturing (ODM).

2. Virtual Reality in Electronic Manufacturing

Virtual reality technology is being adopted by electronic manufacturing companies to improve


manufacturing efficiency. This technology in the electronic manufacturing industry is often
referred to as digital design, simulation, and integration. Virtual reality technology enables
companies to inspect design objects at all conceivable scales, thereby eliminating defects in the
product in the design stage. Taking into account the growth rate of electronic equipment market
globally, which is 5.2% according to TBRC, virtual reality has a big implementation scope in the
forecast period.

3. Robotics and Automation

Many electronic equipment companies are using robotics and automation to improve plant
efficiency and productivity. Sensors are being used in various machines to access invaluable data
for improving efficiencies and reducing potential breakdowns. For instance, according to a report
by Boston Consulting Group (BCG) in 2016, 1.2 million industrial robots are expected to be
deployed by 2025, while the electronic equipment is expected to reach $2.1 trillion by 2020
according to TBRC, thus indicating a rise in automation and robotics technology adoption to
improve productivity and reduce production costs.

4. IoT Technology Driving Smart Household Appliances

Household appliance manufacturers are integrating their products with the IoT technology to make
customers lives comfortable and convenient. Internet of Things technology is the interconnectivity
of physical objects and devices that are integrated with sensors and software that allow them to
102
exchange and collect data. Major technologies enabling smart household appliances include Wi-
Fi, Bluetooth Low Energy, micro server and micro-electromechanical systems.

For instance, LG has created homechat, an app that enables the user to monitor their refrigerators,
cookers, washing machines, and other devices from anywhere through their smart phones. The
homechat technology was introduced by LG initially in South Korea and is moving to other global
markets gradually.

According to report by IHS, the global smart connected electronics shipments is estimated to reach
over 223 million by 2020, while the overall market of household appliances is expected to hit $471
million according to TBRC.

5. Growing Demand for Smart TVs

The demand for smart TVs is being driven by the rising consumer preference for built-in smart
functions in personal devices, and increasing internet penetration. A smart TV combines the
features of televisions and computers, and comprises a television set with integrated functions for
internet use. Smart TV users are also offered direct access to streaming services such as Netflix
and Amazon Prime Instant Video.

To capitalize on this trend, television manufacturers across the world are entering the smart TV
market. According to the IHS Technology report, 48.5% of televisions shipped globally were smart
TVs, and the number is estimated to reach 134 million by 2020, while the audio and video
equipment manufacturing market is forecast to reach $351 billion according to TBRC.

Challenges in Electronics industry

The electronics industry can be broken down into three main categories: semiconductors,
Electronics Manufacturing Services (EMS), and Original Equipment Manufacturers (OEM). To
simplify things, out of these industry subverticals, we'll focus on the challenges faced by EMS and
small to mid-sized contract manufacturers:

103
Figure 28: Electronic Manufacturing lab

1.Shrinking Operating Margins

Global competition and new innovations are driving prices down. Companies must continually
become more cost-efficient to remain profitable.

2. Complex Global Supply-Chain

More and more, companies are having to juggle internal and external resources while staying
within international standards. Issues such as traceability and compliance are increasing
operational burdens. It is not unusual for components and sub-components to embark on a journey
that touches three or more continents before reaching the end-consumer.

3. Service and Warranty Management

Leveraging the global supply-chain is putting more focus on supplier quality management. Having
a strong quality and traceability system directly affects warranty reserve and post-production
service hours.

4. Short Product Lifecycles

With quickly changing consumer tastes and preferences, EMS companies and contract
manufacturers need to have effective New Product Introduction (NPI) processes in place. Closed-
104
loop communication between sales, manufacturing, and engineering is vital to ensure product
launches hit time, volume, and quality targets.

5. Uncertain Demand

Aggregately, economic volatility and cyclical demand cause fluctuations in production. On a more
granular level, consumer preference can cause spikes in demand for an individual product or
company. Efficient lean capabilities must be in place to keep inventory aligned with demand.

6. Sustainability

Emerging regulations and standards are forcing companies to account more and more for
Corporate Social Responsibility (CSR) in decisions. E-Waste, a popular topic today, is driving
conversations about the disposal of products and their impact on the environment. Companies must
now consider of the complete product lifecycle in decisions.

How to cope with the emerging challenges

As manufacturing processes get ever leaner, and customer expectations get more demanding,
maintaining an agile and transparent electronics manufacturing supply chain has never been more
important.

Being open to the benefits of new digital technologies will be essential for manufacturers who
want to safeguard their supply chains, maintain the efficiency of their production processes and
guarantee on-time delivery.

Harnessing the real-time analytics potential of Big Data for example, can enable companies to
filter, organize and make sense of large amounts of information to support their supply chain
strategies.

The threat of cyber-attacks continues to be a growing concern for the electronics manufacturing
industry.

105
And a 2018 report from Supply Chain Insights provided a compelling overview - with cyber-crime
being listed as one of the top three events to impact on global supply chains over the past five
years.

As the amount of data flowing through the supply chain continues to grow it's ever more important
for companies to safeguard their IP assets.

Fortunately though, there are some substantial changes that can be made at grassroots level -
starting with the educating of company employees on the risks of security threats such as phishing
emails, personal computer theft and password breaches.

As networks become smarter and more complex, the risk of supply chain disruption is an ever-
present threat - whether it occurs on a small or large scale, or is due to internal or external factors.

The extent to which manufacturers are able to plan ahead, to predict the "what ifs" - and to react
swiftly to changing conditions - will be key in safeguarding productivity, reliability and on-time
delivery

1.2.6.4 Learning Activities


Household appliance manufacturers are integrating their products with the IoT technology to make
customers lives comfortable and convenient. The trainee is required to give a detailed analysis on
how integration with smart sensors, existing data-indicators and controllers is monitoring and
possibly influencing environments.
1.2.6.5 Self-Assessment
1. What is a smart TV?
2. What is the difference between OEM and EMS?
3. How is quality affected by Service and Warranty?
4. Why is E-waste an important topic on electronic impact on the environment?
5. The threat of cyber-attacks continues to be a growing concern for the electronics manufacturing
industry. Justify how

1.2.6.6 Tools, Equipment, Supplies and Materials

106
Tools
1. Screw Drivers
2. Pliers
3. Wire cutters
4. Wire Strippers
5. Clamps
6. Vises
Equipment
 Voltmeter
 Ohmmeter
 Ammeter
 Multimeter
 Power supplies
 LCR meter
Materials and supplies
• Circuits
• Semiconductor materials
• Conductors e.g. copper, gold, silver
• Insulators e.g. rubber, glass, mica
1.2.6.7 References
1. Subramanya, S. R. (2014). Mobile apps as supplementary educational resources. International
Journal of Advances in Management, Technology & Engineering Sciences, 9, 38-43.
2. Rubin, K. S. (2012). Essential Scrum: A practical guide to the most popular Agile process.
Addison-Wesley
3. Avison, D., & Fitzgerald, G. (2003). Information systems development: methodologies,
techniques and tools. McGraw-Hill.

1.2.6.8 Model answers to self-assessment


1. What is a smart TV?

107
A smart TV combines the features of televisions and computers and comprises a television set with
integrated functions for internet use. Smart TV users are also offered direct access to streaming
services such as Netflix and Amazon Prime Instant Video.

2. What is the difference between OEM and EMS?


 Original Equipment Manufacturers (OEMs)
 Electronic Manufacturing Service (EMS)

3. How is quality affected by Service and Warranty?


Leveraging the global supply-chain is putting more focus on supplier quality management. Having
a strong quality and traceability system directly affects warranty reserve and post-production
service hours

4. Why is E-waste an important topic on electronic impact on the environment?


E-Waste, a popular topic today, is driving conversations about the disposal of products and their
impact on the environment. Companies must now consider of the complete product lifecycle in
decisions.

5. The threat of cyber-attacks continues to be a growing concern for the electronics


manufacturing industry. Justify how
As the amount of data flowing through the supply chain continues to grow it's ever more important
for companies to safeguard their IP assets.
As networks become smarter and more complex, the risk of supply chain disruption is an ever-
present threat - whether it occurs on a small or large scale, or is due to internal or external factors.

108
CHAPTER 2: COMPUTER NETWORKING
Unit of learning code: IT/CU/ICT/CR/1/5

Related Unit of Competency in Occupational Standard: Perform Computer Networking

2.1 Introduction to the unit of learning


This unit specifies the competencies required to perform computer Networking. It involves
Identification of network types, Connection of networking devices, configuration of network
devices, network testing, configuration of LAN network type and monitoring network
connectivity.

2.2 Summary of Learning Outcomes


1. Identify network type and components
2. Connect network devices
3. Configure network devices
4. Configure LAN Network type
5. Perform Network testing

2.2.1 Learning Outcome 1: Identify Network Type and Components

2.2.1.2 Introduction to the Learning Outcome


This learning outcome covers identification of different types of computer networks,
identification of Network components, identification of network topologies, identification of
transmission media and benefits of computer networking.

2.2.1.3 Performance Standard


2.2.1.3.1 Types of computer networks are identified.
2.2.1.3.2 Network components are identified
2.2.1.3.3 Network topologies are identified.
2.2.1.3.4 Transmission media is identified.
2.2.1.3.5 Benefits of computer Networking are identified.

109
2.2.1.4 Information Sheet
a) Definition of Computer Network
A computer network is a group of computers linked to each other that enables the computer to
communicate with another computer and share their resources, data, and applications. The most
common resource shared today is connection to the Internet. Other shared resources can include
a printer or a file server. The Internet itself can be considered a computer network.

b) Key terms in Computer Networks


Table 24: Common terms in Networking
Terms Definition
1. ISO The OSI model is a product of the Open Systems
Interconnection project at the International Organization for
Standardization. ISO is a voluntary organization.
2. OSI Model Open System Interconnection is a model consisting of seven
logical layers.
3. TCP/IP Model Transmission Control Protocol and Internet Protocol Model is
based on four layer model which is based on Protocols.
4. UTP Unshielded Twisted Pair cable is a Wired/Guided media which
consists of two conductors usually copper, each with its own
colour plastic insulator
5. STP Shielded Twisted Pair cable is a Wired/Guided media has a
metal foil or braided-mesh covering which encases each pair
of insulated conductors. Shielding also eliminates crosstalk
6. PPP Point-to-Point connection is a protocol which is used as a
communication link between two devices.
7. LAN Local Area Network is designed for small areas such as an
office, group of building or a factory.
8. WAN Wide Area Network is used for the network that covers large
distance such as cover states of a country

110
9. MAN Metropolitan Area Network uses the similar technology as LAN.
It is designed to extend over the entire city.
10. Crosstalk Undesired effect of one circuit on another circuit. It can occur
when one line picks up some signals travelling down another
line. Example: telephone conversation when one can hear
background conversations. It can be eliminated by shielding
each pair of twisted pair cable.
11. PSTN Public Switched Telephone Network consists of telephone
lines, cellular networks, satellites for communication, fiber
optic cables etc. It is the combination of world's (national,
local and regional) circuit switched telephone network.
12. File Transfer, Standard mechanism to access files and manages it. Users
Access and can access files in a remote computer and manage it.
Management (FTAM)
13. Analog The signal is continuously variable in amplitude and
Transmission frequency. Power requirement is high when compared with
Digital Transmission.
14. Digital It is a sequence of voltage pulses. It is basically a series of
Transmission discrete pulses. Security is better than Analog Transmission.
15. Asymmetric digital A data communications technology that enables faster data
subscriber line(ADSL) transmission over copper telephone lines than a
conventional voice band modem can provide.
16. Access Point Alternatively referred to as a base station and wireless
router, an access point is a wireless receiver which enables
a user to connect wirelessly to a network or the Internet. This
term can refer to both Wi-Fi and Bluetooth devices.
17. Acknowledgement Short for acknowledgement, ACK is an answer given by another
(ACK) computer or network device indicating to another computer that
it acknowledged the SYN/ACK or other request sent to it.
Note: If the signal is not properly received an NAK is sent.

111
18. Active Topology The term active topology describes a network topology in which
the signal is amplified at each step as it passes from one
computer to the next.
19. Aloha Protocol for satellite and terrestrial radio transmissions. In pure
Aloha, a user can communicate at any time, but risks collisions
with other users' messages. Slotted Aloha reduces the chance of
collisions by dividing the channel into time slots and requiring
that the user send only at the beginning of a time slot.
20. Address Resolution ARP is a used with the IP for mapping a 32-bit Internet Protocol
Protocol(ARP) address to a MAC address that is recognized in the local network
specified in RFC 826.

c) Network Topologies

A network topology is the arrangement of computer devices in computer network to establish


communication among them. It defines a layout of a network that means it determines how
different nodes are connected and communicated together within a network.

Network topology can be according to logical aspect or on physical aspect. Physical topology
describes placement of different components of the network while logical topology describes the
data flow within a network instead of physical design.

Physical and Logical Topology

There are two approaches to network topology: physical and logical. Physical network topology,
as the name suggests, refers to the physical connections and interconnections between nodes and
the network—the wires, cables, and so forth. Logical network topology is a little more abstract
and strategic, referring to the conceptual understanding of how and why the network is arranged
the way it is, and how data moves through it.

Network topology can be categorize in 2 main categories on the basis of connection: Point to
point and multi point.

112
Point to point topology

Figure 29: Point to point Topology

Point to Point topology is the simplest topology that connects two nodes directly together with
a common link. The entire bandwidth of the common link is reserved for transmission between
those two nodes. The point-to-point connections use an actual length of wire or cable to connect
the two ends, but other options, such as satellite links, or microwaves are also possible.

Multipoint: This is a case where more than two specific devices share a single link.

i. Types of Topology

There are five types of topology in computer networks. Hybrid topology is also common

 Star
 Bus
 Ring
 Tree
 Mesh
 Hybrid

1. Star Topology

113
Figure 29 Star topology
A star topology, the most common network topology, is laid out so every node in the network is
directly connected to one central hub via coaxial, twisted-pair, or fiber-optic cable. Acting as a
server, this central node manages data transmission—as information sent from any node on the
network has to pass through the central one to reach its destination—and functions as a repeater,
which helps prevent data loss.

Advantages of Star Topology


Star topologies are common since they allow you to conveniently manage your entire network
from a single location. Because each of the nodes is independently connected to the central hub,
should one go down, the rest of the network will continue functioning unaffected, making the star
topology a stable and secure network layout.
Additionally, devices can be added, removed, and modified without taking the entire network
offline.
On the physical side of things, the structure of the star topology uses relatively little cabling to
fully connect the network, which allows for both straightforward setup and management over time
as the network expands or contracts. The simplicity of the network design makes life easier for
administrators, too, because it’s easy to identify where errors or performance issues are occurring.
Disadvantages of Star Topology
On the flipside, if the central hub goes down, the rest of the network can’t function. But if the
central hub is properly managed and kept in good health, administrators shouldn’t have too many
issues.

114
The overall bandwidth and performance of the network are also limited by the central node’s
configurations and technical specifications, making star topologies expensive to set up and operate.

2. Bus Topology
A bus topology orients all the devices on a network along a single cable running in a single
direction from one end of the network to the other—which is why it’s sometimes called a “line
topology” or “backbone topology.” Data flow on the network also follows the route of the cable,
moving in one direction.

Figure 30 Bus toplolgy


Advantages of Bus Topology
Bus topologies are a good, cost-effective choice for smaller networks because the layout is simple,
allowing all devices to be connected via a single coaxial or RJ45 cable. If needed, more nodes can
be easily added to the network by joining additional cables.
Disadvantages of Bus Topology
However, because bus topologies use a single cable to transmit data, they’re somewhat vulnerable.
If the cable experiences a failure, the whole network goes down, which can be time-consuming
and expensive to restore, which can be less of an issue with smaller networks.
Bus topologies are best suited for small networks because there’s only so much bandwidth, and
every additional node will slow transmission speeds.

115
Furthermore, data is “half-duplex,” which means it can’t be sent in two opposite directions at the
same time, so this layout is not the ideal choice for networks with huge amounts of traffic.

3. Ring Topology - Single vs. Dual


Ring topology is where nodes are arranged in a circle (or ring). The data can travel through the
ring network in either one direction or both directions, with each device having exactly two
neighbors.

Figure 31: Ring topology


Pros of Ring Topology
Since each device is only connected to the ones on either side, when data is transmitted, the packets
also travel along the circle, moving through each of the intermediate nodes until they arrive at their
destination. If a large network is arranged in a ring topology, repeaters can be used to ensure
packets arrive correctly and without data loss.
Only one station on the network is permitted to send data at a time, which greatly reduces the risk
of packet collisions, making ring topologies efficient at transmitting data without errors.
By and large, ring topologies are cost-effective and inexpensive to install, and the intricate point-
to-point connectivity of the nodes makes it relatively easy to identify issues or misconfigurations
on the network.
Cons of Ring Topology

116
Even though it’s popular, a ring topology is still vulnerable to failure without proper network
management. Since the flow of data transmission moves unidirectionally between nodes along
each ring, if one node goes down, it can take the entire network with it. That’s why it’s imperative
for each of the nodes to be monitored and kept in good health. Nevertheless, even if you’re vigilant
and attentive to node performance, your network can still be taken down by a transmission line
failure.
The question of scalability should also be taken into consideration. In a ring topology, all the
devices on the network share bandwidth, so the addition of more devices can contribute to overall
communication delays. Network administrators need to be mindful of the devices added to the
topology to avoid overburdening the network’s resources and capacity.
Additionally, the entire network must be taken offline to reconfigure, add, or remove nodes. And
while that’s not the end of the world, scheduling downtime for the network can be inconvenient
and costly.

Dual-Ring Topology
A network with ring topology is half-duplex, meaning data can only move in one direction at a
time. Ring topologies can be made full-duplex by adding a second connection between network
nodes, creating a dual ring topology.

Figure 32: Dual ring topology

117
Advantages of Dual-Ring Topology
The primary advantage of dual ring topology is its efficiency: because each node has two
connections on either side, information can be sent both clockwise and counterclockwise along the
network. The secondary ring included in a dual-ring topology setup can act as a redundant layer
and backup, which helps solve for many of the disadvantages of traditional ring topology. Dual
ring topologies offer a little extra security, too: if one ring fails within a node, the other ring is still
able to send data.

4. Tree Topology
The tree topology structure gets its name from how the central node functions as a sort of trunk for
the network, with nodes extending outward in a branch-like fashion. However, where each node
in a star topology is directly connected to the central hub, a tree topology has a parent-child
hierarchy to how the nodes are connected. Those connected to the central hub are connected
linearly to other nodes, so two connected nodes only share one mutual connection. Because the
tree topology structure is both extremely flexible and scalable, it’s often used for wide area
networks to support many spread-out devices.

Figure 33: Tree topology


Pros of Tree Topology
Combining elements of the star and bus topologies allows for the easy addition of nodes and
network expansion. Troubleshooting errors on the network is also a straightforward process, as
each of the branches can be individually assessed for performance issues.
118
Cons of Tree Topology
As with the star topology, the entire network depends on the health of the root node in a tree
topology structure. Should the central hub fail, the various node branches will become
disconnected, though connectivity within—but not between—branch systems will remain.
Because of the hierarchical complexity and linear structure of the network layout, adding more
nodes to a tree topology can quickly make proper management an unwieldy, not to mention costly,
experience. Tree topologies are expensive because of the sheer amount of cabling required to
connect each device to the next within the hierarchical layout.

5. Mesh Topology
A mesh topology is an intricate and elaborate structure of point-to-point connections where the
nodes are interconnected. Mesh networks can be full or partial mesh. Partial mesh topologies are
mostly interconnected, with a few nodes with only two or three connections, while full-mesh
topologies are—surprise!—fully interconnected.

Figure 34: Mesh topology


The web-like structure of mesh topologies offers two different methods of data transmission:
routing and flooding. When data is routed, the nodes use logic to determine the shortest distance

119
from the source to destination, and when data is flooded, the information is sent to all nodes within
the network without the need for routing logic.
Advantages of Mesh Topology
Mesh topologies are reliable and stable, and the complex degree of interconnectivity between
nodes makes the network resistant to failure. For instance, no single device going down can bring
the network offline.
Disadvantages of Mesh Topology
Mesh topologies are incredibly labor-intensive. Each interconnection between nodes requires a
cable and configuration once deployed, so it can also be time-consuming to set up. As with other
topology structures, the cost of cabling adds up fast, and to say mesh networks require a lot of
cabling is an understatement.

6. Hybrid Topology
Hybrid topologies combine two or more different topology structures—the tree topology is a good
example, integrating the bus and star layouts. Hybrid structures are most commonly found in larger
companies where individual departments have personalized network topologies adapted to suit
their needs and network usage.

Figure 35: Hybrid topology


Advantages of Hybrid Topology

120
The main advantage of hybrid structures is the degree of flexibility they provide, as there are few
limitations on the network structure itself that a hybrid setup can’t accommodate.
Disadvantages of Hybrid Topology
However, each type of network topology comes with its own disadvantages, and as a network
grows in complexity, so too does the experience and know-how required on the part of the admins
to keep everything functioning optimally. There’s also the monetary cost to consider when creating
a hybrid network topology.

d) Computer Network Types

There are various types of computer networks available. We can categorize them according to their
size as well as their purpose.

The size of a network should be expressed by the geographic area and number of computers, which
are a part of their networks. It includes devices housed in a single room to millions of devices
spread across the world. Some of the most popular network types are:

1. Personal Area Network (PAN)

A personal area network, or PAN, is a computer network that enables communication between
computer devices near a person. It is a computer network organized around an individual for
personal use only. PANs can be wired, such as USB or FireWire, or they can be wireless, such as
infrared, ZigBee, Bluetooth and ultra-wideband. The range of a PAN typically is a few meters.
Examples of wireless PAN, or WPAN, devices include cell phone headsets, wireless keyboards,
wireless mice, printers, bar code scanners and game consoles.

Wireless PANs feature battery-operated devices that draw very little current. Sleep modes
commonly are used to further extend battery life.

2. Local Area Network (LAN)

121
A Local Area Network (LAN) is a group of computers and other devices that are connected
together over a network and are all in the same location, within a single building like an office or
home.

On a typical home or small office LAN, you might find a modem that provides an internet
connection (and a basic firewall against intrusion from the internet), a router that lets other devices
share that connection and connect to one another, and a Wi-Fi access point that lets devices access
the network wirelessly. Sometimes, those functions are combined into a single device.

3. Wireless Local Area Network (WLAN)

Functioning like a LAN, a WLAN provides wireless network communication over short distances
using radio signals instead of traditional network cabling. Typically, a wireless local area network
(WLAN) extends an existing wired local area network to devices not connected to the LAN.

4. Metropolitan Area Network (MAN)

These types of networks are larger than LANs but smaller than WANs – and incorporate elements
from both types of networks. MANs span an entire geographic area (typically a town or city, but
sometimes a campus). Ownership and maintenance is handled by either a single person or company
(a local council, a large company, etc.).

5. Wide Area Network (WAN)

A wide-area network (or WAN) is a computer network that connects smaller networks. Since
WANs are not tied to a specific location, they allow localized networks to communicate with one
another across great distances. They also facilitate communication and the sharing of information
between devices from anywhere in the world.

WANs allow organizations to create unified networks so that employees, customers, and other
stakeholders can work together online, regardless of location. Though WANs cover a large area,
connections can be either wired or wireless. Wired WANs usually consist of broadband internet
services and multiprotocol label switching (MPLS), which is a form of data-forwarding technology

122
used to control traffic flow and speed up connection, while wireless WANs normally include
4G/5G and Long-Term Evolution (LTE) networks.

e) Computer Network Components

Computer networks components comprise both physical parts as well as the software required for
installing computer networks. Some important physical network components are NIC, switch,
cable, hub, router, and modem. Depending on the type of network that we need to install, some
network components can also be removed. For example, the wireless network does not require a
cable.

Following are the major components required to install a network:

1. NIC

NIC stands for Network Interface Card is an adapter card that plugs into the system bus of a
computer and allows the computer to send and receive signals on a network. A network interface
card (NIC) is also known as a network adapter card or simply a network card.

Figure 36: Network interface card

Wired NIC: The Wired NIC is present inside the motherboard. Cables and connectors are used
with wired NIC to transfer data.

123
Wireless NIC: The wireless NIC contains the antenna to obtain the connection over the wireless
network. For example, laptop computer contains the wireless NIC.

2. Hub

A Hub is a hardware device that divides the network connection among multiple devices. When a
computer network requests for some information from another in the network, it first sends the
request to the Hub through a cable. The hub will broadcast this request to the entire network. All
the devices will check whether or not the request belongs to them. If not, the request will be
dropped.

The process used by the Hub consumes more bandwidth and limits the amount of communication.
Nowadays, the use of hub is obsolete, and it is replaced by more advanced computer network
components such as Switches and Routers.

Figure 37: Computer Network hub

3. Switch

A switch is a hardware device that connects multiple devices on a computer network. A Switch
contains more advanced features than Hub. The Switch contains the updated table that decides
where the data is transmitted or not. Switch delivers the message to the correct destination based
on the physical address present in the incoming message. A Switch does not broadcast the message

124
to the entire network like the Hub. It determines the device to whom the message is to be
transmitted. Therefore, we can say that switch provides a direct connection between the source
and destination. It increases the speed of the network.

Figure 38: A Network Switch

4. Router

 A router is a hardware device which is used to connect a LAN with an internet connection. It
is used to receive, analyze and forward the incoming packets to another network.
 A router works in a Layer 3 (Network layer) of the OSI Reference model.
 A router forwards the packet based on the information available in the routing table.
 It determines the best path from the available paths for the transmission of the packet.

Advantages of Router:

 Security: The information which is transmitted to the network will traverse the entire cable,
but the only specified device which has been addressed can read the data.
 Reliability: If the server has stopped functioning, the network goes down, but no other
networks are affected that are served by the router.
 Performance: Router enhances the overall performance of the network. Suppose there are 24
workstations in a network generates a same amount of traffic. This increases the traffic load

125
on the network. Router splits the single network into two networks of 12 workstations each,
reduces the traffic load by half.

Figure 39: A wireless Router

5. Modem

 A modem is a hardware device that allows the computer to connect to the internet over the
existing telephone line.
 A modem is not integrated with the motherboard rather than it is installed on the PCI slot found
on the motherboard.
 It stands for Modulator/Demodulator. It converts the digital data into an analog signal over the
telephone lines.

Based on the differences in speed and transmission rate, a modem can be classified in the following
categories:

 Standard PC modem or Dial-up modem


 Cellular Modem
 Cable modem
126
Figure 40: modem

6. Cables and Connectors (media)

Cable is a transmission media used for transmitting a signal.

There are three types of cables used in transmission:

 Twisted pair cable


 Coaxial cable
 Fibre-optic cable

7. Ports

A port is a physical docking point using which an external device can be connected to the
computer. It can also be programmatic docking point through which information flows from a
program to the computer or over the Internet.

127
A network port which is provided by the Transport Layer protocols of Internet Protocol suite, such
as Transmission Control Protocol (TCP) and User Diagram Protocol (UDP) is a number which
serving endpoint communication between two computers.

8. Computers

Computers connected to a network can share files and documents with each other. Personal
computers connected to a business network can choose which files and folders are available to
share on the network.

2.2.1.5 Learning Activities


 The trainee should visit the nearest computer lab, Cyber Café or office setup and identify 4
network devices. On a computer using Ms Word, draw a table with two columns, namely
device and use. Record the use of at least 6 devices on this table.
 In the visit above, in two paragraphs, the trainee need to determine and illustrate the network
type and topologies in place.
 Save the document and submit to the trainer, via a storage device or email.

Special instructions related to learning activities


 Lessons can be delivered in person or virtually.
 Trainees taking this unit are highly recommended to own a working computer

2.2.1.6 Self-Assessment
1. What is a computer network?
2. With an aid of a diagram, differentiate between a star and ring topology.
3. With respect to the OSI reference model, from which layer does a router operate?
4. What is POLAN?
5. In a Network Interface Card, what is meant by a MAC address?

2.2.1.7 Tools, Equipment, Supplies and Materials

128
Tools
1. Network tool kit
2. Signal testers
Equipment
Computer
Cables
Switches
Routers/modem
Bridges
Repeaters
Fibre modules
Antistatic gloves
Ports
RJ45
NIC
Gateways
Microwave dishes
Materials and supplies
Consumables for maintaining Network including:
RJ45
Fibre Modules
Cables
Replacement parts including:
Points
Switches
Routers
NIC
Modem
Cables
Cleaning materials;
129
Hand cleaner.
2.2.1.8 References
Stieglitz, N. (2003). Digital dynamics and types of industry convergence: the evolution of the
handheld computers market. The industrial dynamics of the new digital economy, 2, 179-208
Székely, A., Talanow, R., & Bágyi, P. (2013). Smartphones, tablets and mobile applications
for radiology. European journal of radiology, 82(5), 829-836.
Chlamtac, I., & Fumagalli, A. (1994). Quadro-star: A high performance optical WDM star
network. IEEE Transactions on Communications, 42(8), 2582-2591

2.2.1.8 Model answers to self-assessment


What is a computer network?
A computer network is a set of computers connected together for the purpose of sharing resources.
The most common resource shared today is connection to the Internet. Other shared resources can
include a printer or a file server. The Internet itself can be considered a computer network.
With an aid of a diagram, demonstrate a star topology.
A star topology, the most common network topology, is laid out so every node in the network is
directly connected to one central hub via coaxial, twisted-pair, or fiber-optic cable. Acting as a
server, this central node manages data transmission—as information sent from any node on the
network has to pass through the central one to reach its destination—and functions as a repeater,
which helps prevent data loss

With respect to the OSI reference model, from which layer does a router operate?

130
A router works in a Layer 3 (Network layer) of the OSI Reference model.
What is POLAN?
POLAN uses optical splitters to split an optical signal from one strand of single mode optical fiber
into multiple signals to serve users and devices.
In a Network Interface Card, what is meant by a MAC address?
The MAC address or physical address is encoded on the network card chip which is assigned by
the IEEE to identify a network card uniquely. The MAC address is stored in the PROM
(Programmable read-only memory).

131
2.2.1 Learning Outcome 2: Connect Network Devices
2.2.2.1 Introduction to the Learning Outcome
This learning outcome covers identification of network connection media, characteristics of
connection medium and connecting devices to the network.

2.2.2.2 Performance Standard


2.2.2.2.1 Tools, materials and devices for network are identified.
2.2.2.2.2 Network devices connection is done according National and international communication
standards.
2.2.2.2.3 Strength and connectivity tests of cables and equipment are done.

2.2.2.3 Information Sheet

a) Network connection media


In network communications, a connection or transmission medium is a physical connection or an
interface between the transmitter and the receiver. There are two major categories of transmission
media, namely:
 Wired or guided and
 Wireless or unguided.

Wired Medium
There are three general classes of wired media types: coaxial cable, twisted pair and fiber optic
cable.

132
Figure 41: Network cables
1. Coaxial Cable
Coaxial cable uses a single conductor in the middle of a cable. The central conductor is surrounded
by an insulator called the dielectric. A conductive shield is put around the dielectric. This shield
acts as the second conductor for the circuit as well serves to protect the inner conductor from
interference. Coaxial cable for local area network (LAN) connections is obsolete. Coaxial cable is
being used in some cases for delivering the last mile of service. For e.g., coaxial cables are being
used by Cable TV networks to deliver high-speed service customer premises.

Figure 42: Coaxial cable with a central conductor

133
2. Unshielded Twisted Pair
Unshielded twisted pair cabling, or UTP cabling, is the most common type of network cabling. It
consists of four twisted pairs of wire, each with a different number of twists per foot, all encased
on one sheath. UTP cabling is graded according to category. Category 3 and 4 were replaced by
Category 5 cabling by the year 2000. Category 5 is recommended for running Ethernet at speeds
of 100 Mbps. Category 5e, was introduced to run gigabit Ethernet or 1000BaseT networks.
Category 6 and Category 6a have since been introduced to give better performance at higher
speeds. UTP cabling has an intrinsic impedance of 100 ohms.

Figure 43: Unshielded twisted pair cable

3. Twisted Pair Cable


There are two types of shielded twisted pair wiring. In the 1980s and 1990s shielded twisted pair
was promoted as the best wire type for Token Ring networks. This had an intrinsic impedance of
150 ohms. A new wiring trend is to use 100 ohm shielded twisted pair. The shielding reduces noise
and increases the performance of the cable. These are sometimes called foiled twisted pair, or FTP
(not to be confused with file transfer protocol) or sometimes called screened twisted pair, or ScTP.
These types of cables are compatible with normal UTP.

134
Figure 44: FTP or ScTP has a metal back to ground the shield.

4. Multi-mode fiber Optic


Fiber optic cable is sometimes called wave guide or light guide because it guides the light waves
along the length of the cable. Multi-mode fiber is used for short cable runs, usually 1.6 mi
(approximately 2 km) or less.

Figure 45: Multi-mode fiber optic

5. Single Mode Fiber Optic Cable


Single mode fiber optic cable can operate over much longer distances. Because the fiber only
allows one mode of light to propagate, light pulses put on the fiber keep their shape much longer.
This allows the light pulses to travel much further without interfering with other pulses. Single
mode fiber is recommended for cable runs in excess of 1.6 mi.

135
Figure 46: Single mode fiber is used outdoors and for long distances.

Wireless Transmission Media


Wireless transmission is a form of unguided media. Wireless communication involves no physical
link established between two or more devices, communicating wirelessly. Wireless signals are
spread over in the air and are received and interpreted by appropriate antennas.
When an antenna is attached to electrical circuit of a computer or wireless device, it converts the
digital data into wireless signals and spread all over within its frequency range. The receptor on
the other end receives these signals and converts them back to digital data.

1. Radio Transmission
Radio frequency is easier to generate and because of its large wavelength it can penetrate through
walls and structures alike. Radio waves can have wavelength from 1 mm – 100,000 km and have
frequency ranging from 3 Hz (Extremely Low Frequency) to 300 GHz (Extremely High
Frequency). Radio frequencies are sub-divided into six bands.
Radio waves at lower frequencies can travel through walls whereas higher RF can travel in straight
line and bounce back.The power of low frequency waves decreases sharply as they cover long
distance. High frequency radio waves have more power.

136
Figure 47: Radio Transmission earth
Radio waves of high frequencies are prone to be absorbed by rain and other obstacles. They use
Ionosphere of earth atmosphere. High frequency radio waves such as HF and VHF bands are
spread upwards. When they reach Ionosphere, they are refracted back to the earth.

2. Microwave Transmission
Electromagnetic waves above 100 MHz tend to travel in a straight line and signals over them can
be sent by beaming those waves towards one particular station. Because Microwaves travels in
straight lines, both sender and receiver must be aligned to be strictly in line-of-sight.
Microwaves can have wavelength ranging from 1 mm – 1 meter and frequency ranging from 300
MHz to 300 GHz.

137
Figure 48: Microwave transmission
Microwave antennas concentrate the waves making a beam of it. As shown in picture above,
multiple antennas can be aligned to reach farther. Microwaves have higher frequencies and do not
penetrate wall like obstacles.
Microwave transmission depends highly upon the weather conditions and the frequency it is using.

3. Infrared Transmission
Infrared wave lies in between visible light spectrum and microwaves. It has wavelength of 700-
nm to 1-mm and frequency ranges from 300-GHz to 430-THz.
Infrared wave is used for very short range communication purposes such as television and it’s
remote. Infrared travels in a straight line hence it is directional by nature. Because of high
frequency range, Infrared cannot cross wall-like obstacles.
4. Light Transmission
Highest most electromagnetic spectrum which can be used for data transmission is light or optical
signaling. This is achieved by means of LASER.
Because of frequency light uses, it tends to travel strictly in straight line.Hence the sender and
receiver must be in the line-of-sight. Because laser transmission is unidirectional, at both ends of
communication the laser and the photo-detector needs to be installed. Laser beam is generally 1mm
wide hence it is a work of precision to align two far receptors each pointing to lasers source.

138
Figure 49: Light transmission
Laser works as Tx (transmitter) and photo-detectors works as Rx (receiver).
Lasers cannot penetrate obstacles such as walls, rain, and thick fog. Additionally, laser beam is
distorted by wind, atmosphere temperature, or variation in temperature in the path.
Laser is safe for data transmission as it is very difficult to tap 1mm wide laser without interrupting
the communication channel.

c) How to connect computers to a network


Connecting your computers to your home network grants access to the Internet, networked printers
and attached devices and other computers on the network. Most networks in the home or workplace
are Ethernet wired networks or Wi-Fi wireless networks. How you connect to a network and what
equipment you need depends primarily on the network connection you're setting up.

i.Required Equipment
If you're setting up a wired network, you need an Ethernet modem, a router -- unless your modem
has a built-in router -- and Ethernet cables. If you're setting up a wireless network, you still need
an Ethernet modem and a wireless-enabled router, as well as an Ethernet cable to connect the two.
You also need one wireless adapter per computer, unless your computer has a built-in wireless
card.
139
If you're building a hybrid network involving both wired and wireless connections, a wireless
router is the best choice, as they usually also have Ethernet ports. Some modems feature built-in
wireless routers, making them a good all-in-one device choice if you have limited space.

ii.Connecting to a wired network

1. Connect the Internet coaxial or DSL cable to your modem's Internet or Cable port.
2. Connect the modem to the router's Internet, Modem or WAN port with an Ethernet cable.
Skip this step if your modem has a built-in router.
3. Connect an Ethernet cable between each computer's Ethernet port and one of the open ports on
the router or modem.
4. Click the Network icon in the System Tray and check for the wired connection.
5. Start a Web browser and connect to a website. If the site loads, your connection is complete.
Otherwise, consult your modem and router's user manuals to see if further setup is required.

Pros
 Wired connections offer faster and more stable connections than wireless.
 Wired-only networks are generally more secure than wireless, as unauthorized users have to
directly connect to the router in order to gain access to the network.
 Ethernet cables are less expensive than wireless adapters.
Cons
 Wired-only networks have limited range compared to wireless. While this situation can be
mitigated with longer Ethernet cables, you have to run wires throughout your home to access
the Internet from any room.
 The number of computers that can connect to the router is limited to the number of available
Ethernet ports.

140
Figure 50: Connecting to a wired network

Connecting to a wireless network


1. Connect the Internet coaxial or DSL cable to your modem's Internet or Cable port.
2. Connect the modem to the router's Internet, Modem or WAN port with an Ethernet cable.
Skip this step if your modem has a built-in router.
3. Click the Network icon in the System Tray and find your wireless network in the list.
4. Select your network and click Connect. If you want your computer to automatically connect
to this network when you start it up, fill the Connect Automatically check box.
5. Enter your wireless network's security key when prompted.
6. Start a Web browser and connect to a website. If the site loads, your connection is complete.
Otherwise, make sure the security key you entered is correct, then check signal strength and
whether further set-up is required according to your user's manual.
 Pro: You can take your computer to most rooms of your house without having to route Ethernet
cables through your home.
 Pro: The only Ethernet cable required is the one running from your modem to your router,
assuming your modem doesn't have a built-in router.
 Con: Wireless connections aren't as fast as wired connections, as they have to transmit
bandwidth over the wireless signal.
 Con: The design of your home and nearby electronics can interfere with a wireless signal,
weakening or even completely blocking your connection.

141
 Con: Without a security key, your wireless connection can be detected and used by anyone --
including cyber-criminals engaged in illicit behavior, which may be traced back to you.

Figure 51: Wireless connection

iii.Creating Home groups


A Home group is a network used by Windows to connect your computers together and share files.
After you create a Home group, your other computers and devices like printers can be added to it.

i. Creating a Homegroup
1. Press Windows-X on your keyboard and select Control Panel from the power user menu.
2. Select Network and Internet, followed by Homegroup.
3. Click Create, followed by Next.
4. Select the libraries, devices and files you want to share with other computers on the network,
then click Next.
5. Write down the Homegroup password when it's presented and click Finish.
142
ii. Adding Computers to the Homegroup
1. Sign onto the computer you're adding.
2. Press Windows-X and select Control Panel.
3. Select Network and Internet, followed by Homegroup.
4. Click Join now, followed by Next.
5. Select the libraries, devices and files you want to share from this computer, then click Next.
6. Enter the homegroup password and click Next, then Finish.

iii. Adding Printers


1. Sign onto the computer to which your printer is installed/connected.
2. Follow the steps to join a homegroup listed above.
3. Set the Printers & Devices permission to Shared.

d) Network Devices
1. Hub
A Hub is a hardware device that divides the network connection among multiple devices. When
computer requests for some information from a network, it first sends the request to the Hub
through cable. Hub will broadcast this request to the entire network. All the devices will check
whether the request belongs to them or not. If not, the request will be dropped.
The process used by the Hub consumes more bandwidth and limits the amount of communication.
Nowadays, the use of hub is obsolete, and it is replaced by more advanced computer network
components such as Switches, Routers.

2 Switch
A switch is a hardware device that connects multiple devices on a computer network. A Switch
contains more advanced features than Hub. The Switch contains the updated table that decides
where the data is transmitted or not. Switch delivers the message to the correct destination based
on the physical address present in the incoming message.

143
3 Router
A router is a hardware device which is used to connect a LAN with an internet connection. It is
used to receive, analyze and forward the incoming packets to another network.
A router works in a Layer 3 (Network layer) of the OSI Reference model.
A router forwards the packet based on the information available in the routing table.
It determines the best path from the available paths for the transmission of the packet.

4 Cables and Connectors (media)


Cable is a transmission media used for transmitting a signal.
There are three types of cables used in transmission:
• Twisted pair cable
• Coaxial cable
• Fibre-optic cable

5 Ports
A port is a physical docking point using which an external device can be connected to the
computer. It can also be programmatic docking point through which information flows from a
program to the computer or over the Internet.
A network port which is provided by the Transport Layer protocols of Internet Protocol suite, such
as Transmission Control Protocol (TCP) and User Diagram Protocol (UDP) is a number which
serving endpoint communication between two computers.
6 Computers
Computers connected to a network can share files and documents with each other. Personal
computers connected to a business network can choose which files and folders are available to
share on the network.

2.2.2.4 Learning Activities

144
 The trainee is required to build a hybrid network involving both wired and wireless
connections. Use the most suitable hub and any other devices available, creating a star
topology.
 In the above setup, the trainee will be required to create a home group.
 The trainee will then add three computers and a printer to the workgroup.
Special instructions
The trainee should be provided with a wireless router as they have Ethernet ports or modems
featuring built-in wireless routers.
2.2.2.5 Self-Assessment
1. Using suitable descriptions, identify the three general classes of wired media types
2. Why do you think a single mode fiber optic cable can operate over much longer distances
compared to the other contemporary cables?
3. When building a hybrid network involving both wired and wireless connections, explain the
choice of the router you would use, and give reasons.
4. Demonstrate the procedure for creating a Homegroup
5. Demonstrate the process of adding Computers to the Homegroup

2.2.2.6 Tools, Equipment, Supplies and Materials


Tools
1. Network tool kit
2. Signal testers
Equipment
 Computer
 Cables
 Switches
 Routers/modem
 Bridges
 Repeaters

145
 Fibre modules
 Antistatic gloves
 Ports
 RJ45
 NIC
 Gateways
 Microwave dishes
Materials and supplies
Consumables for maintaining Network including:
 RJ45
 Fibre Modules
 Cables
Replacement parts including:
 Points
 Switches
 Routers
 NIC
 Modem
 Cables
Cleaning materials;
Hand cleaner.

2.2.2.7 References
1. Ma, W., Trusina, A., El-Samad, H., Lim, W. A., & Tang, C. (2009). Defining network topologies
that can achieve biochemical adaptation. Cell, 138(4), 760-773.
2. Haeder, A. (2004). Conducting the Network Administrator Job Interview: IT Manager Guide
with Cisco CCNA Interview Questions (Vol. 4). Rampant TechPress.
3. Pelle, I., Lévai, T., Németh, F., & Gulyás, A. (2015, June). One tool to rule them all: A modular
troubleshooting framework for sdn (and other) networks. In Proceedings of the 1st ACM
SIGCOMM Symposium on Software Defined Networking Research (pp. 1-7).
146
4. https://www.tutorialspoint.com/computer_fundamentals/computer_output_devices.htm
5. https://www.tutorialspoint.com/computer_fundamentals/computer_software.htm
2.2.2.8 Model answers to Self-Assessment
1. Using suitable descriptions, identify the three general classes of wired media types

Three general classes of wired media types: coaxial cable, twisted pair and fiber optic cable.

2. Demonstrate why single mode fiber optic cable can operate over much longer distances.

Because the fiber only allows one mode of light to propagate, light pulses put on the fiber
keep their shape much longer. This allows the light pulses to travel much further without
interfering with other pulses. Single mode fiber is recommended for cable runs in excess of
1.6 mi.

2a If you're building a hybrid network involving both wired and wireless connections,
which router is the best choice?

A wireless router is the best choice, as they usually also have Ethernet ports. Some modems
feature built-in wireless routers, making them a good all-in-one device choice if you have
limited space.

2b Demonstrate the procedure for creating a Home group

 Press Windows-X on your keyboard and select Control Panel from the power user
menu.
 Select Network and Internet, followed by Home group.
 Click Create, followed by Next.
 Select the libraries, devices and files you want to share with other computers on
the network, then click next.
 Write down the Home group password when it's presented and click Finish.

2c Demonstrate the process of adding Computers to the Home group

 Sign onto the computer you're adding.

147
 Press Windows-X and select Control Panel.
 Select Network and Internet, followed by Home group.
 Click Join now, followed by Next.
 Select the libraries, devices and files you want to share from this computer, then
click next.
 Enter the home group password and click Next, then Finis

2.2.3 Learning Outcome 3: Configure Network Devices


2.2.3.1 Introduction to the learning outcome

148
This learning outcome covers procedures on installation and configuration of Network software,
configuration of the TCP/IP and Ethernet network architectures, connection and configuration of
network devices, and performing connectivity tests for cables and equipment.

2.2.3.2 Performance Standard


2.2.3.2.1 Network software is installed and configured according to user manuals.
2.2.3.2.2 IP addressing scheme configuration is done
2.2.3.2.3 Types of subnet masks are identified.

2.2.3.3 Information Sheet

a) What is Network Configuration?


Network configuration allows a system administrator to set up a network to meet communication
objectives. The process involves the following tasks:

 Router configuration: Specifies the correct IP addresses and route settings, etc.
 Host configuration: Sets up a network connection on a host computer/laptop by logging the
default network settings, such as IP addressing, proxy, network name and ID/password, to
enable network connection and communication.
 Software configuration: Any network-based software, like an intrusion detection system (IDS),
is allowed access and provided with the appropriate credentials to monitor network traffic.

Moreover, network configuration includes Internet/network sharing, software/application


installation and firewall installation/configuration.
b) Network architecture
Network architecture refers to the way network devices and services are structured to serve the
connectivity needs of client devices.
 Network devices typically include switches and routers.
 Types of services include DHCP and DNS.
 Client devices comprise end-user devices, servers, and smart things.
c) Ethernet and TCP/IP suites

149
Ethernet is a layer 2 data link protocol that is widely used with the TCP/IP protocol, which resides
at layers 3 and 4. To understand network communications, it is essential to learn about the protocol
layers (see OSI model below).

The IP layer 3 breaks apart the data being transmitted into variable length packets, known as
"Ethernet frames," up to 1,500 bytes long. Each frame has a header containing source and
destination addresses and a trailer with error correction data.

d) TCP/IP Ensures Complete Delivery


Ethernet transmits the frames from one node to the next and only guarantees that if the frame
arrives, it arrived intact. If a frame goes missing, it is none the wiser. However, the TCP part of
TCP/IP ensures that the entire set of data has been delivered intact. For details about the protocols,
see data link protocol, CSMA/CD, TCP/IP and Internet protocol
e) Network protocols
Network protocols are a set of rules, conventions, and data structures that dictate how devices
exchange data across networks. In other words, network protocols can be equated to languages
that two devices must understand for seamless communication of information, regardless of their
infrastructure and design disparities.

b. The OSI model: How network protocols work


To understand the nuances of network protocols, it's imperative to know about the Open Systems
Interconnection (OSI) model first. Considered the primary architectural model for internet working
communications, the majority of network protocols used today are structurally based on the OSI
model.
The OSI model splits the communication process between two network devices into 7 layers. A
task or group of tasks is assigned to each of these 7 layers. All the layers are self-contained, and
the tasks assigned to them can be executed independently.
To put this into context, here is a representation of the communication process between two
network devices following the OSI model:

150
Figure 52: OSI Model
The seven layers in the OSI model can be divided into two groups: upper layers, including layers
7, 6, and 5, and lower layers, including layers 4, 3, 2, and 1. The upper layers deal with application
issues, and the lower layers deal with data transport issues.
Network protocols divide the communication process into discrete tasks across every layer of the
OSI model. One or more network protocols operate at each layer in the communication exchange.
Following are the detailed descriptions of the functioning of network protocols in each layer of the
OSI model:
151
Table 25:OSI network protocol functions
 Provides standard services such as virtual terminal, file, and
Layer 7: Application layer
job transfer and operations.
network protocols

 Masks the differences in data formats between dissimilar


systems.
Layer 6: Presentation layer
 Encodes and decodes data, encrypts and decrypts data, and
network protocols
compresses and decompresses data.

 Manages user sessions and dialogues.


Layer 5: Session layer
 Establishes and terminates sessions between users.
network protocols

 Manages end-to-end message delivery in networks.


Layer 4: Transport layer  Renders reliable and sequential packet delivery through error
network protocols recovery and flow control mechanisms.

 Routes packets according to unique network device addresses.


Layer 3: Network layer  Renders flow and congestion control to prevent network
protocols resource depletion.

 Frames packets.
Layer 2: Data link layer
 Detects and corrects packet transmit errors.
network protocols

 Interfaces between network medium and devices.


Layer 1: Physical layer
 Defines optical, electrical, and mechanical characteristics.
network protocols

c. TCP/IP model
 The TCP/IP model was developed prior to the OSI model.
 The TCP/IP model is not exactly similar to the OSI model.

152
 The TCP/IP model consists of five layers: the application layer, transport layer, network layer,
data link layer and physical layer.
 The first four layers provide physical standards, network interface, internetworking, and
transport functions that correspond to the first four layers of the OSI model and these four
layers are represented in TCP/IP model by a single layer called the application layer.
 TCP/IP is a hierarchical protocol made up of interactive modules, and each of them provides
specific functionality.
Here, hierarchical means that each upper-layer protocol is supported by two or more lower-level
protocols.

Functions of TCP/IP layers:

Figure 53: TCP/IP Layers


i. Network Access Layer

 A network layer is the lowest layer of the TCP/IP model.

153
 A network layer is the combination of the Physical layer and Data Link layer defined in the
OSI reference model.
 It defines how the data should be sent physically through the network.
 This layer is mainly responsible for the transmission of the data between two devices on the
same network.
 The functions carried out by this layer are encapsulating the IP datagram into frames
transmitted by the network and mapping of IP addresses into physical addresses.
 The protocols used by this layer are ethernet, token ring, FDDI, X.25, frame relay.

ii. Internet Layer

 An internet layer is the second layer of the TCP/IP model.


 An internet layer is also known as the network layer.
 The main responsibility of the internet layer is to send the packets from any network, and they
arrive at the destination irrespective of the route they take.

Following are the protocols used in this layer:

IP Protocol: IP protocol is used in this layer, and it is the most significant part of the entire TCP/IP
suite.

Following are the responsibilities of this protocol:

 IP Addressing: This protocol implements logical host addresses known as IP addresses. The
IP addresses are used by the internet and higher layers to identify the device and to provide
internetwork routing.
 Host-to-host communication: It determines the path through which the data is to be
transmitted.
 Data Encapsulation and Formatting: An IP protocol accepts the data from the transport layer
protocol. An IP protocol ensures that the data is sent and received securely, it encapsulates the
data into message known as IP datagram.
 Fragmentation and Reassembly: The limit imposed on the size of the IP datagram by data
link layer protocol is known as Maximum Transmission unit (MTU). If the size of IP datagram
154
is greater than the MTU unit, then the IP protocol splits the datagram into smaller units so that
they can travel over the local network. Fragmentation can be done by the sender or intermediate
router. At the receiver side, all the fragments are reassembled to form an original message.
 Routing: When IP datagram is sent over the same local network such as LAN, MAN, WAN,
it is known as direct delivery. When source and destination are on the distant network, then the
IP datagram is sent indirectly. This can be accomplished by routing the IP datagram through
various devices such as routers.

ARP Protocol

 ARP stands for Address Resolution Protocol.


 ARP is a network layer protocol which is used to find the physical address from the IP address.
 The two terms are mainly associated with the ARP Protocol:
o ARP request: When a sender wants to know the physical address of the device, it
broadcasts the ARP request to the network.
o ARP reply: Every device attached to the network will accept the ARP request and
process the request, but only recipient recognize the IP address and sends back its
physical address in the form of ARP reply. The recipient adds the physical address both
to its cache memory and to the datagram header

ICMP Protocol

 ICMP stands for Internet Control Message Protocol.


 It is a mechanism used by the hosts or routers to send notifications regarding datagram
problems back to the sender.
 A datagram travels from router-to-router until it reaches its destination. If a router is unable to
route the data because of some unusual conditions such as disabled links, a device is on fire or
network congestion, then the ICMP protocol is used to inform the sender that the datagram is
undeliverable.
 An ICMP protocol mainly uses two terms:
o ICMP Test: ICMP Test is used to test whether the destination is reachable or not.

155
o ICMP Reply: ICMP Reply is used to check whether the destination device is
responding or not.
 The core responsibility of the ICMP protocol is to report the problems, not correct them. The
responsibility of the correction lies with the sender.
 ICMP can send the messages only to the source, but not to the intermediate routers because
the IP datagram carries the addresses of the source and destination but not of the router that it
is passed to.

iii. Transport Layer

The transport layer is responsible for the reliability, flow control, and correction of data which is
being sent over the network.

The two protocols used in the transport layer are User Datagram protocol and Transmission
control protocol.

 User Datagram Protocol (UDP)


o It provides connectionless service and end-to-end delivery of transmission.
o It is an unreliable protocol as it discovers the errors but not specify the error.
o User Datagram Protocol discovers the error, and ICMP protocol reports the error to the
sender that user datagram has been damaged.
o UDP consists of the following fields:
Source port address: The source port address is the address of the application program
that has created the message.
Destination port address: The destination port address is the address of the
application program that receives the message.
Total length: It defines the total number of bytes of the user datagram in bytes.
Checksum: The checksum is a 16-bit field used in error detection.
o UDP does not specify which packet is lost. UDP contains only checksum; it does not
contain any ID of a data segment.

156
Figure 54: User Datagram protocol

 Transmission Control Protocol (TCP)


o It provides a full transport layer services to applications.
o It creates a virtual circuit between the sender and receiver, and it is active for the
duration of the transmission.
o TCP is a reliable protocol as it detects the error and retransmits the damaged frames.
Therefore, it ensures all the segments must be received and acknowledged before the
transmission is considered to be completed and a virtual circuit is discarded.
o At the sending end, TCP divides the whole message into smaller units known as
segment, and each segment contains a sequence number which is required for
reordering the frames to form an original message.
o At the receiving end, TCP collects all the segments and reorders them based on
sequence numbers.

iv. Application Layer

 An application layer is the topmost layer in the TCP/IP model.


 It is responsible for handling high-level protocols, issues of representation.
 This layer allows the user to interact with the application.

157
 When one application layer protocol wants to communicate with another application layer, it
forwards its data to the transport layer.
 There is an ambiguity occurs in the application layer. Every application cannot be placed inside
the application layer except those who interact with the communication system. For example:
text editor cannot be considered in application layer while web browser using HTTP protocol
to interact with the network where HTTP protocol is an application layer protocol.

Following are the main protocols used in the application layer:

 HTTP: HTTP stands for Hypertext transfer protocol. This protocol allows us to access the
data over the World Wide Web. It transfers the data in the form of plain text, audio, video. It
is known as a Hypertext transfer protocol as it has the efficiency to use in a hypertext
environment where there are rapid jumps from one document to another.
 SNMP: SNMP stands for Simple Network Management Protocol. It is a framework used for
managing the devices on the internet by using the TCP/IP protocol suite.
 SMTP: SMTP stands for Simple mail transfer protocol. The TCP/IP protocol that supports the
e-mail is known as a Simple mail transfer protocol. This protocol is used to send the data to
another e-mail address.
 DNS: DNS stands for Domain Name System. An IP address is used to identify the connection
of a host to the internet uniquely. But, people prefer to use the names instead of addresses.
Therefore, the system that maps the name to the address is known as Domain Name System.
 TELNET: It is an abbreviation for Terminal Network. It establishes the connection between
the local computer and remote computer in such a way that the local terminal appears to be a
terminal at the remote system.
 FTP: FTP stands for File Transfer Protocol. FTP is a standard internet protocol used for
transmitting the files from one computer to another computer.

f) Network Operating System

An operating system (OS) is basically a collection of software that manages computer hardware
resources and provides common services for computer programs. Operating system is a crucial
component of the system software in a computer system.
158
Network Operating System is one of the important type of operating system.

Network Operating System runs on a server and gives the server the capability to manage data,
users, groups, security, applications, and other networking functions. The basic purpose of the
network operating system is to allow shared file and printer access among multiple computers in
a network, typically a local area network (LAN), a private network or to other networks.

Types of network operating systems

There are two basic types of network operating systems, the peer-to-peer NOS and
the client/server NOS:

1. Peer-to-peer network operating systems allow users to share network resources saved in a
common, accessible network location. In this architecture, all devices are treated equally in
terms of functionality. Peer-to-peer usually works best for small to medium LANs and is
cheaper to set up.
2. Client/server network operating systems provide users with access to resources through a
server. In this architecture, all functions and applications are unified under one file server that
can be used to execute individual client actions regardless of physical location. Client/server
tends to be most expensive to implement and requires a large amount of technical maintenance.
An advantage to the client/server model is that the network is controlled centrally, makes
changes or additions to technology easier to incorporate.

Common features of network operating systems

Features of network operating systems are typically associated with user administration, system
maintenance and resource management functionality. This includes:

 Basic support for operating systems like protocol and processor support, hardware detection
and multiprocessing.
 Printer and application sharing.
 Common file system and database sharing.
 Network security capabilities such as user authentication and access control Directory
159
 Backup and web services.
 Internetworking.

Examples of network operating systems

True network operating systems are categorized as software that enhances the functionality of
operating systems by providing added network features. A few examples of these network
operating systems and their service providers are:

 Artisoft’s LANtastic- This is a simple, user-friendly NOS that supports most PC operating
systems.
 Banyan’s VINES- This uses a client-server architecture to request specific functions and
services.
 Novell’s NetWare- This was the first network operating system to be released and is designed
based on XNS protocol architecture.
 Microsoft’s LAN Manager- This operates as a server application and was developed to run
under the Microsoft OS. Now, most of the functionality of LAN Manager is included in the
Windows OS itself.

In addition, some multi-purpose operating systems, such as Windows NT and


Digital's OpenVMS come with capabilities that enable them to be described as a network operating
system. Further, the most popular operating systems
like Windows, UNIX, Linux and Mac include built-in networking functions that may not require
additional network services.

2.2.3.4 Learning Activities


 The trainee should visit the nearest server room and identify the network operating system running
on the various servers.
 In the visit above, the trainee should determine the various resources running on the server, if any.
The trainee will also determine if there are more resources that can be included, giving reasons for
each.
Special instructions

160
The trainee can be exposed to both Windows and LINUX environments.

2.2.3.5 Self-Assessment
1. What are Network protocols?
2. Illustrate how network protocols work using the OSI model.
3. What is ARP and which two terms are associated with this protocol?
4. What is a Network Operating System?
5. Illustrate some examples of network operating systems

2.2.3.6 Tools, Equipment, Supplies and Materials


Tools
1. Network tool kit
2. Signal testers
Equipment
 Computer
 Cables
 Switches
 Routers/modem
 Bridges
 Repeaters
 Fibre modules
 Antistatic gloves
 Ports
 RJ45
 NIC
 Gateways
 Microwave dishes
Materials and supplies
Consumables for maintaining Network including:
 RJ45

161
 Fibre Modules
 Cables
Replacement parts including:
 Points
 Switches
 Routers
 NIC
 Modem
 Cables
Cleaning materials;
Hand cleaner.

2.2.3.7 References
1. Pelle, I., Lévai, T., Németh, F., & Gulyás, A. (2015, June). One tool to rule them all: A
modular troubleshooting framework for sdn (and other) networks. In Proceedings of the 1st ACM
SIGCOMM Symposium on Software Defined Networking Research (pp. 1-7).
2. Chen, C. W. (2005). U.S. Patent Application No. 10/776,527.
3. Kessler, G., & Shepard, S. (1994). RFC1739: A Primer On Internet and TCP/IP Tools.

2.2.3.8 Model Answers to Self -Assessment


What are Network protocols?
Network protocols are a set of rules, conventions, and data structures that dictate how devices
exchange data across networks.
Illustrate how network protocols work using the OSI model.
The OSI model splits the communication process between two network devices into 7 layers. A
task or group of tasks is assigned to each of these 7 layers. All the layers are self-contained, and
the tasks assigned to them can be executed independently.
What is ARP and which two terms are associated with this protocol?
ARP stands for Address Resolution Protocol. ARP is a network layer protocol which is used to
find the physical address from the IP address.

162
The two terms are mainly associated with the ARP Protocol:
 ARP request: When a sender wants to know the physical address of the device, it broadcasts
the ARP request to the network.
 ARP reply: Every device attached to the network will accept the ARP request and process the
request, but only recipient recognize the IP address and sends back its physical address in the
form of ARP reply. The recipient adds the physical address both to its cache memory and to
the datagram header
What is a Network Operating System?
A network Operating system is one of the important type of operating system. Network Operating
System runs on a server and gives the server the capability to manage data, users, groups, security,
applications, and other networking functions. The basic purpose of the network operating system
is to allow shared file and printer access among multiple computers in a network, typically a local
area network (LAN), a private network or to other networks.
Illustrate some examples of network operating systems
True network operating systems are categorized as software that enhances the functionality of
operating systems by providing added network features. A few examples of these network
operating systems and their service providers are:

 Artisoft’s LANtastic- This is a simple, user-friendly NOS that supports most PC


operating systems.
 Banyan’s VINES- This uses a client-server architecture to request specific
functions and services.
 Novell’s NetWare- This was the first network operating system to be released
and is designed based on XNS protocol architecture.
 Microsoft’s LAN Manager- This operates as a server application and was
developed to run under the Microsoft OS. Now, most of the functionality of LAN
Manager is included in the Windows OS itself

163
164
2.2.4 Learning Outcome 4: Configure LAN Network Types
2.2.4.1 Introduction to the learning outcome
This learning outcome covers the procedures to assemble prerequisite components and medium,
connecting to establish the network, configuring individual network components, and configuring
network protocols.
2.2.4.2.1 Performance Standard
2.2.4.2.2 Devices for LAN network configuration are identified.
2.2.4.2.3 Connection of the devices in LAN is done.
2.2.4.2.4 Configuration of the LAN network is done.

2.2.4.3 Information Sheet


How to setup and configure a Local Area Network
A LAN (Local Area Network), allows connected computers and devices to talk to each other and
access the internet. They are smaller networks, usually within an office base. LAN is used to
connect computing resources, typically inside one building. The computing resources can be
computers, printers, servers, IP phones, or routers. Connections between the workstations are
physical, with cables, and all the office resources are shared and distributed between the network
workstations. The most common type of LAN is that of Ethernet. This is a family of frame-based
computer networking technologies for LANs.

What You Need While Setting up LAN Network


While setting up a Local Area Network, you will need a cable router, Crossover Ethernet cables,
Ethernet cables, Ethernet switch, and Network interfaces.

Determining Your Network Needs


When setting up a LAN, you'll need to know how many computers will be connecting to the
network via Ethernet. This will determine the number of ports you'll need.

165
1. If you have four or less computers that you need to hardwire, you'll just need a router. If you
have more than four, you'll likely need to get a switch to extend the number of ports available
on your router.
2. If you want to allow devices to connect wirelessly, you'll need a router that can broadcast a
wireless network. Most routers you'll find at the store or online have wireless capabilities.
Network switches do not allow wireless devices to connect, and can only be used for hardwired
LANs or to extend the number of ports available to the router.
3. If you want all of the connected devices to have access to the internet, you'll need a router to
handle the connections. If you don't need the devices to have a network connection, you can
just use a network switch.
4. Measure the distances for all hardwired devices. This isn't much of an issue in most homes,
but network cables cannot run longer than 100m (328 ft). If you have to run cable farther than
this, you'll need switches in between.

Gather your network hardware.

To create a LAN, you'll need a router or switch, which will act as the hub of your network. These
devices route information to the correct computers.

1. A router will automatically handle assigning IP addresses to each device on the network, and
is necessary if you intend to share your internet connection with all the connected devices. It
is highly recommended that you build your network with a router, even if you're not sharing
an internet connection.
2. A network switch is like a simpler version of a router. It will allow connected devices to talk
to each other, but will not automatically assign IP addresses and will not share an internet
connection. Switches are best used to expand the number of LAN ports available on the
network, as they can be connected to the router.

Set up your router.

You don't need to do much to set up a router for a basic LAN. Just plug it into a power source,
preferably close to your modem if you plan on sharing the internet connection through it.

166
Connect your modem to your router (if necessary).

If you're sharing the internet connection from your modem, connect the modem to the
WAN/INTERNET port on the router. This is usually a different color from the other ports.

Connect your switch to your router (if necessary).

If you're using a switch to expand the number of ports available on the router, plug an Ethernet
cable into any LAN port on the router and any LAN port on the switch. This will expand the
network to the rest of the LAN ports on the switch.

Figure 55: Connect switch

Setup one PC as a DHCP server if you're just using a switch.

167
If you're only using a switch as your network hub, setting up one computer as a DHCP (Dynamic
Host Configuration Protocol) server will allow all of the connected computers to easily obtain IP
addresses.
 You can quickly create a DHCP server on one of your computers by installing a third-party
utility.
 The rest of the computers on the network will obtain IP addresses automatically once the server
is running, as long as they are set to do so.

Verify the network connection on each computer.


After each computer obtains an IP address, they'll be able to talk to each other on the network. If
you're using a router to share your internet connection, each computer will be able to access the
internet.

Figure 56: Verify network connection

168
Set up file and printer sharing.

Once your network is up, you won't see anything on other computers unless that computer has
shared files. You can designate files, folders, drives, printers, and other devices as shared so that
anyone on the network, or just specific users, can access them.

Creating a Wireless Network


Set up your router.
When you're setting up a wireless router, you'll need to keep a few things in mind:
 For easy troubleshooting, the router should usually be placed close to your modem.
 It should be located centrally to allow for maximum wireless coverage.
 You'll need to connect a computer to the router via Ethernet during the setup process.

Plug a computer into one of the router's LAN ports.


You'll be using your computer's web browser to configure the router's wireless network

Open a web browser on your computer.


You can use any web browser.

Type in the router's IP address.


You can typically find this printed on the bottom of the router, or in your router's documentation.
If you can't find it, there are a couple things you can try:
 Windows - Right-click the Network button in the System Tray → click Open Network and
Sharing Center → click the Ethernet link → click Details → find the Default Gateway entry
for your router's IP address.
 Mac - Click the Apple menu and select System Preferences → click Network → click your
Ethernet connection → find the Router entry for your router's IP address.

169
Figure 57: Router IP address

Log in with the administrator account.


You'll be prompted for the login information for your router. The default login information varies
depending on your router model, but the username is often "admin" and the password is often
"admin," "password," or blank.
 You can look up your router model at https://portforward.com/router-password/ to find the
default login information.

170
Figure 58: Login to router

Open the Wireless section of the router settings.


The exact location and wording of this section varies from router to router.

171
Figure 59: wireless router setup
Change the name of your network in the SSID field.
This may also be called "Network name." This is the name that appears in the list of available
wireless networks

172
Figure 60: wireless router security settings

Select WPA2-Personal as the Authentication or Security option.


This is the most secure option currently available on most routers. Avoid WPA and WEP except
when explicitly required by older, incompatible devices.

Figure 61: Wireless router key setup

173
Create a strong password.
This password will be required in order to connect to the network. The field may be labeled "Pre-
Shared Key."

Figure 62: Router configuration


Ensure the wireless network is enabled.
Depending on the router, you may have to check a box or click a button at the top of the Wireless
menu to enable the wireless network.

174
Figure 63: Router authentication

Click the Save or Apply button.


This will save the changes to your router.

175
Figure 64: wireless router settings

Wait while your router restarts.


It may take a minute for the router and network to come back online

176
Figure 65: connect to wireless router

Connect to the wireless network on your wireless devices.


Once the network is back up, it will appear on the available network list on any wireless devices
in range. When connecting to the network, users will be prompted to enter the password you
created.
 Computers connected to the router via Ethernet will not require a password.

2.2.4.4 Learning Activities


The trainee is required to set up one computer as a DHCP (Dynamic Host Configuration Protocol)
server and configure all of the connected computers to obtain IP addresses.
Setup a wireless network using a router.
Special instructions
Use a switch as your network hub, the rest of the computers on the network will obtain IP addresses
automatically once the server is running, as long as they are set to do so.

2.2.4.5 Self-Assessment
1. What do you Need While Setting up LAN Network?
2. To create a LAN, why do you need a router or switch?
3. How do you Setup one PC as a DHCP server if you're just using a switch.
4. When you're setting up a wireless router, what are the three things you'll need to keep in mind?
177
5. Why is it necessary to select WPA2-Personal as the Authentication or Security option?
2.2.4.6 Tools, Equipment, Supplies and Materials
Tools
1. Network tool kit
2. Signal testers
Equipment
 Computer
 Cables
 Switches
 Routers/modem
 Bridges
 Repeaters
 Fibre modules
 Antistatic gloves
 Ports
 RJ45
 NIC
 Gateways
 Microwave dishes
Materials and supplies
Consumables for maintaining Network including:
 RJ45
 Fibre Modules
 Cables
Replacement parts including:
 Points
 Switches
 Routers
 NIC
 Modem
178
 Cables
Cleaning materials;
Hand cleaner.
2.2.4.7 References
1. Brooks, R. R. (2014). Introduction to computer and network security: navigating shades of gray.
Boca Raton ; London: CRC Press, Taylor & Francis Group.
2. Haeder, A. (2004). Conducting the Network Administrator Job Interview: IT Manager Guide
with Cisco CCNA Interview Questions (Vol. 4). Rampant TechPress.
3. Pelle, I., Lévai, T., Németh, F., & Gulyás, A. (2015, June). One tool to rule them all: A modular
troubleshooting framework for sdn (and other) networks. In Proceedings of the 1st ACM
SIGCOMM Symposium on Software Defined Networking Research.
4.https://www.tutorialspoint.com/microwave_engineering/microwave_engineering_components.
htm
5. https://en.wikipedia.org/wiki/Wireless_network#Underlying_technology
6. https://www.tutorialspoint.com/Wireless-Networks

2.2.4.8 Model answers to self-assessment


What do you Need While Setting up LAN Network?

While setting up a Local Area Network, you will need a cable router, Crossover Ethernet cables,
Ethernet cables, Ethernet switch, and Network interfaces.

To create a LAN, why do you need a router or switch?

 A router will automatically handle assigning IP addresses to each device on the network,
and is necessary if you intend to share your internet connection with all the connected
devices. It is highly recommended that you build your network with a router, even if you're
not sharing an internet connection.

 A network switch is like a simpler version of a router. It will allow connected devices to
talk to each other, but will not automatically assign IP addresses and will not share an
internet connection. Switches are best used to expand the number of LAN ports available
on the network, as they can be connected to the router
179
How do you Setup one PC as a DHCP server if you're just using a switch.

If you're only using a switch as your network hub, setting up one computer as a DHCP (Dynamic
Host Configuration Protocol) server will allow all of the connected computers to easily obtain IP
addresses.

 You can quickly create a DHCP server on one of your computers by installing a third-party
utility.

 The rest of the computers on the network will obtain IP addresses automatically once the server
is running, as long as they are set to do so.

When you're setting up a wireless router, what are the three things you'll need to keep in
mind?

 For easy troubleshooting, the router should usually be placed close to your modem.

 It should be located centrally to allow for maximum wireless coverage.

 You'll need to connect a computer to the router via Ethernet during the setup process.

Why is it necessary to select WPA2-Personal as the Authentication or Security option?

This is the most secure option currently available on most routers. Avoid WPA and WEP except
when explicitly required by older, incompatible devices

180
2.2.5 Learning Outcome 5: Perform Network Testing

2.2.5.1 Introduction to the learning outcome


This learning outcome covers outline of a network test plan, demonstration of network testing
tools, testing network components, entire network testing, and generating a network test
report.

2.2.5.2 Performance Standard


2.2.5.2.1 Testing tools are assembled
2.2.5.2.2 Network components are tested
2.2.5.2.3 Testing of connectivity medium between components is done
2.2.5.2.4 Network testing is done
2.2.5.2.5 Testing report is generated

2.2.5.3 Information Sheet


a) Creating a Network Test Plan
To prepare a plan to test the network. The plan defines the scope, approach, criteria, schedule,
responsibilities, resources, and procedures.

i. Define Objectives
Define the objectives of the test by identifying the areas of the network to be tested including:
 Volume Testing. Ensures that the network operates smoothly when subjected to production
volumes of data over long periods of time.
 Stress Testing. Ensures that the network operates smoothly when subjected to the maximum
load expected in production, all at one time. A good rule of thumb is to subject the network to
25 percent more data and processing than is expected during peak loads.
 Recovery Testing. Ensures that backup and recovery procedures are working properly.
181
 Security Testing. Verifies that the network meets the security requirements.
 Performance Testing. Verifies that performance criteria are met (e.g., response times).

ii. Define Acceptance Criteria


For each test objective, define the criteria for successful completion. For example:
 All expected results are achieved on the initial run.
 All severe, and high priority faults are corrected and the associated test(s) rerun successfully.
 A documented plan is put in place specifying how and when outstanding low and medium
priority faults will be resolved.

iii. Define Schedule


Identify the high-level activities and tasks together with expected start and completion dates.

iv. Define Responsibilities


Identify the individuals who will be involved in the test and their roles and responsibilities.

v. Define Resources
Identify the staff, hardware, and software requirements. Confirm that the Network Deployment
Plan has accounted for these requirements and resolve any differences.

vi. Define Procedures


Define the procedures to be followed in preparing the test cases, preparing test scripts, preparing
the test environment, conducting tests, and verifying test results.

vii. Tips and Hints


Document any assumptions made while preparing the plan.
Plan to use automated test tools wherever possible to significantly reduce the testing effort and
duration. Automated test tools can be used to generate and apply an adequate number of
transactions to facilitate stress and performance testing.

182
b) Network Performance Testing Tools
Whenever you suspect something wrong with the performance of a network, your best course of
action is to run some tests to confirm that there is indeed an issue and also to help you locate it
and, eventually, fix it. There are many network performance testing tools available. So many that
picking the one that is the best fit for your specific need can turn out to be a hefty challenge.

c) What is network performance?


Network performance refers to measures of service quality of a network as seen by the customer”.
There are three essential elements to that definition. The first is the measures part. It established
clearly that network performance is something one has to measure. The next important bit is the
service quality of a network. Service quality is a generic concept but, as you’ll see, a few specific
metrics are associated with it. The last important part is the customer. We’re not interested in
network performance as a theoretical thing. What we need to measure is the true user experience.
Several different factors affect perceived network performance and are generally considered
important. The first two are bandwidth and throughput but there is often some confusion between
these two terms. Bandwidth refers to the carrying capacity of a network. As an analogy, think of
it as the number of lanes in a highway. Throughput, on the other hand, refers to the actual usage
of the available bandwidth. To keep our previous analogy, a four-lane highway has a bandwidth
of 4 000 vehicles per hour but its current throughput could be only 400 vehicles per hours or 10%
of its capacity.
Latency, delay, and jitter are more factor affecting the perceived performance of networks. Latency
refers to the time data takes to travel from source to destination. It is mainly a function of the
signal’s travel time and processing time at any nodes it traverses. It is a physical limitation that
cannot be reduced. Delay, on the other hand, can sometimes be improved. It has to do with the
time it takes for networking equipment to process, queue, and forward data. Faster, more powerful
equipment will generally add less delay to the transmission. As for jitter, it refers to the variation
in packet delay at the receiving end of the conversation. Real-time or near-real-time traffic is
particularly affected by it as it can cause data packets to arrive out of sequence. In the case of voice
over IP, for example, this could result in unintelligible speech.
Many other factors can also affect network performance. The error rate is one of them. It refers to
the number of corrupted bits expressed as a percentage or fraction of the total sent.
183
d) Testing the Network
How does one go about measuring performance from a true user’s perspective? Well, there is, of
course, the possibility of having real users running tests but this can tend to be rather impractical.
The next best thing is using a network performance testing system that uses probes deployed at
strategic location throughout your network and that can run actual simulation tests between each
other to measure true performance using specific types of traffic. This, however, can also tend to
be impractical as it requires some preliminary setup. It won’t be of much assistance to help
troubleshoot a sudden issue.
In these cases, what you need is a quick and dirty solution. A simple application that you can
quickly deploy or install at either end of the segment you need to test and that will let you manually
configure and run simulation tests.

e) Testing vs monitoring
Another important distinction to be made is the one between performance monitoring and
performance testing. These are two similar concepts but there are a few differences. The basic idea
is the same: simulating real user traffic and measuring the actual performance of the network.
Where it differs is in how and when it is done. Monitoring systems run constantly and perform
recurring tests between preconfigured locations and using predefined simulation models. A
dashboard will typically be available to display the latest test results and reports can often be
generated for various purposes.
Testing is different in that it is typically an ad-hoc process that is run manually whenever a problem
is reported or suspected. Tests are also typically run between two specific points on the network
where one suspects a problem is. The test will often help identify and pinpoint the problem.

f) Network testing tools


i. Clamp Meter
A clamp meter is an electrical test tool that combines a basic digital multimeter with a current
sensor.

184
Clamps measure current. Probes measure voltage. Having a hinged jaw integrated into an electrical
meter allows technicians to clamp the jaws around a wire, cable or other conductor at any point in
an electrical system, then measure current in that circuit without disconnecting/deenergizing it.
Beneath their plastic moldings, hard jaws consist of ferrite iron and are engineered to detect,
concentrate and measure the magnetic field being generated by current as it flows through a
conductor.
ii. Voltmeter
A voltmeter is an instrument used for measuring electric potential difference between two points
in an electric circuit. Analog voltmeters move a pointer across a scale in proportion to the voltage
of the circuit; digital voltmeters give a numerical display of voltage by use of an analog-to-digital
converter.
iii. Cable Tester/ Signal Tester
A cable tester is a device used to test the strength and connectivity of a particular type of cable or
other wired assemblies. There are many different types of cable testers. Each of them can test a
specific type of cable or wire (some may be able to test different types of cables or wires). A cable
tester can test whether a cable or wire is set up properly, connected correctly, and the signal
strength between the source and destination.

g) Some network performance network utilities


1. SolarWinds WAN Killer (Part Of The Engineer’s Toolset)
SolarWinds is a common name in the field of network administration. The company is famous for
making some of the best network administration tools on the market. Its flagship product, the
Network Performance Monitor is generally recognized as one of the best network bandwidth
monitoring tools available. And as if it wasn’t enough, SolarWinds has also gifted us with several
free tools, each addressing a specific need of network administrators. Such tools include the
famous SolarWinds TFTP Server and the Advanced Subnet Calculator.
Although it’s not a network performance testing tool per se, the WAN Killer Network Traffic
Generator can be very useful in combination with other tools. Its sole purpose is generating
network traffic. It allows administrators to use other performance testing tools for testing
performance under high traffic situations, something that not many tools do by themselves.

185
The tool, which is part of the SolarWinds Engineer’s Toolset, will let you easily set the IP address
and hostname you want to send the random traffic to. It will also let you specify parameters such
as port numbers, packet size, and percentage of bandwidth to use. It can even let you modify the
Differentiated Services Code Point (DSCP) and Explicit Congest Notification (ECN) settings.

Figure 66 An official download link has been provided below


 Official download link: https://www.solarwinds.com/engineers-toolset/registration

This tool’s primary use is for tasks such as testing traffic prioritization and load balancing. You
can also use it to make sure that your network is correctly set up and that huge amounts of
unimportant traffic—as generated by this tool—won’t have adverse effect critical traffic. The level
of fine-tuning the tool allows will let you simulate almost any type of situation.
The SolarWinds WAN Killer Network Traffic Generator is part of the Engineer’s Toolset, a
bundle of over 60 different tools. The toolset includes a mix of the most important free tools from
SolarWinds combined with many exclusive tools that you won’t find elsewhere. And most of the
included tools are integrated into a common dashboard from where they can be easily accessed.

186
Other Components Of The SolarWinds Engineer’s Toolset

The SolarWinds Engineer’s Toolset includes several dedicated troubleshooting tools. Tools like
Ping Sweep, DNS Analyzer and TraceRoute can be used to perform network diagnostics and help
resolve complex network issues quickly. For the security-oriented administrators, some of the
toolset’s tools can be used to simulate attacks and help identify vulnerabilities.

Figure 67: Solarwinds toolset


The toolset also features some excellent monitoring and alerting capabilities. Some of its tools will
monitor your devices and raise alerts for availability or health issues. And finally, you can use
some of the included tools for configuration management and log consolidation.
Here’s a list of some of the other tools you’ll find in the SolarWinds Engineer’s Toolset:
 Port Scanner
 Switch Port Mapper
 SNMP sweep
 IP Network Browser
 MAC Address Discovery
 Ping Sweep

187
 Response Time Monitor
 CPU Monitor
 Memory Monitor
 Interface Monitor
 TraceRoute
 Router Password Decryption
 SNMP Brute Force Attack
 SNMP Dictionary Attack
 Config Compare, Downloader, Uploader, and Editor
 SNMP trap editor and SNMP trap receiver
 Subnet Calculator
 DHCP Scope Monitor
 DNS Structure Analyzer
 DNS Audit
 IP Address Management
2. LAN Speed Test
LAN Speed Test from TotuSoft is a simple but powerful tool for measuring file transfer, hard
drive, USB Drive, and network speeds. All you need to do is pick a destination on the server where
you want to test the WAN connection. The tool will then build a file in memory and transfer it
both ways while measuring the time it takes. It then does all the calculations for you and gives you
an evaluation of the transfer’s performance.

188
Figure 68: LAN Speed Test
You can also choose a computer running the LAN Speed Test Server instead of a shared folder
as a destination. This effectively takes disk access component out of the equation, giving you a
true measure of the network’s performance. The tool is initially set up in its Lite, feature-limited
version. To access the advanced features of the standard version, you must purchase a license
which is available for only ten dollars, with quantity discounts available. The tool is portable and
will run on any Windows version since Windows 2000.

3. LAN Bench
Despite the fact that its developer’s site no longer exists, LAN Bench from Zack Saw is still readily
available for download from several software download websites. It is a free and portable TCP
network benchmarking utility. The tool is based on Winsock 2.2, a rather old framework but one
with minimal CPU usage. That way, you can be reasonably sure that poor CPU performance won’t

189
come and pollute your network performance test results. All the tool does is test the network
performance between two computers but what it does, it does well.

Figure 69: LAN Bench


You’ll need to run LAN Bench on two computers, at either end of the network segment you want
to test. One instance runs as the server and the other one is the client. The server-side requires no
configuration. All you need to do is click the Listen button. The tool’s testing configuration is all
done on the client side, before starting the test. You will need to specify the server’s IP address
and you can adjust several testing parameters such as the total duration of the test, the packet size
used for testing, as well as the connection and transfer mode.

4. NetIO & NetIO-GUI


NetIO-GUI is actually a free front end for the multi-platform command line utility NetIO.
Together, they form a very potent performance testing tool. It can be used to measures ICMP
response times as well as network transfer speeds for different packet sizes and protocols. All the
results are stored in an SQLite database and can easily be compared. This Windows tool is
available either as an installable software or as a portable tool.

190
Figure 70: NetIO-GUI
In order to run tests, you need two instances of the tool, one at either end. One side will run in
client mode while the other will run in server mode. Using it is rather simple, once you have it
running at both ends, you click the start button on the server (typically running at the far end) and,
on the client, you simply enter the server’s IP address and pick the protocol (TCP or UDP) that
you want to use to run the test. You start the test and let NetIO test the connectivity using various
packet sizes before it returns the test results.

5. NetStress
Initially created as an internal tool by Nuts About Nets, NetStress has since started being offered
to the public. It is yet another free and simple network benchmarking tool. Like most other similar
products, you’ll have to run the tool on two computers at either end of the network that you need

191
to test. It is somewhat easier to use than other tools because it can automatically find the receiver
IP address.

Figure 71: NetStress

Running a test with NetStress is very simple, although some might not find it self-explanatory.
What you need to do is click on the 0.0.0.0 next to Remote Received IP. You then select the IP
address that is listed in the window and click OK. Doing that will enable the Start button. Once
enabled, you simply click it and the tool starts testing and measuring the TCP and UDP throughput.
An interesting option found in this tool the ability to modify the MTU size used for testing. Despite
some quirks such as the inability to resize its full-screen window, NetStress is a pretty good tool.

6. Aida32
Aida32 is officially a discontinued product that has been replaced by Aida64 but this older version
still very popular and easy to find. Aida is a hardware information and benchmarking tool that can
192
perform many different tests. The reason this specific—and older—version has made it to our list
is because it includes an excellent Network Benchmark tool which is no longer available in recent
versions. Using the plugin is easy and it can be started from the tool’s Plugin Menu

Figure 72: AIDA 32


Aida32 tool is not very diffèrent in its opérations from most others on this list and you’ll need to
run it at both ends of the path you want to test. On one of the computers, you need to select Master
from the drop-down list that you’ll find at the bottom of the tool’s window. You then go to the
Bandwidth tab and click the Start button. On the other computer, you select Slave instead of Master
and enter the IP address of the master. Just like you did on the master, you go to the Bandwidth
tab and click Start. Once the test completes, the Save button can be used to conveniently save the
bandwidth chart in bitmap format.

7. PerformanceTest
Pass Mark’s Performance Test is a complete PC performance benchmarking software. It made it
to our list because it features a pretty decent advanced network testing tool that one can use to run
network performance tests. The too can run tests on both IPv4 and IPv6 networks. Furthermore, it
will let users set the data block size used for testing. It will also allow you to enable UDP bandwidth

193
throttling if you so desire. The network module is well-hidden within the PerformanceTest
application. You can access it by clicking advanced and then Network from the tool’s menu bar.

Figure 73:PassMArk Advance


2.2.5.4 Learning Activities

 The trainee is required to download SolarWinds WAN Killer from the official download link
and install the free 14 day trial on their personal computer.
 Using the accompanying and appropriate toolsets, specify parameters such as port numbers,
packet size, and percentage of bandwidth to use.
Special instructions
Use only the toolsets available on free trial.

2.2.5.5 Self-Assessment
1. What is network performance?
2. Create a distinction between network testing and network monitoring.
2.2.5.6 Tools, Equipment, Supplies and Materials
Tools
1. Network tool kit

194
2. Signal testers
Equipment
 Computer
 Cables
 Switches
 Routers/modem
 Bridges
 Repeaters
 Fibre modules
 Antistatic gloves
 Ports
 RJ45
 NIC
 Gateways
 Microwave dishes
Materials and supplies
Consumables for maintaining Network including:
 RJ45
 Fibre Modules
 Cables
Replacement parts including:
 Points
 Switches
 Routers
 NIC
 Modem
 Cables
Cleaning materials;
 Hand cleaner.
2.2.5.7 References
195
Brooks, R. R. (2014). Introduction to computer and network security: navigating shades of gray.
Boca Raton ; London: CRC Press, Taylor & Francis Group.
Pelle, I., Lévai, T., Németh, F., & Gulyás, A. (2015, June). One tool to rule them all: A modular
troubleshooting framework for sdn (and other) networks. In Proceedings of the 1st ACM
SIGCOMM Symposium on Software Defined Networking Research (pp. 1-7).
Chen, C. W. (2005). U.S. Patent Application No. 10/776,527
https://docs.oracle.com/cd/E19504-01/802-5753/planning3-78185/index.html
https://www.practicalnetworking.net/stand-alone/classful-cidr-flsm-vlsm/#vlsm
https://www.vskills.in/certification/tutorial/basic-network-support/a-b-and-c-classes-of-
networks/

2.2.5.8 Model answers to self-assessment


What is network performance?
Network performance refers to measures of service quality of a network as seen by the customer”.
There are three essential elements to that definition. The first is the measures part. It established
clearly that network performance is something one has to measure. The next important bit is the
service quality of a network. Service quality is a generic concept but, as you’ll see, a few specific
metrics are associated with it. The last important part is the customer. We’re not interested in
network performance as a theoretical thing. What we need to measure is the true user experience.
Create a distinction between network testing and network monitoring.
These are two similar concepts but there are a few differences. The basic idea is the same:
simulating real user traffic and measuring the actual performance of the network. Where it differs
is in how and when it is done. Monitoring systems run constantly and perform recurring tests
between preconfigured locations and using predefined simulation models. A dashboard will
typically be available to display the latest test results and reports can often be generated for
various purposes.
Testing is different in that it is typically an ad-hoc process that is run manually whenever a
problem is reported or suspected. Tests are also typically run between two specific points on the
network where one suspects a problem is. The test will often help identify and pinpoint the problem.

196
CHAPTER 3: PERFORM COMPUTER SOFTWARE INSTALLATION

Unit of Learning Code: IT/CU/ICT/CR/2/5


Related Unit of Competency in Occupational Standard: Perform Installation of Computer
Software
3.1 Introduction to the Unit of Learning
This unit specifies the competencies required in installing computer software.
It involves identification of the software to be installed, install Computer software, manage
configuration of the software, test software, and undertake user training.
3.2 Summary of Learning Outcomes
1. Identify software to be installed.
2. Install the software.
3. Software configuration management
4. Test software functionality
5. Perform user training.
3.2.1 Learning Outcome 1: Identify software to be installed.

3.2.1.1 Introduction to the Learning Outcome

The trainee should be able to define terms used in computer software installation, classify software
according to their functionality, discuss criteria for software selection, establish acquisition
methods of the software, discuss operating systems, their function, Types of operating system
interfaces and selection of software to be installed based on usage and system requirements.

3.2.1.2 Performance standard


3.2.1.2.1 Software is classified according to the functionality, resource requirement and use.
3.2.1.2.2 Selection of software to be installed is identified based on usage and system requirements.
3.2.1.2.3 Acquisition methods of the selected software are established.

197
3.2.1.3 Information Sheet
Definition of Terms
Software - Is a set of programs, which is designed to perform a well-defined function hence tells
a computer what to do or how to perform a task as well as accomplishing the specific user’s task

A program - Is a sequence of instructions written to solve a particular problem.

Installation - Refers to setting up of a computer program hence making the program ready for
execution.

Program execution - Execution is the process by which a computer interprets our program or
performs the instructions of our program.

Software Acquisition – Includes processes that fund, manage, integrate, deploy and support
software before, during and after their software engineering life cycle.

Operating Systems - This is a set of complex programs that work together to control execution of
user programs called applications and acts as a go between (interfaces) between the applications
of the computer hardware.

Human Computer Interface - Refers to the method of interaction between the computer and the
user and determines how easily the user can operate the computer.

Security - Refers to providing a protection system to computer system resources such as CPU,
memory, disk, software programs and most importantly data/information stored in the
computer system.

Classification of Computer Software


Computer software are classified using three approaches:

a. Classification according to purpose/functionality


b. Classification according to method of acquisition
c. Classification according to end-user license

A. Classification According to Purpose/Functionality

198
Computer software is classified according to the task they perform/functionality/purpose. i.e.,
software that tells the computer hardware what to do and also the software that enables the user
accomplish their specific tasks. This software includes:

i. System software

System software performs a variety of fundamental operations that avails computer resources to
the user. These functions include:
i. Booting the computer and making sure that all the hardware elements are working properly.
ii. Performing operations such as retrieving, loading, executing and storing application programs.
iii. Storing and retrieving files.
iv. Performing a variety of system utility functions.
System software is further divided into:
a. Operating system.
b. Firmware.
c. Utility software.
d. Networking software.

a. The Operating System


This is a set of complex programs that work together to control execution of user programs called
applications and acts as a go between (interfaces) between the applications of the computer
hardware.
It manages input/output and storage operations in a computer. Examples of common operating
systems are Microsoft Windows 7/8/8.1/10, UNIX, Linux, Macintosh (Mac OS) and OS/2.
Therefore the operating system is the main program on the computer system.
b. Firmware
Firmware, also referred to as stored logic is a combination of both the software and hardware
recorded permanently on electronic chips. Usually, a firmware is a read-only memory chip that is
mounted or plugged into the motherboard. Firmware may hold an operating system, utility
programs, language processors etc.
c. Utility software

199
Utility software is a special program that performs commonly used services that make certain
aspects of computing to go on more smoothly. Such services include sorting, copying, file
handling, disk management etc. The two basic types of utility software are:
i. System-level utility software: These help the user to work with the operating system and its
functions. For example, a utility software tells the user when he/she enters a wrong command
and gives suggestions how the error can be corrected.
ii. Application utility software: These make the use of an application program smoother and
efficient. These utility programs are commonly purchased separately or may be part of an
operating system.

d. Networking software
This type of software is mostly used to establish communication between two or more computers
by linking them using a communication channel like cables to create a computer network.
Networking software enables the exchange of data in a network as well as providing data security.
Network software may come as independent software or integrated in an operating system. An
example of networking software is Cisco’s iOS, Microsoft Windows Server
2003/2008/2012/2016, UNIX, Linux, Mac OS X and Novell NetWare.

ii. Application Software


Application software, also called application packages, are programs that are designed to help
the user accomplish specific tasks.
Examples and uses of common application packages are listed in Table 3 below:
Software Uses Examples
1. Word Processors Typing documents like letters. Ms Word, Lotus, WordPro,
WordStar.
2. Desktop publishing Designing publications like Adobe PageMaker,
newspapers, books. Ms publisher
3. Computer aided design Technical drawing. AutoCAD, ArchiCAD, MAYA
3D etc
4. Databases Keeping records and files. Ms Access, dBase.
5. Graphics software Creating and manipulating pictures. Corel Draw, Adobe

200
Photoshop/Illustrator/ Sketchup
etc
Table 26 common application package

iii. Programming Languages/Computer Programming Tools

Computer programming tools, such as compilers and linker, are used to translate and combine
computer program source code and libraries into executable RAMs (programs that will belong to
one of the three said).
Criteria for Selection of Computer Software
Although one may have a good computer with the best hardware, the actual real determinant of a
computer’s value to the user is the software in that it can run to solve the data and information
processing needs.
The following factors/criteria should be considered when selecting software:
a) Authenticity
The term authenticity refers to genuineness, validity and or legitimacy of an item. When you
acquire software from the vendor, make sure it is an original copy that is accompanied by the
developer s license and certificate of authenticity. This is because some people illegally produce
pirated copies which is an offence.
b) Documentation
It refers to the manuals prepared by the developer having details on how to install, use and maintain
the software. These include installation guides, maintenance guides and user guides. These
documentations enable the user to work with the software with minimum guidance.
c) User needs
The needs of the user determine the type of operating system and application programs that should
be considered for acquisition. For example, if the user needs to type documents most often, he/she
would go for a word-processor.
People with special disability will require software that recognizes other forms of input like voice
and natural sound. A good example is software used in mobile phones to store voice and allow the
user to make a call by just calling a name instead of keying in the number.
d) Reliability and security
201
People are more comfortable with software that offers good security to confidential and private
information. Reliability refers to the guarantee that a software will perform with the same
consistency over the period which the owner will be using it with minimal or completely no errors.
e) User friendliness
This is a measure of how easily the users can be able to operate the computer. Some programs are
more user- friendlier than others.

f) Cost
The cost of software is perhaps one of the most controversial issues that must be considered
carefully. One cannot just go for software because it is cheap. Many other factors may force a
person to buy far much more expensive software even with cheaper alternatives available.
However, it is illogical to buy expensive software if there is a reliable cheaper alternative that will
meet one’s needs.
g) Compatibility and System Configuration
Software compatibility refers to the ability of the computer to run the software depending on the
system setup. For example, some software may only run on a computer that has 4GB of RAM and
above so that they will be held temporarily as they are being executed.
h) Portability
Portability in this aspect refers to whether a program can be copied or installed in more than one
computer.

Software Acquisition Methods


They include:

a. Off-the-Shelf/Standard Software
b. In-House Developed Programs
c. Open Source/ Freeware

a. Off-the-Shelf/Standard Software
These programs are developed by software engineers, packaged and then made available for
purchase through a vendor, a distributor or directly from the developer. Examples of suites are

202
Lotus Suite, Microsoft-Office, Adobe Suite, Corel WordPerfect etc. while those of single purpose
are QuickBooks and Sage Line 50.
The word package is sometimes used to refer to these types of software that are packaged and sold
by vendors.
The Advantages of Off the Shelf Software
i. The initial cost of acquisition is cheaper compared to in-house developed software.
ii. They are readily available in the market.
iii. They are more reliable since they have tested and reviewed intensively.
iv. They offer a wide variety of functionality.
v. They receive automatic and regular updates.
vi. They offer after-sales service support.
vii. They are time and cost-saving in comparison to in-house developed software.
.

The Disadvantages of Off the Shelf Software


i. Can be more expensive in the long-run due to licensing and subscription fees.
ii. They cannot easily be customised to the owner’s needs.
iii. They have limited functionality and cannot easily be modified.
iv. Some have an end-of-life support.
v. May attract extra costs for the upgrades.
vi. May offer unnecessary features and functionalities.
vii. May have integration issues.

b. In-House Developed Programs

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. These programs are not available in the shops and once developed for one
company or user may not address the needs of other users.

Advantages of In-House Developed Programs

i. They are easily customisable to the customer’s needs.


203
ii. They offer services and functionalities that precisely fit the owner’s needs.

Disadvantages of In-House Developed Programs

i. They are costly to develop and implement.


ii. They are prone to bugs and errors.
iii. They require special training for their proper use.
iv. They may not be compatible with other off-the-shelf software.
iii. Open Source/Freeware

A software for which the original source code is made freely available and may be redistributed
and modified according to the requirement of the user. It is free to download.

Read more on open-source software by following this link:


https://en.wikipedia.org/wiki/Software_categories

Advantages of Open Source/Freeware

i. Cheaper than commercially marketed products.


ii. Created by skillful and talented people.
iii. Highly reliable.
iv. Help you become more flexible.

Disadvantage of Open Source/Freeware

i. Vulnerable to malicious users.


ii. Might not be as user-friendly as commercial versions.
iii. Don’t come with extensive support.
Operating Systems

An OS is the system software that provides a platform for other programs to run on in a computer.
It’s the program that controls/interacts with the hardware of the computer and controls other
application software.
Factors to Consider When Choosing An Operating System
When choosing an operating system for a computer, the following factors should be considered:

1. Hardware configuration or provision of the computer e.g., memory size, hard disk capacity,
type of processor, processor’s speed, display requirements etc.
204
2. Basic design of the computer e.g., is it an IBM or IBM-Compatible, or an Apple computer.
3. Applications intended for the computer – consider the architecture of the OS i.e., 32-bit or 64-
bit.
4. User friendliness or human computer interface i.e., is it command line based, menu driven, or
graphical user interface based?
5. Availability in the market e.g., Microsoft Windows based operating systems are very common.
6. Cost - how affordable is the operating system?
7. Reliability i.e., can it run without crashing or hanging i.e., stop responding to commands.
8. User support- what are the terms of after-acquisition support for the OS?

Types of Operating Systems

They include:

i. Single and multi-user


ii. Single and multitasking
iii. Traditional OS or Batch mode OS
iv. Multiprocessor OS or Time-Shared Operating System
v. Real time
vi. Distributed

i. Single and Multi-User


a. Single User Operating System

A single user operating system is designed for use by only one person. It cannot support access to
more than one person at a time. e.g., Windows 10 or Ubuntu 20.04 installed on a personal
computer.

b. Multiuser Operating System

Multiuser or multi access operating system allows more than one user to interactively use the
computer. It can be installed on a computer that is accessed by many people at the same time.
Examples of such operating systems are UNIX Solaris, Windows Server 2016, Linux Ubuntu
Server 20.04.

205
NB: When categorising OSs as single user or multi-user, the key parameter used is the number of
users who can concurrently access the services of the OS and not how processes or programs it
can run concurrently.

ii. Single and Multitasking Oss


a. Single Program/Single Tasking OS

Single program operating system allows processing of only one user program in the main memory
at a time. This means that the user can only run one interactive program at a time. Then the user
must exit from the program before loading and running another program. An example of a single
user operating system is MS DOS from Microsoft Corporation.

b. Multi-Tasking OS

This type of operating system allows a single CPU to execute what appears to be more than one
program at the same time. However, internally only one program is being executed at a time. The
CPU switches its attention between programs as it receives requests for processing, executing
statements from one program, and then from another using the concept of giving a time slice to
each application. This switching of attention is so fast that it appears as if the programs are being
executed simultaneously.

iii. Traditional OS or Batch Mode OS

Historically they were the first OS. Refers to a single processor i.e., OS that control a single
processor (Uniprocessor) system which are centralized. Usually allow one job to run at a time e.g.,
the OS for the 2nd generation.

In such systems the program, data & commands to manipulate the program & data are all submitted
together to the computer in form of a job. A job must be completed for the next job to be loaded
& reprocessed. The improvement of such OS is the implementation of batch systems to reduce on
time wasted when the CPU is idle.

In the batch OS, several jobs are collected & processed until processing is aerial or sequential (One
job batch after the other.). Consequently, they support one user at a time. There is little or no
interaction between the user and the executing program (OS is less user friendly to the user)

206
They do not support highly interactive computing with graphics, or point & draw devices e.g., a
mouse.

iv. Multiprocessor O/S or Time-Shared OS

Refers to OS that controls several processes that have a common access to the main memory
storage.

This type of operating system allows several processes to share the processor creating an illusion
that the processes are running simultaneously by shifting execution rapidly among all the active
processes.

This iteration of various processor with their inter-control is necessary & it is done in the multi-
processor OS.
v. Real Time OS
This type of operating system is designed to support execution of tasks within specific wall clock
time constraints. The operating system must guarantee that the task can be executed within a
specified time constraint. This type of operating system is usually limited to dedicated applications
such as industrial control systems, weapon systems and computer-controlled products.

Distributed OS

Refers to a common OS shared by a network of computers. It provides support for inter- process
migration, multi-execution & prevention of deleting deadlock. It appears to user as a uniprocessor
system, even though composed of microprocessors. The users should not be aware of where their
programs are being run or where their files are located. This should all be handled automatically
& efficiently by the OS e.g., when a user starts a program, it may run on a local machine, but if
the computer is heavily loaded & OS knows that another computer is idle, then the job may be
transferred to that machine.

Functions of Operating Systems


The OS performs various functions which include:

a. Storage Management/Memory management.

207
All data and instructions must be temporarily held in the main memory before and after processing.
The operating system may organize the main memory into blocks of sizes called partitions. It
constantly assigns main memory storage partitions to data and instructions. To access a piece of
data or instruction, the operating system knows where to find each piece of data if the correct
address of the partition is used.

The OS ensures that each program and the data it requires are allocated adequate space in memory.

b. Process Control/ Job scheduling


The processor can only handle one task at a time. Therefore, the operating system has to determine
which task will be processed first and makes sure that the one that is currently being processed is
closely monitored to avoid wasting time in the processor. The criteria for selecting which task will
come before the other depends on many factors. For example, the operating system may decide to
process smaller tasks before larger ones.
c. Security Management
It helps in implementing mechanisms that secure and protect the computer system internally as
well as externally. Therefore an operating system is responsible for securing the system at two
different levels which are internal security and external security.
i. Internal security
Internal security refers to the protection of activities of one process from the activities of another
process. The term internal security may also be regarded as system protection. The internal security
of the computer system also ensures the reliability of the computer system. There may be several
process running in the computer systems use the concept of least privilege to implement internal
security.
ii. External security
External security refers to the implementation of a mechanism for securing the data and programs
stored in the computer system as well as the various resources of the computer system against
unauthorized access. The term external security may also be regarded as system security. External
security is particularly required when a computer system is either on a network or connected to the
internet.

d. Device Management/ Input/output Handling


208
Every computer has many input and output devices (I/O). Like a skilled traffic officer, the
operating system coordinates between these various I/O and other peripheral devices such as
auxiliary storage devices, making sure that data flows properly between them and sorting out any
possible confusion. For example, when printing, the CPU directs its attention to the printing
function. The operating system searches for the printer, chooses the correct one, translates the
name for the CPU and finally the CPU sends the document to the printer. This then makes the CPU
available for other activities.

e. Resource Control and Allocation


The OS gives each resource a unique identification number called an interrupt number in order for
the processor to be able to recognize and prioritise the use and requests for resources. Hence when
two tasks request to use a resource at the same time, the one with higher priority interrupt is granted
control. This can be compared to the priority given to the presidential motorcade on a busy road.

Secondly, tries as much as possible to avoid a situation where a particular task holds a needed
resource and refuses to release it for use by other tasks. When several tasks do this, an undesirable
situation called deadlock occurs.

A deadlock is as situation which leads to one process holding onto the use of CPU without release
and thus denying any other process access to the same resource leading to the computer device
‘hanging’.

Therefore, resource control and allocation are core operating system functions because they
determine which tasks uses a particular resource and at what time.

f. Error Handling
The operating system has many ways of alerting the user, of errors he or she makes. Many
operating systems usually express what the error is, and where possible make suggestions on how
to correct the error. The operating system does this by monitoring the status of the computer system
and performing error checks on both hardware and the software.

g. Job Sequencing/ job scheduling

209
The operating system keeps a list of jobs or tasks currently being run and clocks them in and out
of the processor. It also arranges them in a particular order to make it easy for the processor to
execute them and to know how and when to fetch instructions and data for each task.

h. Interrupt Handling
An interrupt is a break from the normal sequential processing of instructions in a program. An
external request causes the processor to stop executing the current task and do something else
before returning the control back to the program that was interrupted.

Each hardware device communicates to the processor using a special number called the interrupt
request number (IRQ number).

Types of Operating System Interfaces

The underlying principle in operating system design is to make complex tasks very simple for the
user to carry out. Follow the link below to learn more on types of operating system interfaces:
https://www.youtube.com/watch?v=2HfvAbLq9rE

Currently the three main types of human computer interface are:

a) Command Line Interface (CLI)

The user interacts with a computer by typing a command at the prompt found on a command line.
A computer reads instructions from the command line and executes them. For a command to be
more user friendly, the words used should be descriptive verbs e.g., print, copy etc. Unique
abbreviations can also be used e.g., Del, Ren, Chkdsk etc. For example, if you are using MS DOS
operating system, you can copy a file called Kimathi.Dat from a hard disk C to partition D as
follows: COPY C:\Kimathi.Dat D:\

Examples of command line interface are the early versions of MS DOS, PC DOS, Linux Bash,
OS/2, and UNIX.

NB: The user must press the enter key for the command to be executed.

Follow the link to learn more about DOS Commands: https://youtu.be/syrb1Fk3m2A

210
The figure below shows the MS DOS command line interface.

Figure 74: MS DOS COMMAND LINE


b) Menu Driven Interface

This type of interface provides the user with a list of options to choose from. The interface therefore
is suitable for beginners who may have difficulties recalling commands. The figure below shows
the Menu driven interface.

211
Figure 75:Menu Driven Interface
c) The Graphical User Interface (GUI)

This type of interface represents commands as small pictures on the screen called icons. Icons can
be selected to issue a command using a pointing device like a mouse. It is user friendliness.

Examples of GUI based operating systems are OS/2 s Presentation Manager, Microsoft Windows,
Linux and Apple Macintosh. A typical Windows QUI interface is shown in Figure 5 below:

212
Figure 76:Windows Graphical User Interface
Follow the link below to learn more on Graphical User Interface
https://www.youtube.com/watch?v=N52jNC8Mt_s&t=2s

3.2.1.4 Learning Activities


Project Work
1. Interact with each of the following Software:
a) Ubuntu 20.04
b) Windows 10
c) MacOS 10.15 Catalina
d) Microsoft Office 2016
From each software’s user guide/user manual.
i. Note down the key system requirements.
ii. Note down key similarities and differences among the listed software.
2. Using internet resources, research on the major operating systems used in:
i. Smart phones
ii. Computer desktop provided.

213
Practical Activities
1. Using the MS DOS command interface, perform the following tasks:
i. Create a directory called Kimathi.
ii. Rename the directory Kimathi to Patrick.
iii. Create a text file named Jane.txt and save it in the directory named Patrick.
iv. Add the following line of text in the file Jane.txt “This is my first text file!”
v. Save the changes to the file.
vi. Display list of contents of current directory
vii. Change directory/partition D.
viii. Checks a disk C and displays a status report.
ix. Display and set the computer's time and date to 12:00:00 31/12/2020.
x. Open any application program from the command line.

3.2.1.5 Self-Assessment
1. Discuss five factors that one should consider when choosing an Operating System to install to
a computer. [10 Marks]
2. Which five requirements would you consider before installing an Operating System on a
computer? [5 Marks]
3. Discuss the three software acquisition methods and select the best method to use when
choosing software for drawing a house plan. [10 Marks]
4 Using the ms dos command interface, perform the following task.
i. Create a directory called Kimathi.
ii. Rename a directory to Patrick.
iii. Display list of contents of current directory.
iv. Change directory/partition to D.
v. Checks a disk D and displays a status report.
vi. Displays or sets the computer's time.
vii. Displays or sets the computer's date.

214
3.2.1.6 Tools, Equipment, Supplies and Materials
1 Utility programs e.g antivirus
2 Computer(s)
3 Application Software
4 External Hard disk
5 Flash disk
6 Software CD/DVD
7 Digital instructional material including DVDs and CDs;
8 Operating systems
9 Power
10 Internet connection

3.2.1.7 References
Geoffery Chemwa, Stephen Mburu. (2006). Computer Studies Form 1. Nairobi: Longhorn.

tutorialspoint. (2016). Operating System. Retrieved 11 11, 2020, from www.tutorialspoint.com:


https://www.tutorialspoint.com/operating_system/operating_system_tutorial.pdf

Graphical User Interface. (2019, Jan 5 ). Retrieved Nov 11, 2020, from you tube :
https://www.youtube.com/watch?v=N52jNC8Mt_s&t=2s

DOS Commands basic. (2012, Oct 24 ). Retrieved Nov 11, 2020, from youtube.com:
https://www.youtube.com/watch?v=1dGwn7cPNeU

OS , CLI Command Line Interface and Menu Driven Interface. (2020, Jun 25 ). Retrieved Nov 11,
2020, from youtube.com: https://www.youtube.com/watch?v=2HfvAbLq9rE

Jain, P. (2018, June 28). Device and Security Management in Operating System. Retrieved Nov 22,
2020, from includehelp.com: https://www.includehelp.com/operating-systems/device-and-
security-management.aspx

Chief, E. i. (2015, Jun 28). 7 Main Advantages and Disadvantages of Open Source Software.Retrieved
Dec 24, 2020, from connectusfund.org: https://connectusfund.org/7-main-advantages-and-
disadvantages-of-open-source-software

215
3.2.1.8 Model Answers to self-assessment

1. Factors that one should consider when choosing an Operating System to install to a computer.
i. Hardware configuration
ii. User friendliness
iii. . Applications
iv. Basic design
v. Availability in the market
vi. Reliability
vii. Cost
2. The requirements for a computer to be installed with an Operating System
i. Processor: - 1 gigahertz (GHz) or faster processor or System on a Chip (SoC)
ii. RAM: - 1 gigabyte (GB) for 32-bit or 2 GB for 64-bit
iii. Hard drive space:- 16 GB for 32-bit OS 32 GB for 64-bit OS
iv. Graphics card:- DirectX 9 or later with WDDM 1.0 driver
v. Display:- 800x600

3. Compare all the software acquisition methods and identify the best method to use, justifying
your answer.

i. Open source
ii. Off the shelf/standard software
iii. In-house developed programs
Nb: justification depending on the advantages over the disadvantages.

4 Using the ms dos command interface, perform the following task.


i. Create a directory called Kimathi - mkdir Kimathi.
ii. Rename a directory to Patrick - rename Kimathi Patrick.
iii. Display list of contents of current directory - dir Patrick.

216
iv. Change directory/partition to D - D:
v. Checks a disk D and displays a status report - chkdsk.
vi. Displays or sets the computer's time - time.
vii. Displays or sets the computer's date - date

217
3.2.2 Learning outcome 2 install the software.

3.2.2.1 Introduction to the learning outcome

The trainee should be able to explain terms used in software installation, define software
installation, prepare installation media, describe software installation legal requirements, describe
existing data protection, explain types of software installation (attended, unattended, headless,
schedule/automated, clean/updating and network), describe software installation, registration
perform software configuration and explain importance of registration

3.2.2.2. Performance Standard


3.2.2.2.1 Software specifications and computer resource requirements are identified.
3.2.2.2.2 Source of software installation files is determined.
3.2.2.2.3 Existing data is backed up.
3.2.2.2.4 User vendor agreements are identified.
3.2.2.2.5 Software installation is done as per the installation manual provided.

3.2.2.3 Information Sheet

Definition of terms
Software installation - refers to the process of setting up a software to work with the computer,
printer, and other hardware.

Installation media – refers to a device like USB flash drive or DVD used to install a new copy of
OS, perform a clean installation, or reinstall OS.

Software License Agreement - is an agreement between a company and it’s customers for use of
the software they have the rights to.
Data protection - is the process of safeguarding important information from corruption,
compromise or loss.

Data security - is both the practice and the technology of protecting valuable and sensitive
company and customer data, such as personal or financial information.

218
Data backup - entails making a copy of your data and storing it on a separate system or medium
such as a tape, disk, or in the cloud.

An End-User License Agreement (EULA) is a legal contract entered into between a software
developer or vendor and the user of the software, often where the software has been purchased by
the user from an intermediary such as a retailer. A EULA specifies in detail the rights and
restrictions which apply to the use of the software.

Product activation - is a license validation procedure required by some proprietary computer


software programs. Product activation prevents unlimited free use of copied or replicated software.

A software wizard or setup assistant - is a user interface type that presents a user with a sequence
of dialog boxes that lead the user through a series of well-defined steps. Tasks that are complex,
infrequently performed, or unfamiliar may be easier to perform using a wizard.

How to create installation media


To create the installation media, the following requirements are required:

i. A PC with a reliable internet connection.


ii. A USB flash drive or DVD. A blank USB flash drive with at least 8 GB of space, or a blank
DVD (and DVD burner
iii. A product key. Your 25-character product key (not required for digital licenses).

Procedure
To create installation media, go to the software download website, where you'll find step-by-step
instructions. On that website, you can select a version of Windows and create your own installation
media using either a USB flash drive or a DVD. To go directly to one of the versions, select one
of these hyperlinks:

Windows 7
Windows 8.1
Windows 10 (Then select Download tool now.)

Example using windows 10

219
Follow these steps to create installation media (USB flash drive or DVD) you can use to install a
new copy of Windows 10, perform a clean installation, or reinstall Windows 10.

Before you download the tool make sure you have:

 An internet connection (internet service provider fees may apply).


 Sufficient data storage available on a computer, USB or external drive for the download.
 A blank USB flash drive with at least 8GB of space or blank DVD (and DVD burner) if you
want to create media. We recommend using a blank USB or blank DVD, because any content
on it will be deleted.
 When burning a DVD from an ISO file, if you are told the disc image file is too large you will
need to use Dual Layer (DL) DVD Media.

Check a few things on the PC where you want to install Windows 10:

 64-bit or 32-bit processor (CPU). You’ll create either a 64-bit or 32-bit version of Windows
10. To check this on your PC, go to PC info in PC settings or System in Control Panel, and
look for System type.
 System requirements. Make sure the PC meets the system requirements for Windows 10. It
is recommended to go to the PC manufacturer's website for additional info about updated
drivers and hardware compatibility.
 Language in Windows. You'll need to choose the same language when you install Windows
10. To see what language you're currently using, go to Time and language in PC settings or
Region in Control Panel.
 Edition of Windows. You should also choose the same edition of Windows. To check what
edition you're currently running, go to PC info in PC settings or System in Control Panel, and
look for Windows edition.
 Microsoft Office products. If you just purchased a new device that includes Office 365, it is
recommend redeeming (installing) Office before upgrading to Windows 10. To redeem your
copy of Office, please see Download and install Office 365 Home, Personal, or University on
your PC.

220
If you have Office 2010 or earlier and choose to perform a clean install of Windows 10, you
will need to locate your Office product key. For tips on locating your product key, check Find
your Office 2010 product key or Enter the product key for your Office 2007 program.

Using the tool to create installation media:

1. Select Download tool now and select Run. You need to be an administrator to run this tool.
2. If you agree to the license terms, select Accept.
3. On the What do you want to do? page, select Create installation media for another PC, and
then select Next.

Select the language, edition, and architecture (64-bit or 32-bit) for Windows 10.

4. Select which media you want to use:


o USB flash drive. Attach a blank USB flash drive with at least 8GB of space. Any
content on the flash drive will be deleted.
o ISO file. Save an ISO file to your PC, which you can use to create a DVD. After the
file is downloaded, you can go to location where the file is saved, or select Open DVD
burner, and follow the instructions to burn the file to a DVD. For more info about
using an ISO file, see Additional methods for using the ISO file to install Windows 10
section below.
5. After the installation media is created, follow the steps below to use it.
6. After completing the steps to install Windows 10, please check that you have all the necessary
device drivers installed. To check for updates now, select the Start button, and then go to
settings update & security windows update, and select check for updates.

NB: Click the Media link below to follow how to How to Create Windows 10 Installation
https://www.youtube.com/watch?v=DGcWddE6c4c

Software installation legal requirements

A software license agreement is something you want to have in place to prevent or protect you from
infringement of copyright law
221
Reasons for software installation legal requirements:
i. It prevents abuses of your software – If you fail to have one of these agreements signed by one of
your customers, there is nothing stopping them from trying to replicate it or copy it for their own
benefit.
ii. It allows you to license it and not sell it – When you allow users to purchase a license of your
software, you still retain all rights to it. This allows you to license it to others and also allows you
to place restrictions on its use.
iii. It allows you to disclaim warranties – No matter what you do, a customer who installs your
software will have expectations that cannot be met all the time. This can be something such as a
guarantee of no software bugs, no downtime, or other such expectations. You can include terms in
your software license agreement that will include a disclaimer of warranties which will require the
user to accept it as is or as available.
iv. It can limit your liability – you could potentially be exposing yourself to lawsuits. These lawsuits
not only take up your valuable time, but they also can create some financial issues for you.
v. It can allow you to terminate use at any time with no problems – There should be a portion of the
agreement that states that you can revoke licenses at any time.

Sections of software installation legal requirements


There are four main sections of software license agreements and each one covers different
information that is key to the execution of the agreement, as follows:
i. General information – In this section, you will find information about when the agreement will
go into effect, how long the terms of the agreement will be active for, and the type of agreement.
While this is very general information, it is important because it sets the tone for the entire
agreement.
ii. Parties involved – It defines who the parties are that are entering into the agreement. It will not
only detail your company as the one offering the license but will also include the details of the
person or company that is purchasing the license. You will need to enter in their full name as well
as their address and other contact information. You will also need to define whether it is an
individual or a company. This information will need to be provided for both parties.

222
iii. Terms of the agreement – it contains all the terms of the agreement. This includes the price to be
paid for the license, which you can define as a flat fee or a flat fee with yearly maintenance fees.
You will also include information about whether you will be including the code along with the
license and if it is a site license. A site license is another option that will allow your customer to
use the software on more than one computer but only at one location. This section will also include
some information about maintenance, support, or refunds that will or will not be offered by your
company through the agreement.
iv. Fine details – This section is the one that you will use to detail any specifics that are not covered
by the other sections of the software license agreement. These terms tend to be more specific to
your situation instead of broadly expected terms. Also, in this section will be the location for
signatures and dates.

Existing data protection


Data security core principles
Data security is a set of standards and technologies that protect data from intentional or accidental
destruction, modification, or disclosure.
The three principles of data security also referred to as information security are;
1) Confidentiality
2) Integrity
3) Availability

Figure 77:Data Security Core Principles

1) Confidentiality – means that sensitive data or information belonging to an organization or


government should not be accessed by or disclosed to unauthorized people.

223
2) Integrity – means that data should not be modified without owner’s authority. Data integrity
is violated when a person accidentally or with malicious intent, erases or modifies important
files
3) Availability – information must be available on demand. This means that any information
system and communication link used to access it, must be efficient and functional.
TYPES OF DATA SECURITY CONTROLS

Types of data security controls include:

Authentication

Authentication technology verifies if a user’s credentials match those stored in your database.
Today’s standard authentication processes include using a combination of ways to identify an
authorized user, such as passwords, PINS, security tokens, a swipe card, or biometrics.

Access control

Authentication and authorization happen through the process called access control. Access control
systems can include:

Discretionary access control (the least restrictive), which allows access to resources based on the
identity of users or groups,

Role-based access control, which assigns access based on organizational role and allows users
access only to specific information,

Mandatory access control, which allows a system administrator to strictly control access to all
information.

Backups & recovery

Prioritizing data security also requires a plan for how to access your company’s and client’s data
in the event of system failure, disaster, data corruption, or breach. Doing regular data backups is
an important activity to help with that access. You can then recover lost data by using your backup.

Encryption

224
Data encryption software effectively enhances data security by using an algorithm (called a cipher)
and an encryption key to turn normal text into encrypted cipher text. To an unauthorized person,
the cipher data will be unreadable.

That data can then be decrypted only by a user with an authorized key. Encryption is used to protect
the data that you store (called data at rest) and data exchanged between databases, mobile devices,
and the cloud (called data in transit). Your encryption keys must be securely managed, including
protecting your critical management systems, managing a secure, off-site encryption backup, and
restricting access.

Data masking

Data masking software hides data by obscuring letters and numbers with proxy characters. The
data is still there, behind the masking. The software changes the data back to its original form only
when an authorized user receives that data.

Tokenization

Tokenization substitutes sensitive data with random characters that are not algorithmically
reversible. The relationship between the data and its token values is stored in a protected database
lookup table, rather than being generated by and decrypted by a mathematical algorithm (as in the
case of encryption). The token representing the real data is used across different systems as a
replacement, while the actual data is stored on a separate, secure platform.

Deletions & erasure

When electronic data is no longer needed and must be permanently cleared from the system,
erasure can overwrite that data so that it is irretrievable. Erasure is different from deletion, which
is a process that simply hides data in such a way that makes it easy to retrieve.

Types of software installation

a. Attended
b. Unattended
225
c. Headless
d. Schedule/Automated
e. Clean/Updating.
f. Network

Attended installation.

An installation process usually needs a user who attends it to make choices, such as accepting or
declining an end-user license agreement (EULA), specifying preferences such as the installation
location, supplying passwords or assisting in product activation. In graphical environments,
installers that offer a wizard-based interface are common. Attended installers may ask users to help
mitigate the errors. For instance, if the disk in which the computer program is being installed was
full, the installer may ask the user to specify another target path or clear enough space in the disk.

Unattended installation

Installation that is performed without user interaction during its progress or with no user present
at all. One of the reasons to use this approach is to automate the installation of a large number of
systems. An unattended installation either does not require the user to supply anything or has
received all necessary input prior to the start of installation. In unattended installation, it is assumed
that there is no user to help mitigate errors. For instance, if the installation medium was faulty, the
installer should fail the installation, as there is no user to fix the fault or replace the medium.
Unattended installers may record errors in a computer log for later review.

Silent installation

Installation that does not display messages or windows during its progress. "Silent installation" is
not the same as "unattended installation” All silent installations are unattended but not all
unattended installations are silent. The reason behind a silent installation may be
convenience. Malware is almost always installed silently.

226
Figure 78:Silent installation
Headless installation

Installation performed without using a computer monitor connected. In attended forms of headless
installation, another machine connects to the target machine (for instance, via a local area network)
and takes over the display output. Since a headless installation does not need a user at the location
of the target computer, unattended headless installers may be used to install a program on multiple
machines at the same time.

Scheduled or automated installation

An installation process that runs on a preset time or when a predefined condition transpires, as
opposed to an installation process that starts explicitly on a user's command. For instance, a system
administrator willing to install a later version of a computer program that is being used can
schedule that installation to occur when that program is not running. An operating system may
automatically install a device driver for a device that the user connects. E.g Malware can be
installed automatically and automatic software updates

Clean installation

A clean installation is one that is done in the absence of any interfering elements such as old
versions of the computer program being installed or leftovers from a previous installation. In
227
particular, the clean installation of an operating system is an installation in which the target disk
partition is erased before installation and formatted.

Network installation

Network installation, shortened netinstall, is an installation of a program from a shared network


resource that may be done by installing a minimal system before proceeding to download further
packages over the network. This may simply be a copy of the original media but software
publishers which offer site licenses for institutional customers may provide a version intended for
installation over a network.

Software installation and registration

Software installation

Figure 79:software installation flowchart


Operating System Installation Tasks

The following is an overview of the procedures that are needed to install a new operating system
(OS).
228
1. Set up the display environment.

If you are not using the optional DVD drive for preparing the system for OS installation and
installing the OS,

Follow the link for Accessing the Server Output During Installation

2. Erase the primary boot disk.

If you have an operating system preinstalled on the server, you will need to remove it before
installing a new operating system.

To erase the primary boot hard disk:

1. Back up all data that you want to save on the hard drive.
2. Insert the Tools and Drivers CD into the server's optional DVD drive.
3. Boot the server from the CD.
4. When the main menu appears, select the following option from the Tools and Drivers CD
main menu:

This option erases all partitions currently located on the primary hard drive, except for the
diagnostic partition. If the diagnostic partition is present, it remains untouched.

3. Set up the BIOS.

You need to make sure that the BIOS is set up for the operating system that you plan to install.

Follow the link for Setting up the BIOS for Operating System Installation.

4. Install the operating system.

See the chapter in this document that corresponds to the operating system that you plan to install.

5. Configure your server for RAID.

229
If you plan to configure your server for RAID operation, you will need to perform some setup
tasks before installing the operating system.

Follow the link to Configure Your System for RAID.

7. Install the operating system, update the drivers, and run operating system updates, as necessary.
Click the link below to download the Software Installation Manual
https://www.lanl.gov/orgs/n/n1/FMTTD/symm_analyses/pdfs/sm_installation.pdf

Software registration
Follow the link below for Software Registration Procedure
https://www.youtube.com/watch?v=RVTBgq73acU

Importance of registration
When you install software on your computer, you may be asked to register your copy of the
software with the manufacturer.
By registering your software, manufacturers can alert you of security and performance
updates/patches.

3.2.2.4 Learning Activities

1. Install Windows 10 Operating System and Microsoft windows 2010.


i. Identify Software specifications and computer resource requirements in the computer
system provided to establish if it can be installed both Windows 10 and Microsoft 2010
ii. Determine the source of software installation files.
iii. Check and back up existing data before the installation.
iv. Using the tools, equipment, materials, and the manual provided, Install Windows 10
Operating System and Microsoft windows 2010.

2. Creating a Software License Agreement

230
If you need to create a software license agreement then simply use customizable software license
agreement template to make your agreement.

3.2.2.5 Self-Assessment

1. Install Windows 10 Operating System. Write down the procedure as you are installing
Windows 10 Operating System.
2. Create Windows 10 Installation Media and write down the requirements and its procedure.
3. Describe things to be considered while installing Windows 10 on the PC.
4. Using the tool, create installation media:
5. Erase the primary boot hard disk:

3.2.2.6 Tools, Equipment, Supplies and Materials


1 Computer
2 External Hard disk
3 Flash disk
4 CD/DVD
5 Digital instructional material including DVDs and CDs.
6 Operating system windows 10 Software
7 Machines
8 Power
9 Application software

3.2.2.7 References
ComputerBoards, I. (1999, June 01). SOFTWARE INSTALLATION. Retrieved Nov 13,
2020, from www.lanl.gov:
https://www.lanl.gov/orgs/n/n1/FMTTD/symm_analyses/pdfs/sm_installation.pdf

Guru99. (2020 ). Software Configuration Management in Software Engineering. Retrieved


Nov 14, 2020 , from guru99.com: https://www.guru99.com/software-configuration-
management-tutorial.html#3

231
LegalNature. (2019). The Basics of Software License Agreements. Retrieved Nov 12,
2020, from legalnature.com: https://www.legalnature.com/guides/the-basics-of-software-
license-agreements#what-is-a-software-license-agreement

Looker Data Sciences, I. (2020). Data security. Retrieved Nov 13, 2020, from
https://looker.com/: https://looker.com/definitions/data-security

Microsoft. (2020). Create installation media for Windows 10 Windows 8.1 Windows 7.
Retrieved Nov 12, 2020, from support.microsoft.com: https://support.microsoft.com/en-
us/windows/create-installation-media-for-windows-99a58364-8c02-206f-aa6f-
40c3b507420d

Microsoft. (2020). Create Windows 10 installation media. Retrieved Nov 12, 2020, from
microsoft.com: https://www.microsoft.com/en-us/software-download/windows10

Microsystems, S. (2006). Operating System Installation Overview. Retrieved Nov 14,


2020, from docs.oracle.com: https://docs.oracle.com/cd/E19121-01/sf.x2100m2/819-
6592-13/Chap1.html#13255

Wikipedia. (2020, Nov 02). wikipedia. Retrieved Nov 13, 2020, from en.wikipedia.org:
https://en.wikipedia.org/wiki/Wizard_(software)

youtube. (2013, Sep 06). Software Registration Procedure. Retrieved Nov 14, 2020, from
youtube.com: https://www.youtube.com/watch?v=RVTBgq73acU

youtube. (2020, Mar 22). How to Create Windows 10 Installation Media. Retrieved Nov
12, 2020, from youtube.com: https://www.youtube.com/watch?v=DGcWddE6c4c

232
3.2.2.8 Model answers to self-assessment
1. Create Windows 10 Installation Media and write down the requirements and its procedure.

To create the installation media, the following requirements are required:

i. A PC with a reliable internet connection.


ii. A USB flash drive or DVD. A blank USB flash drive with at least 8 GB of space, or a blank
DVD (and DVD burner). We recommend using a blank USB or blank DVD because any
content on it will be deleted. When burning a DVD from an ISO file, if you're told the disc
image file is too large, you'll need to use dual layer (DL) DVD media.
iii. A product key. Your 25-character product key (not required for digital licenses).

Procedure
To create installation media, go to the software download website, where you'll find step-by-step
instructions. On that website, you can select a version of Windows and create your own installation
media using either a USB flash drive or a DVD. To go directly to one of the versions, select one
of these links:

2. things to be considered while installing Windows 10 on the PC.

 64-bit or 32-bit processor (CPU). You will create either a 64-bit or 32-bit version of Windows
10. To check this on your PC, go to PC info in PC settings or System in Control Panel, and
look for System type.
 System requirements. Make sure the PC meets the system requirements for Windows 10. It
is recommended to go to the PC manufacturer's website for additional info about updated
drivers and hardware compatibility.
 Language in Windows. You will need to choose the same language when you install Windows
10. To see what language you are currently using, go to Time and language in PC settings or
Region in Control Panel.
 Edition of Windows. You should also choose the same edition of Windows. To check what
edition you are currently running, go to PC info in PC settings or System in Control Panel,
and look for Windows edition.

233
 Microsoft Office products. If you just purchased a new device that includes Office 365, it is
recommend redeeming (installing) Office before upgrading to Windows 10. To redeem your
copy of Office, please see Download and install Office 365 Home, Personal, or University on
your PC.

If you have Office 2010 or earlier and choose to perform a clean install of Windows 10, you
will need to locate your Office product key. For tips on locating your product key, check Find
your Office 2010 product key or Enter the product key for your Office 2007 program

3. Creating installation media Using the tool,

1. Select Download tool now and select Run. You need to be an administrator to run this tool.
2. If you agree to the license terms, select Accept.
3. On the What do you want to do? page, select Create installation media for another PC, and
then select Next.

4. Types of software installation

Attended installation - An installation process usually needs a user who attends it to make
choices, such as accepting or declining an end-user license agreement (EULA), specifying
preferences such as the installation location, supplying passwords or assisting in product
activation.

Unattended installation - Installation that is performed without user interaction during its
progress or with no user present at all. An unattended installation either does not require the user
to supply anything or has received all necessary input prior to the start of installation.

Silent installation - Installation that does not display messages or windows during its progress.

Headless installation - Installation performed without using a computer monitor connected.

Scheduled or automated installation -An installation process that runs on a preset time or
when a predefined condition transpires, as opposed to an installation process that starts explicitly
on a user's command.
234
Clean installation -A clean installation is one that is done in the absence of any interfering
elements such as old versions of the computer program being installed or leftovers from a
previous installation.

Network installation -Network installation, shortened netinstall, is an installation of a program


from a shared network resource that may be done by installing a minimal system before
proceeding to download further packages over the network.

5. How to erase the primary boot hard disk:

1. Back up all data that you want to save on the hard drive.
2. Insert the Tools and Drivers CD into the server's optional DVD drive.
3. Boot the server from the CD.
4. When the main menu appears, select the following option from the Tools and Drivers CD
main menu:

235
Learning Outcome 3: Software Configuration Management
3.2.3.1 Introduction to the Learning Outcome

The trainee should be able to explain terms used in software configuration management, describes
software configuration components, explain reasons for software configuration
(Tracking and Controlling), explain the importance of software configuration management,
describe auditing and accounting.

3.2.3.2 Performance Standard


3.2.3.2.1 Software configuration management components are identified.

3.2.3.2.2 Importance and reasons for software configuration management are identified.

3.2.3.3 Information Sheet


Definition of Terms

 Configuration - is the way a system is set up, or the assortment of components that make up
the system.
 Software configuration – means selecting programmable options that make the program
function to the user's liking.
 Hardware configuration - means assembling desired components for a custom system as well
as selecting options in the user-programmable parts of the system.
 Software Configuration Management (SCM)- is a process to systematically manage, organize,
and control the changes in the documents, codes, and other entities during the Software
Development Life Cycle.
 Change control - is a procedural method which ensures quality and consistency when changes
are made in the configuration object.

Software configuration components

There are the four basic requirements for a software configuration management system. These
include:

i. Identification
236
ii. Control
iii. Audit
iv. status accounting

i. Identification—each software part is labeled so that it can be identified.


ii. Control—, "control" means that proposed changes to a CI are reviewed and, if approved,
incorporated into the software configuration. The goal is to make informed decisions and to
acknowledge the repercussions associated with a change to the system.
iii. Auditing—the audits allow managers to determine whether software evolution is preceding
both logically and in conformance with requirements for the software.
iv. Status accounting—the accounting provides the historic information to determine both what
happened and when on the software project. This is critical to the software project manager in
making estimates for new systems based on historic information.

Importance of Software Configuration Management

i. Reduced risk of outages and security breaches through visibility and tracking of the changes
to your systems.
ii. Cost reduction by having detailed knowledge of all the elements of your configuration,
avoiding wasteful duplication of your technology assets.
iii. Improved experience for your customers and internal staff by rapidly detecting and correcting
improper configurations that could negatively impact performance.
iv. Strict control of your processes by defining and enforcing formal policies and procedures that
govern asset identification, status monitoring, and auditing.
v. Greater agility and faster problem resolution, enabling you to provide a higher quality of
service and reduce software engineering costs.
vi. Efficient change management by knowing your baseline configuration and having the
visibility to design changes that avoid problems.
vii. Quicker restoration of service. In an outage, you will be able to recover quickly as your
configuration is documented and automated.
viii. Better release management and clear status accounting.

237
Participants of SCM process:

Following are the key participants in SCM.

Figure 80:participants in SCM


Configuration Manager

Configuration Manager is the head who is Responsible for identifying configuration items.

CM ensures team follows the SCM process.

He/she needs to approve or reject change requests.

Developer

The developer needs to change the code as per standard development activities or change requests.
He is responsible for maintaining configuration of code.

The developer should check the changes and resolves conflicts.

Auditor

The auditor is responsible for SCM audits and reviews.

Need to ensure the consistency and completeness of release.


238
Project Manager:

Ensure that the product is developed within a certain time frame.

Monitors the progress of development and recognizes issues in the SCM process.

Generate reports about the status of the software system.

Make sure that processes and policies are followed for creating, changing, and testing.

User

The end user should understand the key SCM terms to ensure he has the latest version of the
software.

3.2.3.4 Learning Activities


Visit an ICT department/ industry request for system/ software audit report and identify the key
elements captured in the audit report.

3.2.3.5 Self-Assessment
What are the benefits of software configuration management?

Assume you are the Configuration Manager; identify configuration items, describe SCM process.

What are the steps/ processes for a software change control?

3.2.3.6 Tools, Equipment, Supplies and Materials


Computer

Software

External Hard disk

Flash disk

CD/DVD

Digital instructional material including DVDs and CDs;

239
Operating system

Power

Application software

Puppet

Chef

3.2.3.7 References
TechnologyAdvice. (2020). Configuration Definition & Meaning. Retrieved Nov 16, 2020, from
webopedia.com: https://www.webopedia.com/TERM/C/configuration.html

ZIFF DAVIS, LLC. PCMAG DIGITAL GROUP. (2020). configuration. Retrieved Nov 16, 2020,
from pcmag.com: https://www.pcmag.com/encyclopedia/term/configuration

Guru99. (2020 ). Software Configuration Management in Software Engineering. Retrieved Nov


14, 2020 , from guru99.com: https://www.guru99.com/software-configuration-management-
tutorial.html#3

3.2.3.8 Model Answers to self-assessment

What are the benefits of software configuration management?

Reduced risk of outages and security breaches through visibility and tracking of the changes to
your systems.

Cost reduction by having detailed knowledge of all the elements of your configuration, avoiding
wasteful duplication of your technology assets.

Improved experience for your customers and internal staff by rapidly detecting and correcting
improper configurations that could negatively impact performance.

Strict control of your processes by defining and enforcing formal policies and procedures that
govern asset identification, status monitoring, and auditing.

240
Greater agility and faster problem resolution, enabling you to provide a higher quality of service
and reduce software engineering costs.

Efficient change management by knowing your baseline configuration and having the visibility to
design changes that avoid problems.

Quicker restoration of service. In an outage, you will be able to recover quickly as your
configuration is documented and automated.

Better release management and clear status accounting

Assume you are the Configuration Manager, you need to configure a server in your organisation,
identify configuration items.

Actual Request: Statement of the need.

Reason for the Request: Customer impacts if the request cannot be completed or if considerable
time passes before the request can be completed.

Conditions of Success: what they expect from the change.

Expected Completion: The expected due date for the item.

Expected Value: why the request is needed.

241
What are the steps/ processes for a software change management?

Figure 81:Change management process

242
3.2.4 Learning outcome 4: Test software functionality and software maintenance

3.2.4.1 Introduction to the learning outcome

The trainee should be able to explain terms used in testing software functionality and software
maintenance, describe Techniques of Software Testing (Boundary value analysis, Equivalence
class partitioning and Error Guessing), generate Installation checklist, describe Functional Testing
(Mainline functions, Basic Usability, Accessibility and Error Conditions) and Generate test report.

3.2.4.2 Performance Standard


3.2.1.2.1 Software Techniques are identified.
3.2.1.2.2 Software test is performed.
3.2.1.2.3 Software functionality is determined according to the test performed.
3.2.1.2.4 Test report is generated.

3.2.1.3 Information Sheet


Definition of terms

Testing: is to compare the actual result with the expected result. Testing is done to identify whether
all the function is working as expectations
Software testing: is a technique to check whether the actual result matches the expected result
and to ensure that the software has not any defect or bug
Installation Testing: It is the process performed to verify if the software has been setup with all
the necessary components and it is working as expected.
Uninstallation Testing: Uninstallation testing is performed to verify if all the components of the
application is removed during the process or NOT.
Software Testing Techniques - help one to design better test cases aimed at evaluating an attribute
or capability of a program or product and determining that it meets its quality.
Software Maintenance - is a part of Software Development Life Cycle. Its main purpose is to
modify and update software application after delivery to correct faults and to improve
performance.
Software maintenance - It’s the process to modify and update software application after delivery
to correct faults and to improve performance.

243
Software quality factors

a. Reliability - The degree to which the result of a measurement, calculation, or specification


can be depended on to be accurate. i.e the software performing consistently well
b. Usability - is the degree to which software can be used by specified consumers to achieve
quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context
of use.
c. Integrity - no unauthorized changes have been made to the software.
d. Security - is any type of software that secures and protects a computer, network or any
computing-enabled device
e. Capability – software able to perform a specified task
f. Efficiency - amount of resources required by a program to perform a specific function
g. Portability - the usability of the same software in different environments.
h. Maintainability - The ease with which a software system or component can be modified
to correct faults, improve performance or other attributes, or adapt to a changed
environment.
i. Compatibility - is the capacity for two systems to work together without having to be
altered to do so.

Techniques of Software Testing

a. Boundary value analysis

Boundary value analysis is based on testing at the boundaries between partitions. It includes
maximum, minimum, inside or outside boundaries, typical values and error values.

This software testing technique base on the principle that, if a system works well for these
particular values then it will work perfectly well for all values which comes between the two
boundary values.

Guidelines for Boundary Value analysis

 If an input condition is restricted between values x and y, then the test cases should be designed
with values x and y as well as values which are above and below x and y.

244
 If an input condition is a large number of values, the test case should be developed which need
to exercise the minimum and maximum numbers. Here, values above and below the minimum
and maximum values are also tested.
 Apply guidelines 1 and 2 to output conditions. It gives an output which reflects the minimum
and the maximum values expected. It also tests the below or above values.

Example:

 Input condition is valid between 1 to 10


 Boundary values 0,1,2 and 9,10,11

b. Equivalence class partitioning

Equivalent Class Partitioning allows you to divide set of test condition into a partition which
should be considered the same. This software testing method divides the input domain of a program
into classes of data from which test cases should be designed.

The concept behind this technique is that test case of a representative value of each class is equal
to a test of any other value of the same class. It allows you to identify valid as well as invalid
equivalence classes.

Example:

Input conditions are valid between

 1 to 10 and 20 to 30

Hence there are five equivalence classes

 --- to 0 (invalid)
 1 to 10 (valid)
 11 to 19 (invalid)
 20 to 30 (valid)
 31 to --- (invalid)
245
You select values from each class, i.e.,

-2, 3, 15, 25, 45

c. Error Guessing

Error Guessing is a software testing technique based on guessing the error which can prevail in the
code. The technique is heavily based on the experience where the test analysts use their experience
to guess the problematic part of the testing application. Hence, the test analysts must be skilled
and experienced for better error guessing.

Guidelines for Error Guessing:

 The test should use the previous experience of testing similar applications
 Understanding of the system under test
 Knowledge of typical implementation errors
 Remember previously troubled areas
 Evaluate Historical data & Test results

d. Decision Table Based Testing.

A decision table is also known as to Cause-Effect table. This software testing technique is used for
functions which respond to a combination of inputs or events. For example, a submit button should
be enabled if the user has entered all required fields.

The first task is to identify functionalities where the output depends on a combination of inputs. If
there are large input set of combinations, then divide it into smaller subsets which are helpful for
managing a decision table.

For every function, you need to create a table and list down all types of combinations of inputs and
its respective outputs. This helps to identify a condition that is overlooked by the tester.

Steps to create a decision table:

246
i. Enlist the inputs in rows
ii. Enter all the rules in the column
iii. Fill the table with the different combination of inputs
iv. In the last row, note down the output against the input combination.

Example: A submit button in a contact form is enabled only when all the inputs are entered by the
end user.

Table 27:Decision Table Based Testing


RULE 1 RULE 2 RULE 3 RULE 4 RULE 5 RULE 6 RULE 7 RULE 8

Input

Name F T F T F T F T

Email F F T T F F T T

Message F F F F T T T T

Output

Submit F F F F F F F T

State Transition

In State Transition technique changes in input conditions change the state of the Application Under
Test (AUT). It allows the tester to test the behaviour of an AUT. The tester can perform this action
by entering various input conditions in a sequence. The testing team provides positive as well as
negative input test values for evaluating the system behaviour.

Guideline for State Transition:

i. State transition should be used when a testing team is testing the application for a limited set
of input values.
ii. The technique should be used when the testing team wants to test sequence of events which

happen in the application under test.


247
Example:

In the following example, if the user enters a valid password in any of the first three attempts the
user will be able to log in successfully. If the user enters the invalid password in the first or second
try, the user will be prompted to re-enter the password. When the user enters password incorrectly
3rd time, the action has taken, and the account will be blocked.

State transition diagram

Figure 82:State transition diagram


In this diagram when the user gives the correct PIN number, he or she is moved to Access granted
state. The table below is created based on the diagram above-

248
Table 28 state transition diagram

Correct PIN Incorrect PIN

S1) Start S5 S2

S2) 1st attempt S5 S3

S3) 2nd attempt S5 S4

S4) 3rd attempt S5 S6

S5) Access Granted - -

S6) Account blocked - -

In the above-given table when the user enters the correct PIN, the state is transitioned to Access
granted. And if the user enters an incorrect password, he or she is moved to next state. If he does
the same 3rd time, he will reach the account blocked state.

Installation checklist
1. To check if, while installing product checks for the dependent software / patches say
Service pack3.
2. The product should check for the version of the same product on the target machine, say
the previous version should not be over installed on the newer version.
3. Installer should give a default installation path say “C:\programs\.”
4. Installer should allow user to install at location other than the default installation path.
5. Check if the product can be installed “Over the Network”.
6. Installation should start automatically when the CD is inserted.

249
7. Installer should give the remove / Repair options.
8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X
components are removed from the system.
9. Try to install the software without administrative privileges (login as guest).
10. Try installing on different operating system.
11. Try installing on system having non-compliant configuration such as less memory / RAM
/ HDD.
12. Support of the different platforms and configurations needed?
13. Does Installation in "clean state" working?
14. Does the installer is able to calculate needed disk space?
15. Does the installer capturing the baseline free space before launching the installer?
16. Does the amount of space the installer claims it needs for the various type of installation is
taken up or is there any discrepancy?
17. How much disk space is used by the installer if the installation is quit midway (this would
help gathering information on temp files that is deleted on quitting).
18. Does the installation recover in case an error is met during the installation?
19. Does the installer able to Repair any corrupt installation?
20. If the application installed properly from each type of installation (for typical, custom and
complete)?
21. Does Installation over network working?
22. If any file association is made during installation, upon uninstallation, does the association
is removed and the base file association is returned to the files?
23. Does running the installer, followed by launching the program to run some tests, and then
running the uninstaller, also return your machine to the base state?
24. Does uninstallation leave any registry entry, data files in the system?
25. If there a version of the application to be installed already exists on the machine, does the
installer identify that?
26. Does the installer identify if some needed components (such as, MSDE etc.) are already
installed on the system?
27. Does running two instances of the installer should prompt a message to the user that an
installation setup is already running?
250
28. If the user logged in, doesn't have write permission for the machine, how installation reacts
to this?
29. What happens if the installer tries to install to a directory where there is no write access?
30. Is the installation path configurable/non configurable?
31. Check to ensure that when installing the product, it should provide a browse button which
enables the user to install at any folder, and it should provide by default folder (For ex:
C:\program files)
32. Is the registering and un-registering the components (dlls) on installation and uninstallation
is occurring properly?
33. Are all the files installed in the respective folders and path?
34. Whether all the files/registry values/services are installed properly.
35. Check whether the shortcuts are installed properly and the PATH (any other ENV
variables) is updated properly. (It can be CURRENT USERS profile, or All Users profile based
on your requirements).
36. Does the installation support, 'UnInstall', 'Modify', 'ReInstall' options?? If yes, does it
work?
37. If the installer is supporting upgrade feature, does it preserve all the necessary settings
(mostly user preferences)?
38. Check for the user privileges before starting installation. (In most of the cases, installer
requires ADMIN privileges).
39. Check the uninstaller entry in add-remove programs. (Check for display string, Display
icon and Support information etc.).
40. Does running the installer, and then running the uninstaller, return the machine to the base
state?
41. Reinstallation should, apart from identifying previous versions, also should give an option
to Remove and Repair.
42. Check to ensure that license key is properly stored in Windows Registry library.
43. Check to ensure that if an evaluation version is installed, then a proper message should be
displayed when the date of period is expired for evaluation version with proper error message.
44. Check to ensure that, if Windows Services are installed then it should install in the Services
folder of windows directory.
251
45. Check to ensure that if any product is installed and it is dependent on some other product,
then it should give proper message as "The Product is not installed, and it should exit". Check
for dependencies.
46. If the product to be installed uses any third party dll and if it is already installed by some
other product confirm that the current installation does not un-register/tamper it and uses the
existing one.
47. If the dll is already there in the system how does the installation work?
48. And while uninstalling, check should be made as to whether that the shared dll is left
without affecting other product.
49. Usability consideration of the installer.

TYPES OF TESTING:

Figure 83:types of testing


Functional Testing:

It is a type of software testing which is used to verify the functionality of the software
application, whether the function is working according to the requirement specification. In
functional testing, each function tested by giving the value, determining the output, and verifying
the actual output with the expected value. Functional testing performed as black box testing
which is presented to confirm that the functionality of an application or system behaves as
we are expecting. It is done to verify the functionality of the application.

Functional testing also called as black-box testing, because it focuses on application specification
rather than actual code. Tester has to test only the program rather than the system.

252
Functional Testing types

o Basic Usability: Functional Testing involves the usability testing of the system. It checks
whether a user can navigate freely without any difficulty through screens.
o Accessibility: Functional testing test the accessibility of the function.
o Mainline function: It focuses on testing the main feature.
o Error Condition: Functional testing is used to check the error condition. It checks whether
the error message displayed.

Goal of functional testing

The purpose of the functional testing is to check the primary entry function, necessarily usable
function, the flow of screen GUI. Functional testing displays the error message so that the user can
easily navigate throughout the application.

Process of functional testing

Testers follow the following steps in the functional testing:

i. Tester does verification of the requirement specification in the software application.


ii. After analysis, the requirement specification tester will plan.
iii. After planning the tests, the tester will design the test case.
iv. After designing the test, case tester will make a document of the traceability matrix.
v. The tester will execute the test case design.
vi. Analysis of the coverage to examine the covered testing area of the application.
vii. Defect management should do to manage defect resolving.

Advantages of functional testing

i. It produces a defect-free product.

ii. It ensures that the customer is satisfied.


iii. It ensures that all requirements met.
253
iv. It ensures the proper working of all the functionality of an application/software/product.
v. It ensures that the software/ product work as expected.
vi. It ensures security and safety.
vii. It improves the quality of the product.

Disadvantages of functional testing

i. Functional testing can miss a critical and logical error in the system.
ii. This testing is not a guarantee of the software to go live.
iii. The possibility of conducting redundant testing is high in functional testing.

Steps to perform functional testing:

o There is a need to understand the software requirement.


o Identify test input data.
o Compute the expected outcome with the selected input values.
o Execute test cases.
o Comparison between the actual and the computed result

Figure 84:Steps to perform functional testing


Non-Functional Testing

254
Non-functional testing is a type of software testing to test non-functional parameters such as
reliability, load test, performance and accountability of the software. The primary purpose of non-
functional testing is to test the reading speed of the software system as per non-functional
parameters. The parameters of non-functional testing are never tested before the functional testing.

For example, non-functional testing would be to test how many people can work simultaneously
on any software.

Reasons for Non-Functional Testing

Functional and Non-functional testing both is mandatory for newly developed software.
Functional testing checks the correctness of internal functions while Non-Functional testing
checks the ability to work in an external environment.

It sets the way for software installation, setup, and execution. The measurement and metrics used
for internal research and development are collected and produced under non-functional testing.

Non-functional testing gives detailed knowledge of product behaviour and used technologies. It
helps in reducing the risk of production and associated costs of the software.

255
Parameters to be tested under Non-Functional Testing.

Figure 85:Parameters to be tested under Non-Functional Testing.


Performance Testing

Performance Testing eliminates the reason behind the slow and limited performance of the
software. Reading speed of the software should be as fast as possible. A well-structured and clear
specification about expected speed must be defined.

Load Testing

Load testing involves testing the system's loading capacity. Loading capacity means more and
more people can work on the system simultaneously.

Security Testing

Security testing is used to detect the security flaws of the software application. The testing is done
via investigating system architecture and the mindset of an attacker. Test cases are conducted by
finding areas of code where an attack is most likely to happen.

256
Portability Testing

The portability testing of the software is used to verify whether the system can run on different
operating systems without occurring any bug. This test also tests the working of software when
there is a same operating system but different hardware.

Accountability Testing

Accountability test is done to check whether the system is operating correctly or not. A function
should give the same result for which it has been created. If the system gives expected output, it
gets passed in the test otherwise failed.

Reliability Testing

Reliability test assumes that whether the software system is running without fail under specified
conditions or not. The system must be run for a specific time and number of processes. If the
system is failed under these specified conditions, reliability test will be failed.

Efficiency Testing

Efficiency test examines the number of resources needed to develop a software system, and how
many of these were used. It also includes the test of these three points.

i. Customer's requirements must be satisfied by the software system.


ii. A software system should achieve customer specifications.
iii. Enough efforts should be made to develop a software system.

Advantages of Non-functional testing

i. It provides a higher level of security. Security is a fundamental feature due to which system is
protected from cyber-attacks.

257
ii. It ensures the loading capability of the system so that any number of users can use it
simultaneously.
iii. It improves the performance of the system.
iv. Test cases are never changed so do not need to write them more than once.
v. Overall time consumption is less as compared to other testing processes.

Disadvantages of Non-Functional Testing

i. Every time the software is updated, non-functional tests are performed again.
ii. Due to software updates, people have to pay to re-examine the software; thus, software
becomes very expensive.

Generate test report.

Test Report is a document which contains a summary of all test activities and final test results of
a testing project. Test report is an assessment of how well the Testing is performed. Based on
the test report, stakeholders can evaluate the quality of the tested product and make a decision on
the software release

How to Write a Software Test Report?

Fields to be in the Test Report.

a. Tested Products and Intermediates


b. Test Environment
c. Test Results Overview
d. Error Definition
e. Conclusion and Suggestions

Tested Products and Intermediates

The tested product and product components should be specified in this section. In addition,
functions that have not been adequately tested should also be explained in this section.

258
Test Environment

Features related to the test environment are included. The hardware (CPU, ram etc.) features of
the test server, the operating system installed on the test server, roles or test automation software
installed on the server should be explained in this section.

Test Results Overview

It must be specified separately for each test level (Integration and System tests). The total number
of test scenarios, successful and unsuccessful test scenarios written in this area should be clearly
stated. Information about whether the criteria of success specified in the Software Test Plan are
met must also be added. Example explanations for the Integration Test Results Overview section
can be as follows.

Table 29:Test Results Overview


Modules Total test Successful test Failed test
User module 100 80 20

Error Definition

The error definition, error effects and error correction activities of the failed test scenarios included
in the Test Results Overview section are clearly stated in the error definitions section. An example
table of error definitions can be as follows.

Table 30 Error definition


Test status no Error definition Error effects Error correction
activities
Tc 1 The user whose It may cause security As a result of the error
authorization has weakness found in the test, an
expired can log into error record was
the system opened to the relevant
developer through the

259
business management
tool
Conclusion and Suggestions

Improvement suggestions, if any, can be shared with the project stakeholders by test experts in this
section.

3.2.4.4 Learning Activities

1. Fill in the Installation checklist below after successfully installation of Applications and the
Operating System,

DESKTOP INSTALLATION CHECKLIST

Name ___________________________________ Date _________________________

Department ________________________________________

Standard applications that are on most new installations of desktop computers:

 Microsoft Office (Word, PowerPoint, Excel)


 Antivirus/spyware protection (Endpoint)
 Firefox
 Encryption (Bitlocker)
 Internet Explorer

Action Action
Completed
Backup files Have you backed up all of your files from the old
computer?
Desktop shortcuts Do you use shortcuts on your desktop? If so, copy these
shortcuts to your backup and just copy those back to your
desktop on the new machine.

260
Software application Make a list of software applications that you need.
list Name of
software
application:
1.
2.
3.
4.
5.
6.
7.

2. Click the link below to Download Sample Test Summary Report:

https://cdn.softwaretestinghelp.com/wp-content/qa/uploads/2014/06/Sample-Test-Summary-
Report-by-SoftwareTestingHelp.pdf

3. Generate your own test report guided by the downloaded sample test summary report.

3.2.4.5 Self-Assessment
1. Describe Techniques of Software Testing and highlight their procedures.
2. Explain Installation checklist and describe items contained in it.
3. What is the process of functional testing?
4. Highlight steps to perform functional testing.
5. Describe types of maintenance.

3.2.4.6 Tools, Equipment, Supplies and Materials


1. Diagnostic tools
2. Utility programs
3. Processor and memory optimizers

261
4. Wise Installer
5. CruiseControl.Net
6. Install Aware
7. Computer
8. Software
9. External Hard disk
10. Flash disk
11. CD/DVD
12. Digital instructional material including DVDs and CDs.
13. Operating system
14. Machines
15. Power
16. Application software

3.2.4.7 References

Abhijit A. Sawant, Pranit H. Bari, P. M. Chawan. (2012). Software Testing Techniques and
Strategies. International Journal of Engineering Research and Applications, pp.980-986.

Guru99. (2020). Software Testing Techniques with Test Case Design Examples. Retrieved Nov
14, 2020, from guru99.com: https://www.guru99.com/software-testing-techniques.html

JavaTpoint. (2018). functional-testing. Retrieved Nov 14, 2020, from .javatpoint.com:


https://www.javatpoint.com/functional-testing

Sites, G. (n.d.). Installation Testing Checklist. Retrieved Nov 14, 2020, from sites.google.com:
https://sites.google.com/site/testershelp2/installationtestingchecklist

tutorialspoint. (2020). Install/Uninstall Testing. Retrieved Nov 14, 2020, from


www.tutorialspoint.com:
https://www.tutorialspoint.com/software_testing_dictionary/install_uninstall_testing.htm

262
3.2.4.8 Model answers to self-assessment

1. Techniques Of Software Testing


i. Boundary value analysis - is based on testing at the boundaries between partitions. It includes
maximum, minimum, inside or outside boundaries, typical values and error values.

Guidelines for Boundary Value analysis

a. If an input condition is restricted between values x and y, then the test cases should be designed
with values x and y as well as values which are above and below x and y.
b. If an input condition is a large number of values, the test case should be developed which need
to exercise the minimum and maximum numbers. Here, values above and below the minimum
and maximum values are also tested.
c. Apply guidelines 1 and 2 to output conditions. It gives an output which reflects the minimum
and the maximum values expected. It also tests the below or above values.
ii. Error Guessing – it is a software testing technique based on guessing the error which can
prevail in the code. The technique is heavily based on the experience where the test analysts
use their experience to guess the problematic part of the testing application.

Guidelines for Error Guessing:

a. The test should use the previous experience of testing similar applications
b. Understanding of the system under test
c. Knowledge of typical implementation errors
d. Remember previously troubled areas
e. Evaluate Historical data & Test results
iii. Decision Table Based Testing - it is also known as to Cause-Effect table. This software testing
technique is used for functions which respond to a combination of inputs or events. For example,
a submit button should be enabled if the user has entered all required fields.

The first task is to identify functionalities where the output depends on a combination of inputs.
If there are large input set of combinations, then divide it into smaller subsets which are helpful
for managing a decision table.

263
For every function, you need to create a table and list down all types of combinations of inputs
and its respective outputs. This helps to identify a condition that is overlooked by the tester.

Following are steps to create a decision table:

• Enlist the inputs in rows

• Enter all the rules in the column

• Fill the table with the different combination of inputs

• In the last row, note down the output against the input combination.

iv. State Transition – it is technique changes in input conditions change the state of the
Application Under Test (AUT). This testing technique allows the tester to test the behaviour
of an AUT. The tester can perform this action by entering various input conditions in a
sequence. In State transition technique, the testing team provides positive as well as negative
input test values for evaluating the system behaviour.

Guideline for State Transition:

a. State transition should be used when a testing team is testing the application for a limited set
of input values.
b. The technique should be used when the testing team wants to test sequence of events which
happen in the application under test.

2. Installation checklist
1. To check if, while installing product checks for the dependent software / patches say Service
pack3.
2. The product should check for the version of the same product on the target machine, say
the previous version should not be over installed on the newer version.
3. Installer should give a default installation path say “C:\programs\.”
4. Installer should allow user to install at location other then the default installation path.
5. Check if the product can be installed “Over the Network”
6. Installation should start automatically when the CD is inserted.
7. Installer should give the remove / Repair options.
264
8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X components
are removed from the system.
9. Try to install the software without administrative privileges (login as guest).
10. Try installing on different operating system.
11. Try installing on system having non-compliant configuration such as less memory / RAM /
HDD.
12. Support of the different platforms and configurations needed?
13. Does Installation in "clean state" working?
14. Does the installer is able to calculate needed disk space?
15. Does the installer capturing the baseline free space before launching the installer?
16. Does the amount of space the installer claims it needs for the various type of installation is
actually taken up or is there any discrepancy?
17. How much disk space is used by the installer if the installation is quit midway (this would
help gathering information on temp files that's deleted on quitting).
18. Does the installation recover in case an error is met during the installation?
19. Does the installer able to Repair any corrupt installation?
20. If the application installed properly fro each type of installation (for typical, custom and
complete)?
21. Does Installation over network working?
22. If any file association is made during installation, upon uninstallation, does the association
is removed and the base file association is returned to the files?
23. Does running the installer, followed by launching the program to run some tests, and then
running the uninstaller, also return your machine to the base state?
24. Does uninstallation leave any registry entry, data files in the system?
25. If there a version of the application to be installed already exists on the machine, does the
installer identify that?
26. Does the installer identify if some needed components (such as, MSDE etc.) are already
installed on the system?
27. Does running two instances of the installer should prompt a message to the user that an
installation setup is already running?

265
28. If the user logged in, doesn't have write permission for the machine, how installation reacts
to this?
29. What happens if the installer tries to install to a directory where there is no write access?
30. Is the installation path configurable/non configurable?
31. Check to ensure that when installing the product, it should provide a browse button which
enables the user to install at any folder, and it should provide by default folder (For ex:
C:\program files)
32. Is the registering and un-registering the components (dlls) on installation and uninstallation
is occurring properly?
33. Are all the files installed in the respective folders and path?
34. Whether all the files/registry values/services are installed properly.
35. Check whether the shortcuts are installed properly and also the PATH (any other ENV
variables) is updated properly. (It can be CURRENT USERS profile or All Users profile based
on your requirements).
36. Does the installation support, 'UnInstall', 'Modify', 'ReInstall' options?? If yes, does it work?
37. If the installer is supporting upgrade feature, does it preserve all the necessary settings
(mostly user preferences)?
38. Check for the user privileges before starting installation. (In most of the cases, installer
requires ADMIN privileges).
39. Check the uninstaller entry in add-remove programs. (Check for display string, Display icon
and Support information etc.).
40. Does running the installer, and then running the uninstaller, return the machine to the base
state?
41. Reinstallation should, apart from identifying previous versions, also should give an option
to Remove and Repair.
42. Check to ensure that license key is properly stored in Windows Registry library.
43. Check to ensure that if an evaluation version is installed, then a proper message should be
displayed when the date of period is expired for evaluation version with proper error message.
44. Check to ensure that, if Windows Services are installed then it should install in the Services
folder of windows directory.

266
45. Check to ensure that if any product is installed and it is dependent on some other product,
then it should give proper message as "The Product is not installed and it should exit". Check for
dependencies.
46. If the product to be installed uses any third party dll and if it is already installed by some other
product confirm that the current installation doesn't un-register/tamper it and uses the existing
one.
47. If the dll is already there in the system how does the installation work?
48. And also while uninstalling, check should be made as to whether that the shared dll is left
without affecting other product.
49. Usability consideration of the installer.

3. Process of functional testing?

Testers follow the following steps in the functional testing:

i. Tester does verification of the requirement specification in the software application.


ii. After analysis, the requirement specification tester will make a plan.
iii. After planning the tests, the tester will design the test case.
iv. After designing the test, case tester will make a document of the traceability matrix.
v. The tester will execute the test case design.
vi. Analysis of the coverage to examine the covered testing area of the application.
vii. Defect management should do to manage defect resolving.

4. steps to perform functional testing:


viii. There is a need to understand the software requirement.
ix. Identify test input data
x. Compute the expected outcome with the selected input values.
xi. Execute test cases
xii. Comparison between the actual and the computed result

5. Types of maintenance

267
a. Corrective Maintenance - This includes modifications and updations done in order to
correct or fix problems, which are either discovered by user or concluded by user error
reports.
b. Adaptive Maintenance - This includes modifications and updations applied to keep the
software product up-to date and tuned to the ever changing world of technology and business
environment.
c. Perfective Maintenance - This includes modifications and updates done in order to keep the
software usable over long period of time. It includes new features, new user requirements for
refining the software and improve its reliability and performance.
d. Preventive Maintenance - This includes modifications and updations to prevent future
problems of the software. It aims to attend problems, which are not significant at this moment
but may cause serious issues in future.

268
3.2.5 Learning outcome 5: perform user training.

3.2.5.1 Introduction to the learning outcome

The trainee should be able to explain terms used in software user training, describe keys to develop
an End User Training Plan (Determine user skill set, create a training program, set training goals,
train delivery methods, and Assess end-user needs) and generate training feedback template.

3.2.5.2 Performance Standard


3.2.5.2.1 Determine user skill set.
3.2.5.2.2 User training is conducted according to system functionality.

3.2.5.3 Information Sheet


Definition of term
User training – it helps the user in operating the system in efficient way by understanding
the problem and how to solve it.
Training program - an activity or activities that include undertaking one or a series of
courses to boost performance, productivity, skills, and knowledge of software.
End User Training Plan – is one of the most important steps for a successful system
implementation where the end users should be utilized during parallel testing, so training will
need to be rolled out prior to that hence will make them excited about the system, as many of
them may not have been involved with the project prior to training.
Delivery methods - is a standardized procedure for transferring the product or service to the
destination of fulfillment chosen by the customer.
Training feedback - It helps learners to maximize their potential at different stages
of training, raise their awareness of strengths and areas for improvement, and identify actions
to be taken to improve performance.
Keys to successful implementation/ User training steps

1. Setting training goals your first objective in providing software training for end-users is
minimizing any productivity losses associated with the software transition. This means you have

269
to, as quickly as possible, get them up to the skill level required to do their jobs at least as quickly
and accurately as they were doing with the old software.

2. Assessing end-user needs an important element in creating your training plan is to evaluate the
technical skill level(s) of those who will use the software daily.

3. Training delivery methods

a. Individual hands-on instructor - It provides real-world experience by allowing the trainee to


get her hands directly on whatever she is learning, creating a sense of empowerment.
b. Hands-on classroom style instructor-led training - This form of training can have one or
more instructors; and they teach skills or material to another person or group through lectures,
presentations, demonstrations, and discussions.
c. Seminar style group demonstration - involves showing by reason or proof, explaining or
making clear by use of examples or experiments.
d. Computer Based Training (CBT) - involves the use of a personal or networked computer for
the delivery and access of training programs.
e. Book-based self-paced training - is defined as a specific learning method in which the learner
can control the amount of material they consume as well as the duration of time they need to
learn the new information properly.

4. Creating a training program End-user training is more effective and memorable if you tailor
it to your own organization's use of the software, rather than generic lessons.

5. Making your training program scalable A scalable training program is flexible enough to
accommodate both small numbers of users (for example, when new employees join the company
and need to be trained on the software) and large numbers (as is necessary in an organization-wide
rollout of a new product).

270
Useful tools in the planning stage

 Creating a training program


 Setting training goals
 Training delivery methods
 Assessing end-user needs

Training feedback

Table 31:A sample of Training Feedback


Training evaluation questionnaire
(Name of training session)
(Date)

Was the training content what you expected? Y N


Was the size of the group appropriate? Y N
Did the methods of instruction keep you interested in the Y N
topic?
Could you see and hear the presentations clearly? Y N

Please rate the quality of the instruction. 1 2 3 4 5

(1 = unacceptable; 5 = outstanding)

How suitable was the mix of presentation versus activities? 1 2 3 4 5

Please rate the following the qualities of the instructor’s


delivery:

(1 = unacceptable; 5 = outstanding)

Speed of delivery 1 2 3 4 5

271
Level of content knowledge 1 2 3 4 5
Organization and preparation 1 2 3 4 5
Enthusiasm 1 2 3 4 5
Ability to keep the group focused 1 2 3 4 5

Please provide any additional feedback for the instructor:

Did you learn anything new? Y N

If yes, please provide details:

Do you have any suggestions to improve this course?

Name: (optional)

Thank you. We appreciate your feedback!

3.2.5.4 Learning Activities


1. Generate Training Feedback template

3.2.5.5 Self-Assessment
1. Highlight Training delivery methods!
272
2. Highlight the key question in the training feedback template.

3.2.5.6 Tools, Equipment, Supplies and Materials


 Diagnostic tools
 Utility programs
 Processor and memory optimizers
 Wise Installer
 CruiseControl.Net
 Install Aware
 Computer
 Software
 External Hard disk
 Flash disk
 CD/DVD
 Digital instructional material including DVDs and CDs.
 Operating system
 Machines
 Power
 Application software

3.2.5.7 References
Bhasin, H. (2020, June 30). What is Training Program? Definition, Meaning and Types.
Retrieved Jan 01, 2021, from marketing91.com: https://www.marketing91.com/training-
program

Hepp, M. (n.d.). DeliveryMethod. Retrieved Jan 01, 2021, from schema.org:


https://schema.org/DeliveryMethod

273
Strickler, L. (2000, February 25). End User Training. Retrieved Jan 01, 2021, from
princeton.edu:
https://www.princeton.edu/~pshrsys/Implementation%20Plan/Strategies/EndUserTraining.htm

MARS. (n.d.). Training evaluation questionnaire.

Team, T. S. (2013, 06 17). 5 Keys to Developing an End User Training Plan. Retrieved Nov 15,
2020, from sunviewsoftware: https://www.sunviewsoftware.com/blog/learn/blog/5-keys-to-
end-user-training

3.2.5.8 Model answers to self-assessment

1. Training delivery methods

i. Individual hands-on instructor


ii. Hands-on classroom style instructor-led training
iii. Seminar style group demonstration
iv. Computer Based Training (CBT)
v. Book-based self-paced training

Table 32: Sample questions in the training Feedback form


Was the training content what you expected?
Y N
Was the size of the group appropriate? Y N
Did the methods of instruction keep you interested in the Y N
topic?
Could you see and hear the presentations clearly? Y N

Please rate the quality of the instruction. 1 2 3 4 5

(1 = unacceptable; 5 = outstanding)

How suitable was the mix of presentation versus activities? 1 2 3 4 5

274
Please rate the following the qualities of the instructor’s
delivery:

(1 = unacceptable; 5 = outstanding)

Speed of delivery 1 2 3 4 5
Level of content knowledge 1 2 3 4 5
Organization and preparation 1 2 3 4 5
Enthusiasm 1 2 3 4 5
Ability to keep the group focused 1 2 3 4 5

275
CHAPTER 4: PERFORM COMPUTER REPAIR AND MAINTENANCE
Unit of learning code: ICT/CU/IT/CR/3/5/A

Related Unit of Competency in Occupational Standard: Perform Computer Repair and


Maintenance

4.1 Introduction to the unit of learning


This unit specifies competencies required to perform computer repair and Maintenance. It includes
performing troubleshooting, disassembling faulty components, repair/replace and reassembling
components, testing computer, component functionality and upgrading computer
software/hardware.

4.2 Summary of Learning Outcomes


1. Perform troubleshooting.
2. Disassemble faulty components.
3. Repair/Replace and reassemble components.
4. Test computer/component functionality
5. Upgrade computer software/hardware
4.2.1 Learning Outcome 1: Perform troubleshooting
4.2.1.1 Introduction to the learning outcome
This unit covers competencies required to perform troubleshooting. It includes Identification of
Computer parts, Hardware Software, assembling of computer maintenance tools, Theory of
probable cause, Assembling and disassembling process, Test of theory of probable cause, Problem
identification and appropriate solutions.
4.2.1.2 Performance Standard
4.2.1.2.1 Identification of computer parts is done.
4.2.1.2.2 Assembling of appropriate computer maintenance tools and maintenance techniques
is done.
4.2.1.2.3 Theory of probable cause is established.
4.2.1.2.4 Testing of the theory to determine cause is done.
4.2.1.2.5 Identification of the problem is established.
4.2.1.2.6 Appropriate solution to the problem is performed.
276
4.1.1.3 Information Sheet
Computer Terminologies
CPU (Central Processing Unit)is the brains of the computer
Application - a program in which you do your work.
Bit - the smallest piece of information used by the computer. In
computer language, it is either a one (1) or a zero (0).
Backup - a copy of a file or disk you make for archiving purposes.
Hard Drive - a large capacity storage device made of multiple disks
housed in a rigid case.
HDD: Hard Disk Drive
CD: Compact Disk
Icon - a graphic symbol for an application, file or folder.
Kilobyte (K) - 1024 bytes.
Launch - start an application.
Megabyte (MB) - 1024 kilobytes.
Software is a set of electronic instructions that tell a computer what to do.
Memory - the temporary holding area where data is stored while it is
being used or changed; the amount of RAM a computer has installed.
Menu - a list of program commands listed by topic.
Menu Bar - the horizontal bar across the top of the screen that lists
the menus.
Software - files on disks that contain instructions for a computer.
Upload - to send a file from one computer to another through a
network.

Identification of Computer Parts


Hardware and Software
Hardware is any part of a computer system you can see or touch. A peripheral is any piece of
hardware attached to a computer, such as a printer. You cannot see or touch software, but you can
see and touch the packaging the software comes in. Application Software Application software
lets you accomplish specific tasks. Popular application software includes Microsoft Word, Excel,
277
Access, WordPerfect, Acrobat Reader, Internet Explorer, etc. Operating System Software
Operating system software controls the overall activity of a computer. Some examples of operating
systems are Windows, Unix Linux, DOS etc
Component Functions
CPU: All information goes through the CPU to be processed. The latest CPUs execute many
millions of instructions per second.
MEMORY: Memory is where the information is stored. a. RAM: Random Access Memory stores
programs and data as it is used. The information in RAM is lost when the power is turned off. b.
ROM: Read Only Memory stores start up and basic operating information.
DISKS: Disks are where large amounts of information are stored, even when the power is off.
a. Floppy Disks - Information can be written to and read from floppy disks. The advantage of
floppy disks is that they can be removed from the computer and the data taken to another machine.
b. Hard disks - Hard disks are not removable like floppy disks, but hold more information. c. CD
ROMs - Compact Disk Read Only Memory. They are useful for storing large amounts of data. A
CD ROM holds about 650 MB of data and is removable.
Input/output Components: Allow a computer to communicate with the outside world. Following
are some examples of input/output devices.
a. Keyboard is used to enter information from the user to the computer.
b. Monitors are used to display information.
c. Video controller is a board in the computer that controls the monitor. It translates the data in
the video memory into symbols on the monitor.
d. Parallel/Serial ports allow the computer to send data to and receive data from printers, modems,
etc.
e. Mouse and Joystick are used to input positional information to the computer. f. Network
Interface Card – A NIC connects the computer to a network. Networks are a high-speed method
of transferring data from one computer to another.

278
Figure 86 Hardware components of a Computer Desktop
(https://www. example.com/computer-hardware/)

How Computers Work


A computer collects processes, stores, and outputs information.

Input Devices
An input device lets you communicate with a computer. You can use input devices to enter
information and issue commands. A keyboard, mouse and joystick are input devices.

Processing
The Central Processing Unit (CPU) also known as the system unit is the main chip in a computer.
The CPU processes instructions performs calculations and manages the flow of information
through a compute r system. The CPU communicates with input, output, and storage devices to
perform tasks.

279
Storage Devices
A storage device holds information . The compute r uses information stored on these devices to
perform tasks. The hard drive, the tape drive, the floppy disk, and the CD -ROM drive are storage
devices .
Output Devices
An output device lets a computer communicate with you . These devices display information on a
screen, create printed copies or generate sound. Monitor, printers, and speakers are output devices
Computer maintenance tools
Once you have gathered sufficient information to identify the problem, the next step in the
Computer troubleshooting methodology is to “Establish a Theory of Probable Cause”. Here, you
use your experience and knowledge to determine what you believe to be the underlying issue. Ask
yourself, “What do I think caused the problem?”. Sometimes the first answer that comes to mind
is indeed the cause. Other times that answer is not forthcoming. You may need to work through
a series of tests to help you arrive at that theory.
There are six steps in the series of tests, and they include the following:
1. Identify the problem.
2. Establish a theory of probable cause.
3. Test the theory to determine cause.
4. Establish a plan of action to resolve the problem and implement the solution.
5. Verify full system functionality and if applicable implement preventative measures.
6. Document findings, actions, and outcomes.

Computers are a necessity everywhere; from homes to offices, schools, colleges, hospitals, banks,
railway stations, etc., computers have become an indispensable part of all spheres of our lives.
There is a plethora of hand tools available in the market and online today. Hand tools enable you
to perform manual jobs quickly and efficiently. Choosing the right set of hand tools for your
computer repair kit is crucial to getting you through a large number of hardware malfunctions very
easily and swiftly.
The following are the seven must-haves from a diverse number of hand tools available online for
your computer hardware kit.

280
1 Flat-Tip Screwdrivers

Web source: https://www.amazon.com/flat-head-screwdriver/s?k=flat+head+screwdriver


Flat-tip screwdrivers are flat-headed and used to turn slotted screws.

4. Philips-Head Screwdrivers

Web source: https://www.amazon.com/Phillips-head-


screwdriver/s?k=Phillips+head+screwdriver
Philips-head screwdrivers are used to tighten or loosen screws that are cross-headed.
3 Nut Drivers

281
Web source: https://www.amazon.com/Nut-Drivers/b?ie=UTF8&node=553340
Nut drivers are similar in appearance to a screwdriver, are an essential part of the computer repair
toolkit. They are used to fasten bolts and nuts of varied dimensions. They possess a hollow shaft
that empowers them with a stronghold of the threaded nut.

5. Wire Cutters

Web source: https://www.amazon.com/wire-cutters/b?node=553186


Wire cutters are helpful in stripping and cutting wires as per one’s need.
6. Needle-Nose Pliers

282
Web source: https://www.amazon.com/Needle-Nose-Pliers/b?ie=UTF8&node=553318
Needle-nose pliers provide cutting and holding functionalities to the user. They are useful
especially in hardware and electronics repair; because of their pointed needle-like tip, they come
in handy if a nut or an element has become stuck in an otherwise unreachable cranny of the
motherboard.
7. Wire Strippers

Web source: https://www.amazon.com/DOWELL-Stripper-Multi-Function-


Tool%EF%BC%8CProfessional-Craftsmanship/dp/B06X9875Z7
Wire Strippers are pliers that help in stripping the wire off its insulation. A wire is generally coated
with a covering of insulating material. If the situation demands, the wire has to be stripped-off of
all its insulating covering to use it, say as a connector or a cable. A wire stripper consists of a pair
of blades that function as a pair of scissors does.

8. Crimpers

283
Web source: https://www.google.com/search?q=crimpers&safe=active&sxsrf=ALeKk02B1i-
jB5hgs6hTDJqxL4Q_jO5bEA:1608198692067&source=lnms&tbm=isch&sa=X&ved=2ahUKE
wiF_JL-3tTtAhWO2BQKHca-
DCIQ_AUoAXoECCYQAw&biw=1600&bih=700#imgrc=iGV740EZQJzzAM
Crimping tools or crimpers are used to connect wires in such a manner that they are able to transmit
data. Two wires are joined together with the help of a crimping tool by deforming either one or
both of the wires. Every single one of the wires need to be conjoined is first placed in the connector
jack and then squeezed and held together to form a uniformly conducting wire.

Figure 87 Computer maintenance tools


The learning point here is about the tools required to assemble a kit that can perform basic,
board-level service on PC systems. One of the best ways to start such a set of tools is to purchase
a small kit sold especially for servicing PCs.

284
Because they work better than conventional screwdrivers, the use nut drivers to remove the
hexagonal-headed screws that secure the computer system-unit covers, adapter boards, disk drives,
and power supplies in most systems. There is, however, still need standard screwdrivers for
systems that have substituted Phillips-head screws for the more standard hexagonal-head screws.
If slotted screws are used, they should be removed and replaced with Phillips-head screws that
capture the driver tool and prevent it from slipping off the head of the screw and potentially
damaging the system.
Assembling and Dissembling Process
What is assembling a Personal Computer (PC)?
This part is all about CPU assembling. Specifically, you have to be very careful with this process.
Following are the steps to assemble CPU:
1. Take Inventory
2. Make space and time.
3. Prepare your CPU case.
4. Install motherboard.
5. Install the processor.
6. Install the processor heat sink.
7. Install the RAM.
8. Install the HDD.
9. Install CD/DVD drive
10. Connect Expansion cards
11. Install SYS/Rear cooling fan.
12. Bus cable connection
13. Power Cable connection
14. Front Panel connector connection
1. Take Inventory:
Before you start, take inventory of your parts. Make sure you have the following components and
tools with you.
1. Case/ Tower/Cabinet
2. Motherboard
3. Processor
285
4. Heatsink and CPU Fan
5. SMPS
6. Hard disk drive
7. CD/ DVD drive
8. RAM
9. CMOS Battery
10. A good screwdriver sets.
2. Make Space, Make Time:
Building a PC takes space. You can use your dining room table to build your PC. So, make sure
you have plenty of working space and a few hours to proceed with minimal interruption. You must
work on a flat, stable tabletop surface or bare floor, where you have room to lay out all of the
items, to begin with, assemble.
3. Prepare your CPU cabinet:
Now it is time to prepare the case. Remove the case cover from the CPU cabinet.
You need to check Screw brass standoffs are perfectly placed or not. If it is not in a proper position,
in that case, you need to position them accurately. (always check the manual and follow their
instructions)
4. Install The Motherboard:

286
Figure 88 motherboard and Back panel cover

(https://www.tutorialsweb.com/computers/pc-motherboard.htm)

You must take great care, especially when installing the motherboard. First, remove the
motherboard of its packaging and put it on top of the antistatic bag it came in. Remember, you
always want to safeguard your components from potentially hazardous static electricity.
1. You need to secure the motherboard onto the PC case/chassis and inspect carefully for any
visible defects.
2. Next, review the motherboard handbook, to make sure you are familiar with the motherboard
layout and understand which socket is which. Manuals are immensely helpful, usually easy to
read, and include illustrations instructions.
3. Check the layout of the sockets on the motherboard. And confirm that the ports on your
motherboard’s back panel match the holes on the case’s Input/output (I/O) shield installed in
your case. If it is necessary, then remove the old I/O shield by tapping it firmly a few times
with the thicker end of a screwdriver. And then replace it with the shield that came with the
new motherboard.
287
4. There is need for carefully positioning the motherboard on top of the brass standoffs. After
that line up all the holes, use the screws that accompanied the case to fasten down the
motherboard.

5. Install the processor (CPU):

Figure 89 CPU (Central Processing Unit) placement)


https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading04.htm

1. Use the unlocking mechanism to open the CPU socket which is, usually a lever.
2. Carefully line up the pins and place the chip in its socket; it will fit only when oriented
correctly. An arrow or a missing pin on one corner of the chip will show you how to line things
up.
3. Align with the triangular symbol with the processor and socket key marks, as shown in the
Figure.
4. Lower the lever to lock the CPU into place.
6. Install The CPU Heat Sink:

288
Following the manufacturer instructions to install the heat sink and the cooling fan. If buying a
CPU and a separate heat sink, then there is need to spread a thin layer of the thermal grease over
the chip. The thermal grease ensures proper transfer of heat.
There are some heat sinks that come with this grease already applied. In that case, there is no need
to use thermal grease over the chip.
1. Attach the clip that holds the heat sink in place, keeping in mind that it may require a fair
amount of force. Again, follow the instructions that came with the heat sink. They will show
you how to fit it correctly. If you are in doubt, you can visit the manufacturer’s website for
more information.
2. Plug the CPU fan’s power connector into the proper connector on the motherboard.
7. INSTALL RAM MEMORY:

Figure 90 Installing RAM ( Random Access Memory)


https://www.google.com/search?q=installing+ram&safe=active&sxsrf=ALeKk00W1se9FJhW0
XJS2d0j9f1pkQ6xhQ:1608546343154&tbm=isch&source=iu&ictx=1&fir=dZQL_jAYPZFy4M
%252CWkNWvJ-ZkygBTM%252C_&vet=1&usg=AI4_-
kQ01bll5FQKixC2YMPJvwLisFyHZw&sa=X&ved=2ahUKEwitqo2L7t7tAhUM8hoKHQsNCT
gQ_h16BAgTEAE#imgrc=dZQL_jAYPZFy4M

289
1. Unlock the two tabs from both ends of the RAM slot.
2. To install the RAM, insert them into the proper sockets and push down firmly but evenly until
the clips on both sides of the socket pop into place. If your motherboard supports dual-channel
memory, consult the user manual to determine which pairs of RAM sockets you should use.
8. Install the Power Supply Unit (SMPS):

Figure 91 Installing SMPS (Power supply unit)


https://medium.com/@kekreaditya/how-to-install-smps-in-your-computer-6a19736813c2
1. Place the SMPS inside the CPU cabinet in the proper position. If you are not able to find the
correct location, then check the manual.
2. Final steps, to install SMPS, you need to tighten the screw to secure the SMPS to the case.
9. To install HDD:
You can see a 3.5 inch bay inside the CPU cabinet. If you are unable to find it, then check the
manual of the case to identify the bay location.
Place the HDD inside the bay properly and tighten the screw.

290
Figure 92 Installing drives
https://medium.com/@kekreaditya/how-to-install-smps-in-your-computer-6a19736813c2
10. To install CD/DVD:
You can see a 5.25 inch bay inside the CPU cabinet. If you are unable to find it, check the manual
of the case to identify the bay location.
Place the CD/DVD inside the CPU cabinet to align with the 5.25-inch bay. And, finally, you need
to tighten all the screws to hold firmly.
11. Install Expansion cards:
Expansion cards help to increase the functionality of your computer. You can place Expansion
cards on the motherboard.

291
Figure 93 Installing Expansion Cards

https://www.google.com/search?q=Installing+Expansion+Cards&safe=active&sxsrf=ALeKk01
Dy_dux99FURhQjg6JnNBXj_zqGA:1608546492677&source=lnms&tbm=isch&sa=X&ved=2a
hUKEwiwuLPS7t7tAhX2UhUIHQj1BqkQ_AUoAXoECCIQAw&biw=1600&bih=700#imgrc=
hLdDTSdoQRqgiM

PCI compatible expansion cards can place on the PCI slots of the motherboard.
PCI-e compatible expansion cards can place on the PCI-e slots of the motherboard.
Video cards or graphics cards can place on the AGP slot of the motherboard.
You must know about various parts of a motherboard such that, you can effortlessly identify the
different connectors.

12. Install Sys/Rear cooling fan:

Figure 94 Cooling Fans


https://www.amazon.com/Internal-Fans-Cooling-Components/b?ie=UTF8&node=3012290011
Find the location where you can place the Sys/Rear cooling Fan. Generally, SYS/Rear cooling can
place below the SMPS.

292
Figure 95 Cooling fans
https://www.amazon.com/Internal-Fans-Cooling-
Components/b?ie=UTF8&node=3012290011
13. Bus cable connection:
Amazingly, bus cable or data cable connections are prime connections. Bus cable helps to share
information or data between the storage device and motherboard.

14. Power Cable connection:

293
Figure 96 Cable connection
https://www.educba.com/types-of-computer-cables/
15. Front Panel connector connection:
Use your motherboard user manual and find the description of front-panel connectors.
First, attach each of the tiny leads from the power and reset switches. After that, the hard-disk
activity lights, the PC speaker, and any front-panel USB to the corresponding pin on your
motherboard.
Part2: How to assemble PC.
This one is the final part of assembling a computer system.
1. Check your keyboard connector port. If it is a USB connector, then connect your keyboard into
the proper USB port. And if it is a PS/2 connector, then connect to the correct, PS/2 port.
2. Same steps you need to follow to connect your mouse into the proper port.
3. You require a VGA (Video Graphic Array) cable to connect the monitor and CPU. Find the 15
pins male connector on the backside of the CPU cabinet and your monitor. Use the VGA cable
to connect the CPU cabinet and the monitor. Finally, you need to tighten the lock screws.

294
4. If you have a speaker, you can connect the speaker on the backside of your CPU cabinet. To
get sound from the speaker, you need to plug the speaker’s cable with the Aux port.
5. And if you have a printer, you can connect the printer on the backside of your CPU cabinet.
These days, you can connect your speaker BUS cable on the USB port.
Finally, connects power to the various parts of your computer. You have to connect the power
cable with the CPU case, monitor, speaker, and printer.
Check your PC Set-Up:
It is time to turn on your system and check your PC set up. Make sure the keyboard, mouse, and
monitor are all plugged into the appropriate ports on the back of the PC. Plug the power cord back
in, and turn the machine on.

Most Common Computer Problems Needing Troubleshooting


Although most complex computer issues at work can often be solved by the business IT support
team, there are many other small, but common, issues that occur on a regular basis on a personal
computer. The good news is that many problems with computers have simple solutions, and
learning to recognize a problem and fix it yourself will save you a lot of time and money. The
following are the top 10(ten) common computer problems that you shouldn’t panic over.
1. The Computer Won’t Start
A computer that suddenly shuts off or has difficulty starting up could have a failing power
supply. Check that the computer is plugged into the power point properly and, if that doesn’t
work, test the power point with another working device to confirm whether or not there is
adequate power.
2. The Screen is Blank
If the computer is on but the screen is blank, there may be an issue with the connection between
the computer and the screen. First, check to see if the monitor is plugged into a power point and
that the connection between the monitor and computer hard drive is secure. If the problem is on a
laptop, then you may need to get a professional to fix it as some of the internal wires may be
worn.
3. Abnormally Functioning Operating System or Software
If the operating system or other software is either unresponsive or is acting up, then try restarting

295
your computer and run a virus scan. To avoid having this happen, install reliable anti-virus
software.
4. Windows Will not Boot
If you are having troubles booting Windows, then you may have to reinstall it with the Windows
recovery disk.
5. The Screen is Frozen
When your computer freezes, you may have no other option than to reboot and risk losing any
unsaved work. Freezes can be a sign of insufficient ram, registry conflicts, corrupt or missing
files, or spyware. Press and hold the power button until the computer turns off, then restart it and
get to work cleaning up the system so that it doesn’t freeze again.
6. Computer is Slow
If your computer is slower than normal, you can often fix the problem simply by cleaning the
hard disk of unwanted files. You can also install a firewall, anti-virus and anti-spyware tools,
and schedule regular registry scans. External hard drives are great storage solutions for
overtaxed CPU’s and will help your computer run faster.
7. Strange Noises
A lot of noise coming from your computer is generally a sign of either hardware malfunction or a
noisy fan. Hard drives often make noise just before they fail, so you may want to back up
information just in case, and fans are very easy to replace.
8. Slow Internet
To improve your Internet browser performance, you need to clear cookies and Internet temporary
files frequently. In the Windows search bar, type ‘%temp%’ and hit enter to open the temporary
files folder.
9. Overheating
If a computer case lacks a sufficient cooling system, then the computer’s components may start
to generate excess heat during operation. To avoid your computer burning itself out, turn it off
and let it rest if it is getting hot. Additionally, you can check the fan to make sure it’s working
properly.
10. Dropped Internet Connections
Dropped Internet connections can be very frustrating. Often the problem is simple and may be

296
caused by a bad cable or phone line, which is easy to fix. More serious problems include viruses,
a bad network card or modem, or a problem with the driver.

Trouble Shooting Process


Performing trouble shooting process involve a six-step troubleshooting methodology. The first
step in their methodology is to identify the problem. Step two is to establish a theory of probable
cause. The third step is to test that theory of probable cause. Step four is to develop an action plan
and implement that plan. The fifth step is to verify complete system functionality. And step six is
to document the process. In the section below, each of these steps is covered in more detail.
The six steps of troubleshooting.
1. Identify the problem.
The first thing that you need to be aware of when troubleshooting a problem is that the symptoms
are not the problem. When troubleshooting, it is critical that you actually identify the underlying
problem—what’s actually causing the symptoms to manifest themselves. To do that, you should
question the user. Ask detailed questions about when the symptoms occurred and why they may
have occurred. If the user can re-create the issue for you, this can be extremely helpful. Determine
what, if anything, has changed, which may have caused the problem. Importantly, before you take
any action, make a backup copy of the system, so that you can preserve everything as it is.
Highlights:
o Question the user.
o Remember that the symptoms are not the underlying problem.
o Determine what has changed.
o Make a backup of the system before moving on.
2. Establish a theory of probable cause.
Once you have identified the base problem that is causing the symptoms, you will establish a list
of probable causes. Once you have a list of all of the probable causes, use your technical knowledge
to prioritize that list. Your list should have the probable causes listed from most likely to least
likely. Incidentally, be sure to question the obvious. For instance, if the symptom is a power
situation at the workstation, is the power cord plugged in and, if it is plugged in, is the outlet
actually getting power? Additionally, if no probable cause can be determined, you will need to
escalate the problem to a higher level.
297
Highlights:
o Make a list of probable causes.
o Using your knowledge, prioritize the list.
o Question the obvious (i.e., if the symptom is a power issue at the workstation, first
check to make sure that the power cord is plugged in).
o Escalate to a higher level if a probable cause cannot be determined.
3. Test probable cause theory to determine actual cause.
Once you have established your theory of probable cause, you should take a moment to consider
whether or not you can troubleshoot the issue on your own, or if escalating it to a higher authority
is called for. If it falls within your capabilities, you will need to test your theory to determine if it
is, indeed, the actual cause. Your theory was created from the most likely probable cause, so you
need to determine how best to test it. If your theory is confirmed, you will move on to the next
step. If the theory is disproved, you will need to go back to step two or step one, as needed, and
work your way through the troubleshooting methodology.
Highlights:
o Create your theory from the most likely probable cause.
o If the theory is confirmed, move on to the next step.
o If the theory is not confirmed, go back to step two or step one (if needed).
4. Establish an action plan and execute the plan.
Once you have determined the actual cause by testing your probable cause, you will need to
establish an action plan and then execute that plan. Simple problems will probably only need
simple plans. However, if it is a complex problem, you may need to write out the plan so that you
can be sure to execute it correctly. This is another opportunity to escalate the problem to a more
senior level if necessary.
Highlights:
o Simple problems probably just need simple plans.
o Complex problems may need written out action plans.
o Escalate to a higher level if required.
5. Verify full system functionality.
After you have executed your plan, you will need to verify that the system is fully functional. If
everything works—that’s great. Based on your findings and the issue, you may find that you have
298
the opportunity to implement preventative measures so that the problem does not occur again. If
full system functionality has not occurred, you will need to go back to step one and continue to
work through the troubleshooting methodology.
Highlights:
o If everything works, great! If applicable, use your findings to implement
preventative measures.
o If not everything works, go back to step one.
6. Document the process.
Once everything is fully functional, documenting the process becomes important. This is where
you document findings, actions, and outcomes. When the problem occurs again, there will be
information available to walk someone through the means of troubleshooting and resolving the
issue.
This documentation also captures a history of equipment and users so that perpetual issues become
known and recorded. An important aspect of this is that both positive and negative outcomes
should be documented. This can save time during future troubleshooting and prevent others from
taking the same missteps you may have taken.
Highlights:
o Capture your findings, actions, and outcomes.
o Issues that need to be troubleshot may occur again.
o Documentation provides a history of equipment and users so that problem issues
are known.
The importance of having a methodology.
A methodology gives a systematic approach to solving IT problems. It reduces wasted time and
frustration for both the technician and the end user.
Six-step troubleshooting methodology.
Identify the problem; establish theory of probable cause; test the theory; establish a plan of action
and implement it; verify system functionality; and document everything.

3.2.1.4 Learning Activities

Practical Activity

299
The learner needs to undertake both assemble and disassemble of a computer. Therefore, below is
a list of activities to help you to assemble and disassemble a computer system.
 Unplugged the AC power supply to the PC from the wall socket.
 Remove the Cover or chassis or case.
 Remove Adapter Cards if any.
 Now Remove the processor and the heatsink and fan.
 Remove hard disk and CD/ DVD drives
 Next, remove the Memory Modules.
 Remove the Power Supply (SMPS)
 Finally, Remove the Motherboard

The learner needs to run a troubleshooter of a Computer Windows. As such, a list of activities to
help solve problems with a Computer is as follows:

1. Select Start > Settings > Update & Security > Troubleshoot or select the Find
troubleshooters shortcut at the end of this topic.

https://edu.gcfglobal.org/en/windowsbasics/troubleshooting-basic-problems/1/
2. Select the type of troubleshooting you want to do, then select Run the troubleshooter.

300
3. Allow the troubleshooter to run and then answer any questions on the screen. If you see a
message that no changes or updates were necessary, you can try recovery options, or find out
more about Outlook error codes and upgrade and installation error codes.

3.2.1.5 Self-Assessment
1. What are the three (3) components of a computer system?
2. Why magnetic screwdrivers are not preferred in troubleshooting and repair
maintenances of PC systems?
3. What does tweezers used for?
4. Which is the proper procedure of removing the hard drive of a computer system?
5. What are the steps to properly assemble the front panel cables of the CPU?
3.2.1.6 Tools, Equipment, Supplies and Materials
Screwdrivers
Nut drivers
Chemicals (such as contact cleaners), component freeze sprays, and compressed air for
cleaning the system
Foam swabs, or lint-free cotton swabs if foam isn’t available
Small nylon wire ties for “dressing” or organizing wires.
3.2.1.7 References
Christenson, P. (2018). PCI Definition. https://techterms.com
Computer Basics: Basic Parts of a Computer. (2020).
https://edu.gcfglobal.org/en/computerbasics/basic-parts-of-a-computer/1/
https://www.youtube.com/watch?v=MGqJa20Lqwc
https://www.youtube.com/watch?v=ctAVC2JwEwI

3.2.1.8 Model answers to self-assessment


1. While hardware and software components co-exist to make up the actual computer,
the humanware component adds in the human face to bring the complete computer into a
functional and productive existence. When installed separately, each may be useful to an extent

301
but incapable of achieving complete computing potential. Hardware and software need the human
factor in order to make input and connectivity possible.
2. Magnet's not strong enough to do much real damage, but if you want to be safe, keep
the magnetic bits away from exposed circuitry as they may harm your hard drives.
3. Tweezers are small tools used for picking up objects too small to be easily handled with the human
fingers. The tool is most likely derived from tongs, pincers, or scissors-like pliers used to grab or
hold hot objects.
4.
Step 1: Take Out the Battery. ...
Step 2: Remove the Screws of the Main Access Panel. ...
Step 3: Remove the Drive Mount. ...
Step 4: Pull Out the Drive from the Connectors. ...
Step 5: Take it out from the Bracket.

Desktop web link: https://www.youtube.com/watch?v=9xofddy0jQE

302
3.2.2 Learning Outcome 2: Disassemble faulty components.

3.2.2.1 Introduction to the learning outcome


This unit covers competencies required to perform disassembling faulty components. It include
Tools for disassembling, Procedures and techniques for disassembling and Repair or replace and
reassemble components

3.2.2.2.1 Performance Standard


3.2.2.2.1 Tools for disassembling are assembled.
3.2.2.2.2 Faulty components are disassembled.
3.2.2.2.3 Disassembling is performed according to provide instruction manuals.

3.2.2.2.2 Information sheet


Diagnostic tools: They are tools used to test and diagnose components.

Flat-head screwdriver: Used to tighten or loosen slotted screws.

Phillips-head screwdriver: Used to tighten or loosen cross-headed screws.

Torx screwdriver: Used to tighten or loosen screws that have a star-like depression on the top, a
feature that is mainly found on laptops.

Hex driver: Used to tighten or loosen nuts in the same way that a screwdriver tightens or loosens
screws (sometimes called a nut driver).

Needle-nose pliers: Used to hold small parts.

Wire cutters: Used to strip and cut wires.

Tweezers: Used to manipulate small parts.

Part retriever: Used to retrieve parts from locations that are too small for your hand to fit.

Flashlight: Used to light up areas that you cannot see well.

303
Wire stripper: A wire stripper is used to remove the insulation from wire so that it can be twisted
to other wires or crimped to connectors to make a cable.

Crimper: Used to attach connectors to wires.

Punch-down tool: Used to terminate wire into termination blocks. Some cable connectors must be
connected to cables using a punch down tool.

Significance of Disassembling a Computer System


When disassembling a computer the following consideration is useful:
Do not remove the motherboard battery or the configuration information in CMOS will be lost.
Use proper grounding procedures to prevent ESD damage.
Keep paper and pen nearby for note taking and diagramming. Even if you have taken computers
apart for years, you might find something unique or different inside.
Have ample work space.
When removing adapters, do not stack the adapters on top of one another.
If possible, place removed adapters inside a special ESD protective bag.
Handle each adapter or motherboard on the side edges. Avoid touching the gold contacts on the
bottom of adapters. Sweat, oil, and dirt cause problems.
Hard disk drives require careful handling. A very small jolt can cause damage to stored data.
You can remove a power supply, but do not disassemble a CRT-style monitor or power supply
Using tools properly helps prevent accidents and damage to equipment and people. This section
describes and covers the proper use of a variety of hardware, software, and organizational tools
specific to working with computers and peripherals.

Hardware Tools
For every job there is the right tool. Make sure that you are familiar with the correct use of each
tool and that the correct tool is used for the current task. Skilled use of tools and software makes
the job less difficult and ensures that tasks are performed properly and safely.

304
A toolkit should contain all the tools necessary to complete hardware repairs. As you gain
experience, you learn which tools to have available for different types of jobs. Hardware tools are
grouped into four categories:
 ESD tools
 Hand tools
 Cleaning tools
 Diagnostic tools
The figure below shows some common tools used in computer repair.

Figure 97 Computer Tools


https://www.electronicshub.org/electronics-repair-tool-kit-beginners/
ESD Tools
There are two ESD tools: the antistatic wrist strap and the antistatic mat. The antistatic wrist strap
protects computer equipment when grounded to a computer chassis. The antistatic mat protects
computer equipment by preventing static electricity from accumulating on the hardware or on the
technician.
Hand Tools

305
Most tools used in the computer assembly process are small hand tools. They are available
individually or as part of a computer repair toolkit. Toolkits range widely in size, quality, and
price.
Cleaning Tools
Having the appropriate cleaning tools is essential when maintaining and repairing computers.
Using the appropriate cleaning tools helps ensure that computer components are not damaged
during cleaning. Cleaning tools include the following:
 Soft cloth: Used to clean different computer components without scratching or leaving debris.
 Compressed air: Used to blow away dust and debris from different computer parts without
touching the components.
 Cable ties: Used to bundle cables neatly inside and outside of a computer.
 Parts organizer: Used to hold screws, jumpers, fasteners, and other small parts and prevents
them from getting mixed together.
Diagnostic Tools
Diagnostic tools include the following:
 A digital multimeter, as shown below, is a device that can take many types of measurements.
It tests the integrity of circuits and the quality of electricity in computer components. A digital
multimeter displays the information on an LCD or LED.

306
Figure 98 Multimeter

A loopback adapter, also called a loopback plug, tests the basic functionality of computer ports.
The adapter is specific to the port that you want to test.
 The toner probe, is a two-part tool. The toner part is connected to a cable at one end using
specific adapters, such as an RJ-45, coaxial, or metal clips. The toner generates a tone that
travels the length of the cable. The probe part traces the cable. When the probe is in near
proximity to the cable to which the toner is attached, the tone can be heard through a speaker
in the probe.

Figure 99 Toner Probe


Although an external hard drive enclosure is not a diagnostic tool, it is often used when diagnosing
and repairing computers. The customer hard drive is placed into the external enclosure for
inspection, diagnosis, and repair using a known-working computer. Backups can also be recorded
to a drive in an external enclosure to prevent data corruption during a computer repair.
Software Tools
Like hardware tools, there are a variety of software tools that can be used to help technicians
pinpoint and troubleshoot problems. Many of these tools are free and several come with the
Windows operating system.

307
Disk Management Tools
Software tools help diagnose computer and network problems and determine which computer
device is not functioning correctly. A technician must be able to use a range of software tools to
diagnose problems, maintain hardware, and protect the data stored on a computer.
You must be able to identify which software to use in different situations. Disk management
tools help detect and correct disk errors, prepare a disk for data storage, and remove unwanted
files.
Personal Reference Tools
They include troubleshooting guides, manufacturer manuals, quick reference guides, and repair
journals. A technician keeps a journal of upgrades and repairs. The documentation in the journal
includes descriptions of the problem, possible solutions that have been attempted, and the steps
taken to repair the problem. Note any configuration changes made to the equipment and any
replacement parts used in the repair. This documentation is valuable when you encounter similar
situations in the future.
 Notes: Make notes as you go through the troubleshooting and repair process. Refer to these
notes to avoid repeating previous steps and to determine what steps to take next.
 Journal: Document the upgrades and repairs that you perform. Include descriptions of the
problem, possible solutions that have been tried to correct the problem, and the steps taken to
repair the problem. Note any configuration changes made to the equipment and any
replacement parts used in the repair. Your journal, along with your notes, can be valuable when
you encounter similar situations in the future.
 History of repairs: Make a detailed list of problems and repairs, including the date, replacement
parts, and customer information. The history allows a technician to determine what work has
been performed on a specific computer in the past.

Faulty Components in a Computer Component

Hard drives have a built in S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology)
feature. The idea is that the hard drive monitors itself and will notice if it starts to fail, providing
you with some advance notice before the drive fails completely. This isn’t perfect, so your hard
drive may fail even if SMART says everything is okay.
308
If you see any sort of “SMART error” message, your hard drive is failing. You can use SMART
analysis tools to view the SMART health status information your hard drives are reporting

Figure 100
Web source: https://www.pcmag.com/how-to/how-to-check-your-hard-drives-health
Test the RAM
RAM failure can result in a variety of problems. If the computer writes data to RAM and the
RAM returns different data because it’s malfunctioning, you may see application crashes, blue
screens, and file system corruption.

309
To test your memory and see if it’s working properly, use Windows’ built-in Memory
Diagnostic tool. The Memory Diagnostic tool will write data to every sector of your RAM and
read it back afterwards, ensuring that all your RAM is working properly.

Figure 101
Web source: https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-
problems/

Check Heat Levels


How hot is is inside your computer? Overheating can result in blue screens, crashes, and abrupt
shut downs. Your computer may be overheating because you’re in a very hot location, it’s
ventilated poorly, a fan has stopped inside your computer, or it’s full of dust.
Your computer monitors its own internal temperatures and you can access this information.
It’s generally available in your computer’s BIOS, but you can also view it with system
information utilities such as SpeedFan or Speccy. Check your computer’s recommended
temperature level and ensure it’s within the appropriate range.

310
If your computer is overheating, you may see problems only when you’re doing something
demanding, such as playing a game that stresses your CPU and graphics card. Be sure to keep
an eye on how hot your computer gets when it performs these demanding tasks, not only when
it’s idle.

Figure 102
Web source: https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-
problems/

Stress Test the CPU


You can use a utility like Prime95 to stress test your CPU. Such a utility will for your
computer’s CPU to perform calculations without allowing it to rest, working it hard and
generating heat. If your CPU is becoming too hot, you’ll start to see errors or system crashes.
Overclockers use Prime95 to stress test their overclock settings — if Prime95 experiences
errors, they throttle back on their overclocks to ensure the CPU runs cooler and more stable.
It’s a good way to check if your CPU is stable under load.

311
Figure 103
Web source: https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-
problems/

Stress Test the Graphics Card


Your graphics card can also be stress tested. For example, if your graphics driver crashes while
playing games, the games themselves crash, or you see odd graphical corruption, you can run
a graphics benchmark utility like 3DMark. The benchmark will stress your graphics card and,
if it’s overheating or failing under load, you’ll see graphical problems, crashes, or blue screens
while running the benchmark.
If the benchmark seems to work fine but you have issues playing a certain game, it may just
be a problem with that game.

312
Figure 104
Web source: https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-
problems/

Swap it Out
Not every hardware problem is easy to diagnose. If you have a bad motherboard or power
supply, their problems may only manifest through occasional odd issues with other
components. It’s hard to tell if these components are causing problems unless you replace them
completely.
Ultimately, the best way to determine whether a component is faulty is to swap it out. For
example, if you think your graphics card may be causing your computer to blue screen, pull
the graphics card out of your computer and swap in a new graphics card. If everything is
working well, it’s likely that your previous graphics card was bad.
This isn’t easy for people who don’t have boxes of components sitting around, but it’s the ideal
way to troubleshoot. Troubleshooting is all about trial and error, and swapping components
out allows you to pin down which component is actually causing the problem through a process
of elimination.

313
Procedures and Techniques for Disassembling a Repair/Replace a Computer System

The following are techniques and procedural steps for dissembling and repair of a computer
system;

Step 1: Unplugging

Figure 105
web source: https://edu.gcfglobal.org/en/computerbasics/setting-up-a-computer/1/

The first thing you do, is unplug every cable that's plugged in to your computer. That includes
the following cables:
 Power
 USB
 Firewire
 Mouse
 Keyboard
314
 Internet
 Ethernet
 Modem
 AM\FM Antenna
 Cable TV
etc...
So pretty much just unplug every cable from your computer.
Step 2: Outer Shell/Casing

Figure 106
Web source: https://edu.gcfglobal.org/en/computerbasics/setting-up-a-computer/1/

Now that your computer is fully unplugged, move your PC to a clean work space, preferably a
carpet. The carpet is better than tile, because screws and other small parts will roll around.

If you are working on a carpet, about every five minutes touch something that is grounded (Sink
faucet\pipe, wire coming from the ground part of a wall outlet). This is so you don't shock your
motherboard or other parts.

315
First off, unscrew the four screws on the back of the computer. On most computer cases, there will
be large knobs that you can unscrew by hand or by screw driver on the back-right side of the
computer. The left side has small screws because on that side you can't access much on the inside.

Once the screws are removed, you can remove the side panels. On most computers, they just slide
off. Start with the left side panel (the side that once had the knobs), slide it towards the back of the
computer. Now you can remove the left panel. Just like the other one, slide it towards the back of
the computer

Step 3: Outer Shell/Casing (cont.)

Figure 107
Removing both side of the panels
(https://content.instructables.com/ORIG/FJA/0KCK/FTY4BQAJ/FJA0KCKFTY4BQAJ.j
pg?auto=webp&frame=1&width=1024&height=1024&fit=bounds&md=2960401d4ba8822
7e6782a75e68cde32)
In the last step I removed both side panels. In this step, I will be removing the front and top panels.

316
Just like the side panels, the top panel slides off. Also like the side panels, the top one slides toward
the back of the computer. The front panel clips on to the metal frame with four tabs, so you must
push them in and slide the whole panel forward.

Step 4: System Fan

Figure 108
Web source: https://www.amazon.com/Computer-Case-Fans/b?ie=UTF8&node=11036291
Figure 16.1: Internal Components

Now that the case is off, I will begin to remove the internal components.
Most computers have two fans: the system fan, the one blowing air into the computer, and the
CPU fan, the one blowing air onto the CPU heat sink. I will start by removing the system fan
first. It is located at the back side of the computer, the side with all the component plugins.

First, unplug the fan from the motherboard. You can find the plug by following the wire from
the fan. It should be labeled "SYS_FAN1". Next, you will have to unscrew the fan from the
outside. You should now be able to lift the fan out of the PC.

317
Step 5: CPU Fan

Figure 109
Web source: https://www.amazon.com/Computer-Case-Fans/b?ie=UTF8&node=11036291

Figure 17.1 : System fans


Now that the system fan is out, we can remove the CPU fan.

The CPU fan is located right on top of the CPU heat sink, which is a large piece of metal with fins
on the top. The CPU fan plugs into the motherboard in an awkward place, that is hard to access.
But just follow the wires and you should easily find it. It is labeled "CPU FAN1". To remove the
fan from the heat sink, remove the four screws securing it in place.
Step 6: Power Supply

318
Figure 110 Internal components
Web source: https://edu.gcfglobal.org/en/computerbasics/inside-a-computer/1/

Figure 111 Internal components


The power supply manages all the power for the machine.
The power supply is a large metal box located at the upper-back part of the computer. They
sometimes come with an on/off switch that is accessible from the back of the computer. The main
power cord also plugs into the back of the power supply.

The power supply supplies power to every component in a computer, therefore it has the most
wires out of every other component in the computer. The first thing I will do is unplug every wire
coming from the power supply. The list below is everything that I had to disconnect.

 Motherboard (very large connector/plug)


 CD/DVD drive[s] power
 Internal hard drive power
 Portable hard drive slot power

319
Once everything is unplugged, unscrew the four screws holding the power supply in place, on the
back of the computer. Next, push the power supply from the outside, and then lift it out.
7: CD/DVD Drive[s]

Web source: https://edu.gcfglobal.org/en/computerbasics/inside-a-computer/1/


Figure 112 CD/DVD Drive[s]
I have one CD/DVD drive, but you might have two. If so, follow this step twice!
The CD/DVD drive is one of the easiest components to remove. First, unplug the ribbon from the
back of the drive. Once that is completed, pull on the tab securing the drive in place, and then
push it out from the inside.
If nothing as a second drive, there should be a flat piece of metal covering the drive slot. Follow
the inscribed instructions to remove it.

Step 8: Card Reader

320
Figure 113 Card Readers
Web source: https://en.wikipedia.org/wiki/Card_reader
Most new computers have built in card readers, but old computers almost never have them.
Just like every other component, unplug the wire first. On my computer, there is just one screw
holding the card reader in place. Your computer might have more, so just unscrew them all!
After that, the card reader should be removeable.
Most card readers have a protective plastic cover on the part that you can see from the external
computer, which can be removed by lifting the tabs on the top and bottom. Refer to the pictures.

Step 9: Hard Drive & Portable Hard Drive Slot

321
Figure 114 Hard Drive & Portable Hard Drive Slot(s)
Web source: https://en.wikipedia.org/wiki/Card_reader
First off, de-attach the connector at the back of the slot, and unplug the other end from the
motherboard. Also unplug the SATA cable from the motherboard and the hard drive. The portable
hard drive slot is secured the same way the CD/DVD drive is, with a tab. Pull on the tab, then slide
the slot out.

To remove the hard drive from the side of the slot, unscrew the four screws securing it in place.
You must be very careful to not drop the hard drive, as it is very delicate!

Step 10: Expansion Cards

322
Figure 115 Expansion cards
Expansion cards are like small upgrades to your computer.
Expansion cards give computer new capabilities, once installed. Different examples are:
 Bluetooth
 Wireless Internet
 Ethernet
 TV

Different computers come stock with different cards. My computer came stock with a TV and
Ethernet card. If you only have one, remove that one. If you have two, remove the two!

There should be a single screw on top of each expansion card slot, whether it's occupied, or empty.
Remove the screws on the occupied card slots. Once the screws are removed, you should be able
to remove the cards by pulling them carefully upward. Some expansion cards have cables leading
to other parts of the computer, for example, my TV card is connected to the connectivity center on
the front of my computer. You will have to unplug any cables attached to an expansion card.

Step 11: Connectivity Center Cables

323
Figure 116 Connectivity Center Cables
Web source: https://fcit.usf.edu/network/chap4/chap4.htm
Most new computers have a connectivity center located at the front of the computer.
The connectivity center is the area on the front of the computer where there is many input sections,
like usb, firewire, microphone, headphones, video, etc.. I won't remove the whole connectivity
center in this step, but I will unplug all the cables coming from it.

Do that (unplug all cables), then unplug the wires leading from the power button, hdd light, and
power light.

Step 12: RAM (Random Access Memory)

324
Figure 117 RAM (Random Access Memory)
Web source: https://www.crucial.com/articles/about-memory/support-what-does-computer-
memory-do
RAM allows for the near instantaneous transfer of information to and from the CPU.

So pretty much, the more RAM you have, the faster your computer runs. Most computers have 4
RAM slots, and two RAM chips. My computer came stock with two, but yours might have more
or less. To remove the RAM, push down on both tabs holding the RAM in place, which are located
at both ends of the RAM. Please see the pictures.

Step 13: Power Button & Power LED + HDD LED

325
Figure 118 Power Button & Power LED + HDD LED
Web source: https://www.crucial.com/articles/about-memory/support-what-does-
computer-memory-do

The power button, power LED, and hard drive LED are all within a plastic "chasis".
There is a zip tie holding the wires/cables for the front connectivity center and front power
button/LEDs. Cut it.
To remove the chasis, press in on the tabs that are located on the chasis' side. Refer to the pictures
to see the tabs. Once the tabs are being pressed in, pull the whole chasis out of the computer.
To remove the LEDs from the "chasis", push them from the front with a screw driver. To remove
the button, you will need to push it from the back, the side with the wires. For clarification, see the
pictures.
Not all computers may be set up like this, so your computer will probably be different. Just use
common sense to find a way!

Step 14: Connectivity Center

326
Figure 119 Connectivity Center
Web source: https://fcit.usf.edu/network/chap4/chap4.htm
Not every computer has a connectivity center, but most new ones do.
Like I said in step 11, "The connectivity center is the area on the front of the computer where there
is many input sections, like usb, firewire, microphone, headphones, video, etc.". But this time, I
will remove the whole component, not just unplug the cables\wires!

First thing, unscrew the single screw holding it in place. There might be a different amount of
screws, in different locations on your computer, but just unscrew them all! One the screw[s] are
removed, the whole component should slide into the inside of the computer, which can then be
removed.

Just like every other step, refer to the pictures if you are confused!
Step 15: Motherboard

327
Figure 120 Motherboards
Web source: https://en.wikipedia.org/wiki/Motherboard
The motherboard is well, the mother of the computer! It is what links every component in the
computer together.
My motherboard is fried, but I will remove it anyway. The motherboard links every component in
the computer together. The CPU, RAM, and expansion cards are attached directly to it, and every
other part of the computer is in one way or another attached to it.

The motherboard has seven screws holding it to the frame, which are indicated by large white
circles around them. Remove those seven, then lift the motherboard out of the frame.

Reassembling Components of a Computer

328
The reassembling of the computer system is exactly the opposite of disassembling operation.
Before starting assembling the computer system, make sure you have the screws and a screwdriver
for those.
The first step for assembling the computer system starts with mounting the processor on the
processor socket of the motherboard. To mount the process, you don't need to apply any force. The
special ZIF (zero insertion force) sockets are usually used to prevent any damage to the processor
pins. Once the processor is mounted, the heat sink will be attached on top of the processor. The
CPU fan is also attached on top of the heat sink.
Now the motherboard is to be fixed vertically in the tower case and the screws are fixed from
behind of the motherboard.
Now line up the power supply at the top back end of the cabinet and screw it. The power connectors
for motherboard power supply and CPU fan power supply are to be connected. If the cabinet
cooling FAN is required then it is to be screwed at the back end grill of the cabinet and its power
connector is to be connected from SMPS.
Install the CD/DVD drives at the top front end of the cabinet and screw it. Install the Hard disk
drive and floppy disk drive below CD/DVD drive and screw it. Make sure once screwed there is
no vibration in either of the CD/DVD, Hard disk or Floppy disk drives.
Now select the appropriate data cable and connect one end of the cable to its drive socket and
another end at its appropriate connector on the motherboard. For SATA hard disk drive or
CD/DVD drives use SATA cable and its power cable, else use IDE data cable. Do the proper
jumper settings as per the usage requirement.
It is time now to mount the memory modules on the motherboard by aligning the RAM to its socket
on the motherboard and press it downward. Make sure the side tab are fixed into the RAM notch.
If not, you may still have to press a bit.
Install the internal cards to its socket and attach the cables or power cable to it. The selection of
right socket or slot is required as per the type of socket.
Cover the tower by placing it and pressing towards front side and screw it.
Connect the external devices with CPU at its appropriate socket. It includes mouse and keyboard
at PS2 or USB connectors. Monitor at the video output socket. Connect the power cable to the
back of tower in SMPS. Plug in the power cable to the electric board.

329
3.2.2.4 Learning activities
Project Work
1. You are provided with the following activities on Disassembling a Computer. In this, you need
to explain the practical activities of at least four (4) hardware components listed below.

1) CD/DVD Drive

2) Motherboard

3) Power Supply

4) Card Reader

5) Expansion Cards

6) RAM Chips

Practical Activity

2. You are needed to undertake a physiological computing disassembly and reassembly activities
as follows;
 Shut down the computer system before the commencement of the activities. It is
hazardous to perform any such activity with the computer system power on and
connected with the power supply. Detach the power cable.

 Remove all the interfaces of the devices connected with the cabinet (computer system).

 Perform the task at the dry, non humid area to prevent environmental problem.

 If you are inexperienced, take a picture of the inside assembly of the cabinet, so that
you can attach the right thing at the right place at the time of reassembly.

 Keep all the screw properly and fix all of them at the appropriate place

3.2.2.5 Self-assessment
Why should you avoid using a magnetic screwdriver in dissembling a computer system?

1. What are some basic tools to carry with you when servicing a computer?

330
2. .What is the impact of Moore’s Law on the various hardware components?
3. What factors should be considered before disassembly and reassembly of a computer?

3.2.2.6 Tools, Equipment, Supplies and Materials


 Medium flat-tipped screwdriver
 Screwdriver
 1/4-inch nut driver
 3/16-inch nut driver
 Pair of small diagonal cutters
 Pair of needle-nose pliers33 Screws

 Drive Slot Cover

331

3.2.2.7 References
Christensson, P. (2018, June 25). PCI Definition. https://techterms.com

(2020). from https://www.tekmoz.com/how-to-disassemble-a-laptop/

3.2.2.8 Model answers to self-assessment

1. Magnetic screwdriver can cause permanent loss of data on hard drives or floppy disks.
Magnetism can also induce currents into components and damage them.
2. Flat-Tip Screwdrivers: Flat-tip screwdrivers are flat-headed and used to turn slotted screws.
Buy the Taparia Flat Tip Screwdriver or the JK Files Flat Tip Screw Driver.

Philips-Head Screwdrivers: Philips-head screwdrivers are the ones that are used to tighten or
loosen screws that are cross-headed.

Torx Screwdrivers and Nut Drivers: Torx Screwdrivers are used to fasten or loosen screws that
have star-shaped depression; these screwdriver tips have a firmer grip and do not slip out that
easily whilst fastening. Of late, Torx screwdrivers are used to tighten or unscrew almost all laptop
fittings.

Nut drivers, which are similar in appearance to a screwdriver, are an essential part of the computer
repair toolkit. They are used to fasten bolts and nuts of varied dimensions. They possess a hollow
shaft that empowers them with a stronghold of the threaded nut.You could use the Focus Nut
Driver or the Wera Werk Nut Driver to fasten or loosen your nuts and bolts quickly. You could
also make use of the JE tech Toll Nut Driver which comes with a soft grip to tighten your nuts.

Wire Cutters: Wire cutters are helpful in stripping and cutting wires as per one’s need. Grab the
Ambika Heavy Duty Wire Rope Cutter to snip your wires.

Needle-Nose Pliers: Needle-nose pliers provide cutting and holding functionalities to the user.
They are useful especially in hardware and electronics repair; because of their pointed needle-like

332
tip, they come in handy if a nut or an element has become stuck in an otherwise unreachable cranny
of the motherboard.

Wire Strippers: Wire Strippers are pliers that help in stripping the wire off its insulation. A wire
is generally coated with a covering of insulating material. If the situation demands, the wire has to
be stripped-off of all its insulating covering to use it, say as a connector or a cable. A wire stripper
consists of a pair of blades that function as a pair of scissors does.

Crimpers: Crimping tools or crimpers are used to connect wires in such a manner that they are
able to transmit data. Two wires are joined together with the help of a crimping tool by deforming
either one or both of the wires. Every single one of the wires to be conjoined is first placed in the
connector jack and then squeezed and held together to form a uniformly conducting wire.

3. The trainee should pick one of the components and discuss the impact of the fact that
computing doubles in speed every two years. Most devices are getting smaller, faster, cheaper,
and this should be indicated in the answer.
4. 1) Shut down the computer system before the commencement of the process. It is hazardous
to perform any such activity with the computer system power on and connected with the power
supply. Detach the power cable .
2) Remove all the interfaces of the devices connected with the cabinet(computer system).
3) Perform the task at the dry, non humid area to prevent environmental problem.
4) If you are inexperienced, take a picture of the inside assembly of the cabinet, so that you
can attach the right thing at the right place at the time of reassembly.
5) Keep all the screw properly and fix all of them at the appropriate place

333
3.2.3 Learning Outcome 3: Repair/Replace and reassemble components.

3.2.3.1 Introduction to the learning outcome


This unit covers competencies required to perform Determine components to replace or repair,
Procedures and Techniques for reassembling, Component testing, and Repair/replace report

3.2.3.2 Performance Standard


3.2.3.2.1 Faulty parts to be repaired or replaced are identified
3.2.3.2.2 Acquisition of new parts is done as per the specifications of the components in the case
of replacement and repair is done on faulty components.
3.2.3.2.3 Reassemble the repaired or replaced components.

3.2.3.3 Information Sheet


Operating System - the system software that controls the
computer.
S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) feature. The idea is that
the hard drive monitors itself and will notice if it starts to fail, providing you with some advance
notice before the drive fails completely.
Shut Down - the command from the Special menu that shuts down
the computer safely.
Hardware: refers to the physical components that make up a computer and allow it to operate.
Acquisition of New Computer Parts in Case Of Repair And/or Replacement Of Faulty
Components

There are three main options for acquisition of computer hardware are buying, leasing, or renting
it. There are advantages and disadvantages that ought to be weighed for each of the decisions, as
shown in the table illustration below. Some of the more influential factors to consider in deciding
which option is best for a particular installation include initial versus long-term costs, whether the
business can afford to tie up capital in computer equipment, and whether the business desires full
control of and responsibility for the computer equipment.
334
Advantages Disadvantages

Buying Cheaper than leasing or renting over Initial cost is high


the long run Risk of obsolescence
Ability to change system Risk of being stuck if choice
Provides tax advantages of was wrong
accelerated depreciation Full responsibility
Full control

Leasing No capital is tied up Company doesn’t own the


No financing is required system when lease expires
Leases are lower than rental Usually a heavy penalty for
payments terminating the lease
Leases are more expensive than
buying

Renting No capital is tied up Company doesn’t own the


No financing is required computer
Easy to change systems Cost is very high because
Maintenance and insurance are vendor assumes the risk (most
usually included expensive option)

Buying implies that the business itself will own the equipment. One of the main determinants
of whether to buy is the projected life of the system. If the system will be used longer than
four to five years (with all other factors held constant), the decision is usually made to buy.
Notice in the example in illustration below that the cost of purchase after three years is lower than
that of leasing or renting. As systems become smaller, more powerful, and less expensive, and as
distributed systems become more popular, more businesses are deciding to purchase equipment.

Leasing, rather than purchasing, computer hardware is another possibility. Leasing equipment
from the vendor or a third-party leasing company is more practical when the projected life

335
of the system is less than four years. In addition, if significant change in technology is
imminent, leasing is a better choice. Leasing also allows the business to put its money elsewhere,
where it can be working for the company rather than be tied up in capital equipment. Over a long
period, however, leasing is not an economical way to acquire computer equipment.

Renting computer hardware is the third main option for computer acquisition. One of the main
advantages of renting is that none of the company’s capital is tied up, and hence no financing
is required. Also, renting computer hardware makes it easier to change system hardware. Finally,
maintenance and insurance are usually included in rental agreements. Because of the high costs
involved and the fact that the company will not own the rented equipment, however, renting
should be contemplated only as a short-term move to handle nonrecurring or limited
computer needs or technologically volatile times.

Evaluation of Vendor Support for Computer Hardware


Several key areas ought to be evaluated when weighing the support services available to businesses
from vendors. Most vendors offer testing of hardware on delivery and a 90-day warranty
covering any factory defects, but you must ascertain what else the vendor has to o ffer.
Vendors of comparable quality frequently distinguish themselves from others by the range
of support services they offer.
A list of key criteria that ought to be checked when evaluating vendor support is provided in the
illustration below. Most of the extra vendor support services listed there are negotiated separately
from hardware lease or purchase contracts.

Vendor Services Specifics Vendors Typically Offer

Hardware Support Full line of hardware


Quality products
Warranty

Software Support Complete software needs

336
Vendor Services Specifics Vendors Typically Offer

Custom programming
Warranty

Installation and Commitment to schedule


Training In-house training
Technical assistance

Maintenance Routine maintenance procedures


Specified response time in emergencies
Equipment loan while repair is being done

Support services include routine and preventive maintenance of hardware, specified response time
(within six hours, next working day, etc.) in case of emergency equipment breakdowns, loan of
equipment in the event that hardware must be permanently replaced or off-site repair is
required, and in-house training or off-site group seminars for users. Peruse the support
services documents accompanying the purchase or lease of equipment and remember to
involve appropriate legal staff before signing contracts for equipment or services.
Unfortunately, evaluating computer hardware is not as straightforward as simply comparing costs
and choosing the least expensive option. Some other eventualities commonly brought up by
users and management include
1. the possibility of adding on to the system if the need comes up later;
2. the possibility of interfacing with equipment from other vendors if the system needs to grow;
3. the benefits of buying more memory than is projected as necessary, with the expectation that
business will eventually “grow into it”; and
4. The corporate stability of the vendor.
Competition among vendors has made the idea of producing hardware that is compatible with
competitors’ hardware important for vendors’ survival. Before becoming convinced that buying
cheaper compatibles is the way to endow your system with add-on capability, however, do enough
research to feel confident that the original vendor is a stable corporate entity.

337
Reassembling Of the Repaired or Replaced Computer Components
Computers are still largely designed using the Von Neumann architecture, which describes the use
of a central processing unit interacting with a memory unit, to facilitate the processing of data from
input sources like external mass storage to output devices like the screen.
Computers usually consist of some relatively similar componentry across designs, although several
of the components which traditionally were modular in early computer designs have been absorbed
into an integrated central motherboard. These components include the CPU, memory unit (RAM),
data storage drive (HDD/SDD), graphics card, sound card, network card, and cooling unit, along
with peripherals like the keyboard, speakers, mouse, and screen. Other devices may also work in
tandem with the computer, and are also considered hardware, such as a printer, scanner, game
controller, or webcam.

For repairing or troubleshooting a computer use the following procedure: Gather together your
toolkit: e.g. air blowing machine, screw drivers, software, back up disk etc. q Check for power
FIRST, before doing anything else. 10 - 15 percent of all computer Issues/Problems emanate from
power surge. Check this BEFORE doing anything else. Check to be sure if the computer is plugged
in to an AC outlet properly.
Check your external connections to the computer. Specifically, check the mouse, keyboard,
monitor, modem and/or printer cables, making sure that all are secure and in the right sockets.
Perform the Power On Self-Test (POST) POST is a set of procedures that a computer runs through
each (me it is turned on. It ensures that all of the system's hardware is working properly before
trying to load the operating system. If the computer does not pass POST, it will not boot.
Note: Make sure the computer turns on. If nothing happens (no lights, no sound, no fans, etc.), the
computer has a power related issue.
If the computer is still malfunctioning, go ahead then and open the case. Check to see that all of
the cards are fully pressed down into the bus connections, that any socketed chips are fully pressed
into their sockets, and that all cable connections are fully attached. Make sure that the drive cables
are attached correctly. q Clean any dust or foreign material out of the case while it is open. Dust
can cause overheating problems and electrical shorts. Sometimes, insects will nest inside the case
as well. All of this needs to be cleaned out before you close up the case. Take precautions to avoid
inhaling excess dust, and consider using protective eyewear if necessary.
338
The computer is unable to start up – If the computer does not turn on when you press the
power button, the following suggestions may help you to determine why the computer will
not start up.
q First of all, check if the computer is plugged in to an AC outlet properly. q Plug another electrical
device into the outlet to be sure that the outlet is providing adequate power. A surge protector can
be used in this case, because voltage surges can be very damaging to computers and other electrical
components. Then put on the system to perform a POST. Acer the POST and it is confirms that,
the computer is producing all of the usual startup sounds and lights, but the monitor is not
displaying any information, perhaps there is a problem with the monitor. Make sure that it is
connected to a power source, and also that the VGA cable is connected to the computer.
Basic computer Hardware Repairs
Replacing a Power Supply. The power supply failure is a common problem in our country. This is
due to an uneven or “poor” voltage and power surges.
• Replacing a Hard Drive or formatting and installing Fresh OPERATING SYSTEM.
Replacing RAM. RAM can fail or can loose from its housing and need to be reseated. If a computer
needs new or additional RAM, it is important to make sure that the RAM used is compatible with
the computer system. RAM is very easily damaged by electrostatic charges, so it is very important
for the user to be grounded before picking up RAM. Also RAM should only be handled by the
edges.

Peripheral Hardware Use and Maintenance\


Peripheral hardware will also last longer if it is well maintained. Peripheral hardware such as
printers, scanners will last longer if proper care about heat, dust and power surge control is taking
to consideration. Troubleshooting and fixing Printer problems
Let’s assume that your printer’s drivers are up-to-date, q and that it has enough paper and ink or
toner to print. q Try turning the printer off and on. q Unplug the printer and plug it back in. Check
your printer’s print queue by looking for the printer icon in the system tray and double-clicking it.
The print queue shows you the status of each job as well as the general status of your printer. q
makes sure that ‘Use Printer Offline’ isn’t selected.

339
Ensure that ‘Use Printer Offline’ isn’t checked. Sometimes, printing while your printer is turned
off can cause Windows to set your printer to work offline, and that can stall jobs sent later.

Maintaining the Battery for your Computer


Most laptop batteries will last at least four hours when fully charged. If not maintained, however,
the battery will require charging more frequently. For maximum performance. Use the battery as
your power source un(l the low battery warning emerges. Using your laptop with the AC adapter
plugged into an electrical outlet will overcharge the battery. Overcharging decreases the life of the
battery. Eventually the battery will be unable to hold a charge and will require a replacement.
Condition the battery for maximum performance 1. Discharge the battery – use the battery until
the low battery warning emerges. 2. Charge the battery – use the AC adapter until the battery is
fully charged. 3. Then immediately disconnect the AC adapter from the notebook. The procedure
above insures both maximum performance and long life for the battery

Web link: https://www.youtube.com/watch?v=AqFY7vJiaac


3.2.3.4 Learning Activities
Special instructions related to learning activities.

 Practical activities can be performed in the computer lab of the trainee’s institution or a
personal computer.

Trainees taking this unit are highly recommended to own a working computer.
 The learner is required to perform the following step by step activities in reassembling of
repaired components of a Computer System.

STEP 1
Put the motherboard back into the case and reconnect the sound cable.
Put all screws back into the white arrow holes.
Put the case parts back together. Remember to thread the cables including the antennae cable back
through. Make sure no cable is snagged or caught up anywhere.
STEP 2

340
Put the retaining screws back into the bottom half of the computer. Then put the top screws back
in.
STEP 3
Put the screen back in place and reconnect the antennae and the data cable.
Replace the display hinge screws.
STEP 4
Replace the keyboard. First of all put the ribbon cable back in. Remember there is a plastic hinge
which holds the ribbon in place; remember to lift this up first (gently).
The ribbon has a darker side and a lighter side. It is the lighter side that faces upward, so there is
no twist in the ribbon.
Replace the keyboard retaining screws.
STEP 5
Click the Hinge Cover Plate (HCP) back into place. Use even pressure to ensure it fits properly.
STEP 6
Replace the RAM. Remember it is fed into the slots at 30 degree angles and not straight on.
Once it has been fed at a 30 degree angle, click it downwards into place.
Replace the other components such as the wireless card, again remember it has to inserted at a 30
degree angle. Click it into place and gently replace the gold connector.
Replace the Hard Disk Drive (HDD) by sliding it in the opposite direction to the arrow. Make
sure it fits securely and is not loose.
Insert the CD/DVD drive and put the retaining screw back into the underside of the laptop.
STEP 7
Finally, replace the component covers and replace all of the screws

3.2.3.5 Self-Assessment
1. What is the relationship between hardware and software problem in a computer system?
2. Why is proper and regular maintenance significant for any computer system?
3. What are the basic computer maintenance guidelines which assist in improving hardware and
software performance?
4. What is the distinction between hardware repair and software repair?

341
5. When the screen is blank, the computer may not be set to display the image on the computer
screen. What are the two (two) 2 basic tips to troubleshoot and fix/ repairs the computer issue?

3.2.3.6 Tools, Equipment, Supplies and Materials


Medium flat-tipped screwdriver
● Small flat-tipped tweaker screwdriver
● Screwdriver
●1/4-inch nut driver
●3/16-inch nut driver
●Pair of small diagonal cutters
●Pair of needle-nose pliers

3.2.3.7 References
Computer Basics: Basic Parts of a Computer. (2020).
https://edu.gcfglobal.org/en/computerbasics/basic-parts-of-a-computer/1/

Williams, Gregg (January 1982). "A Closer Look at the IBM Personal Computer". BYTE. p. 36.
Retrieved 19 October 2013.

3.2.3.8 Model Answers to Self-Assessment

1. Without software, computer hardware is useless. Conversely, computer software cannot be


used without supporting hardware. Similarly, computer software has to first be loaded into the
computer’s hardware and then executed. There are several categories of software, with the two
main categories being operating-system software, which makes the hardware usable, and
application software, which does something useful. Examples of operating systems include
Microsoft Windows on a personal computer and Google’s Android on a mobile phone. An
example of application software is Microsoft Excel.
2. Since computers are such an integral part of our lives, it is crucial that we take care of them by
having them properly maintained. Here are five great reasons why regular computer
maintenance is a good idea.

342
3. Early Detection of Issues: Computers can be temperamental, and we all know that small
issues can become huge problems before we know it. But, having regular
maintenance check done on your computer can eradicate small issues before they become big
problems. Small issues can crop up at any time, even when your computer is new, nipping
them in the bud during a regular maintenance session can save you a lot of headaches when
the computer starts to age.
Prevention against Viruses and Malware: It seems like no matter how often we sweep our
computers or run virus checks on them; our computers are still vulnerable to harmful viruses.
There are innumerable viruses and malware already out there just waiting to infect computers,
and more are being created every day. Some are meant to be a daily annoyance and slow down
the processing time of the computer or make pop-up messages appear, but others can infect
entire operating systems. When this occurs either at home or a business, it can be costly to fix
and can even cost a company money in other ways such as loss of productivity. But, keeping
computers well-maintained can keep both viruses and malware away and keep your computer
running in tip-top shape. Regular maintenance can also help you ensure your antivirus
software is up-to-date and working properly.
Speed up Your Computer: Nothing can be more frustrating than a computer that
processes too slowly. But, as most of us can attest, over time our computers get clogged up
with files and everything gets disorganized and fragmented. The result is slow processing
times. Computer maintenance techs are experts at running speed and optimization checks that
can pinpoint issues and keep your computer running at an optimal speed.
Maximize your Software Efficiency: Another reason your computer may slow down
over time is that your software package is getting old. Since this change happens gradually,
your computer simply gets used to it and thinks that it is normal. But, having regularly
scheduled maintenance on your computer will clean out any issues and have your software
running perfectly again.
Prevent Data Loss: Although data loss is uncommon, if it does happen, it can wreak
havoc on your life. When your computer starts running slowly or begins having occasional
hiccups, it can require a system reboot that can ultimately result in lost data. However, keeping
your computer maintained will lessen the likelihood of these instances and keep your data safe
and secure for when you need to access it.
343
3. These essential maintenance tips for a computer system will see many more years of
powerful performance and great appeal.
Protect with padding: Everyone has been there; drops, bumps, and slips result in unsightly
cosmetic dings that leave your computer looking less-than-loved. If you’re like most people
who travel with their PC, safeguarding against accidents can feel next to impossible when
packing your PC away into a carry-on. An exposed laptop is vulnerable to all of the elements
of travel you likely want to protect it from.

Whether you’re traveling business-class or to a classroom across campus, shielding your PC


against the elements starts with a protective case. There are a few different styles of protection
that offer differing levels of armor and functionality. These include:

Skins: Functioning as a full-body laptop sticker, laptop skins are best for protecting the chassis
from light damage and scratches.

Hardshell snap-on covers: Polycarbonate, plastic, or rubberized hard shell laptop covers protect
your PC while still granting easy access to ports, buttons, lights, and fans.

Sleeves: A simple, soft, envelope-style pouch typically made of gentle materials like nylon,
polyester, suede, or microfiber, laptop sleeves are lightweight protection.

Messenger bag: A shoulder bag specifically designed to accommodate your laptop and necessary
peripherals, the dedicated laptop messenger bag offers the most padded protection.

Organize cords: The only thing more frustrating than dealing with long, confusing cables is getting
them all mixed up and tangled in the process. Keeping your digital world connected is a must, so
nixing the cables isn’t a feasible option. Taking the time to declutter and organize the snake-like
mass of wires spawning from your power strip and PC ports is a great first step for both desktop
and laptop users. Try these wire organization tips:

A rotating power strip: Traditional power strips offer a single line or panel of surge inputs. A
rotating power strip gives you the freedom to modify the positioning of your many chargers,
monitors, and docks.

344
Color-coding cables: Computer cables tend to be two colors; black and white. Organizing your
mess of wires may be as simple as color coding them with reds, blues, yellows, greens, and or
using labels in distinguishable hues.

Cable clips: Wire management is made simple when you attach cable clips to your desk, wall, or
floor. These small clips are designed to hold cables of all different sizes.

Organizer panel: Functioning as a panel of cable clips, a wire organizer panel accommodates
multiple wires. Stick it in place with an adhesive or keep it desk-side when you use a weighted
panel.

Awesome tip: Be sure to keep your wires away from any footpaths. Tripping over wires could
result in the toppling of your devices, doing more damage in an instant than years of use could
ever do.
Update your operating system: If you’re looking for basic computer maintenance, keeping your
operating system up to date is one of the easiest solutions. Regardless of whether you’re a
Windows, Mac, or Linux loyalist, updating your PC when new patches are available ensures your
PC stays at the cutting-edge of performance power.
Windows 10 is known for keeping users in-tune with once-a-day update checks. This automated
scan occurs in the background and always notifies you if there are any important software or
operating system patches that need to be made. The end goal is to optimize your PC performance,
so when Windows suggests you update, you should do it.
Awesome tip: Some updates take longer than others. Set aside time before bedtime or during a
daytime break to let Windows do its thing without interrupting your workflow.
Unplug to avoid overcharging: With heightened dependence on wireless devices, optimizing
battery power is a top priority for many. There are few things more dreadful than a draining battery
when you’ve got hours of work and play left on your day’s schedule. However, it’s better to resist
the temptation of plugging in the moment your PC falls under 50% battery life.
Unnecessary charging can lead to overcharging, which then leads to regenerative capability
deterioration. This often looks like a laptop that can’t hold a charge as well as it could in its earlier
days.

345
Being shackled to the weight of a charger defeats the purpose of a laptop’s wireless portability. To
avoid a bad battery fate, unplug your device after it reaches 100% charge, and don’t plug in until
power is actually low.
Purge your system of junk files and programs: Computers tend to show their age best in the number
of unused files living on their hard drives. Useless programs and old junk files likely take up more
space than you realize. From old versions of software to retired versions of your resume, your PC
is sure to have its fair share of digital debris festering on your desktop or in your start menu. These
programs and files can quickly turn into performance hogs if they continue to accumulate.
Before your computer gets to a point where it’s begging for more storage space, use these PC
purge tips to relieve your system.
 Uninstall trialware

 Run disk cleanup software


 Empty the recycle bin
 Delete temporary files
 Remove cache of offline web pages

Run regular antivirus scans: Malware attacks can sneak up on you at any given moment, and in
the event one does, having a savvy antivirus living on your PC will protect you against the damage
viruses bring. Weekly antivirus scans ensure your computer is always clear of malicious software
infections. A basic scan will examine your computer for any glaring dangers or outstanding
activity.

For those who are frequent web-users and download programs and files regularly, consider running
a virus scan twice a week. It’s always better to err on the side of safety, especially when your
personal data could be at risk.
Malware infections can compromise the performance of your computer and expose your
confidential information to third-party cybercriminals. Depending on the type of malware installed
on your system, a virus could also:
 Slow web browser speeds
 Disrupt network connections
 Freeze or crash your system
346
 Alter computer settings
 Allow unauthorized access to system resources

By running regular antivirus scans you can rest assured that nothing slips by. Be sure to choose an
antivirus scan servicer that also scans all of your downloads, too.
Clean the keyboard and case: You’d be surprised to see just how much dust and debris lives
underneath your keyboard’s keys. From food crumbs and dog hairs to dust and dirt, and everything
else that can fit in between the keys, a number of dirty particles can clog your keyboard. This
usually results in sticky or difficult-to-press buttons.
Clearing out these hard-to-reach parts of your laptop or desktop setup is most easily done with a
compressed air canister, available from office supply stores, computer stores, and hardware stores.
For external keyboards: Unplug the keyboard from the USB port or power it off if it’s wireless.
Tilt the keyboard upside down and shake any loose debris out first. Spray compressed air at an
angle and approximately 1-inch away from the keys. Use a damp microfiber cloth to finish the job,
removing any excess dust or grime.
For the laptop user: Power your laptop off and unplug any USB or power supply inputs. Tilt the
laptop upside down and gently tap it to encourage any loose debris to come out. Set the laptop
down in its natural position and spray between keys from about 1-inch away. Spray in short bursts
moving from one side of the keyboard to the other.
If you find certain spots tougher to clean than others, use a cotton ball dipped in isopropyl alcohol
as a great alternative. Alcohol evaporates more quickly than water which makes it the perfect
solution for hardened debris.
Pro-tip: When cleaning your laptop or desktop, absolutely avoid pouring any type of liquid onto
the body. Water and electronic devices do not mix well and could result in extreme damage to your
computer.
Update your passwords: Believe it or not, updating your passwords is a task as crucial as backing
up your data. Verizon’s 2017 Data Breach Investigations Report found that an alarming 81% of
hacking-related breaches leveraged either stolen and/or weak passwords [1]. Poor password
behavior encompasses everything from using the same password for every account to using simple,
guessable passwords like “password” or “123456.”

347
When it comes to basic computer maintenance, protecting your digital world against
cybercriminals should always be at the forefront of your task list. No security system is perfect,
and more today than ever before, consumers are realizing this on a large scale.
If you’re overdue for a password update, consider using these strong password generation tips:

i. Use at least 10 characters


ii. Use a combination of uppercase and lowercase letters
iii. Include both numbers and special symbols
iv. Add emoticons if possible (:O, :(, :D, :), T.T)

A strong password safeguards all of your data against potential third-party hackers which is
precisely why it’s such an essential part of computer maintenance.
Organize your data: It’s easy to let your computer’s data organization run awry when your
work and play lifestyle doesn’t leave much time for calculated file management. Whether it’s
old music files from your garage band days or downloaded add-ons for your favorite
simulation game, your PC’s many folders can grow crowded.

If you can’t remember the last time you took a look through your downloads folder, you’re
likely overdue for a visit. The same applies to the rest of your default folders (documents,
photos, etc.).

Dealing with a cluttered desktop or crowded computer folders may be a daunting task, but with
these tips and tricks, you’ll be well on your way to a functioning system of files and folders.

Create large, main folders: Everyone uses their computers for different primary purposes. A
freelance writer will likely have completely different main folder assignments than a business
owner. It’s important to narrow down your digital world into easy folder divisions to make
your first round of organization a breeze, and your future rounds even easier.

Create small sub-folders: Within your larger primary folders, smaller sub-folders make your
organization operation even smoother. Being able to categorize files by their functionality or
content will help you access them whenever you need them. No search button necessary.

348
Empty your downloads folder: Your downloads folder should function as a temporary cache
for recently downloaded files. Get into the habit of placing recent downloads in their proper
folders or deleting them once they’ve served their purpose.

Clear your desktop: When you power on your computer and saddle up for your day’s work or
some light social media browsing, you want to be able to do so without the stress of clutter.
Clear your desktop of any files, folders, or programs you don’t need readily available at every
power-on.

Choose thoughtful filenames: If you’re frequently saving images, PDFs, and other common
files, you know how easy it is to type in gibberish for a successful “Save As” operation. Instead
of rushing through, take the time to come up with intentional file names so you always know
what’s living on your hard drive and where it’s located.

Back up your data: Part of owning a modern computer is to prepare for the unexpected.
Sudden crashes, untimely glitches, and random hardware failure all have the potential to
damage the data living on your PC. Backing up files is one of the most vital computer
maintenance procedures PC users can do for themselves. That’s why we’ve ranked it at our
final spot. Your computer is replaceable, but without a backup, your information is not.

Full backups are usually done on storage-heavy external hard drives and on the cloud. By
making duplicate copies of everything on your PC (actually having your data in 3 places is
safest), all of your valuable data lives both on your computer and inside of the external drive
or cloud.

4. Computer hardware maintenance involves taking care of


the computer's physical components, such as its keyboard, hard drive and internal CD or DVD
drives. Cleaning the computer, keeping its fans free from dust, and defragmenting its hard
drives regularly are all parts of a computer hardware maintenance program.

5. Tip 1. Make sure the monitor has power and the power light comes on when the power button
is pressed. ...

349
If you have a flat panel LCD monitor, unplug the monitor power cable, wait about 30 seconds,
reconnect the cable and then turn on the monitor.

Tip 2. Choose Start→Control Panel and click the System and Security Link. Under Action Center,
click the Find and Fix Problems (Troubleshooting) link. You see the Troubleshooting screen.
Make sure that the Get the Most Up-to-Date Troubleshooters check box is selected.

350
3.2.4 Learning Outcome 4: Test computer functionality
3.2.4.1 Introduction to the learning outcome
This unit covers competencies required to Identify computer testing tools, Testing techniques are
identified, perform computer test functionality, and Generate status report.

3.2.4.2 Performance Standard


3.2.4.2.1 he computer for POST test
3.2.4.2.2 Perform specific component test.
3.2.4.2.3 Evaluate test results.
3.2.4.2.4 Generate component and system report.

3.2.4.3 Information Sheet


Boot - to start up a computer.
Byte - a piece of computer information made up of eight bits. Card or Expansion Card – a printed
circuit board that adds some.
Document - a file you create, as opposed to the application that reated it.
Download - to transfer data from one computer to another. (If you are on the receiving end, you
are downloading. If you are on the sending end, you are uploading).
Driver - a program on a computer that tells it how to communicate with an add-on piece of
equipment (like a printer).
Expansion slot - a connector inside the computer that allows one to plug in a printed circuit board
that provides new or enhanced features.
File - the generic word for an application, document, control panel, or other computer data
Switching on the Computer for Power-On Self-Tests (Post) Test

The Power on Self-Test happens each time the turn a computer on. It sounds complicated and
that’s because it kind of is. A computer does so much when it is turned on and this is just part of
that.
The POST is an automated test that is controlled by the Bios. It happens during the boot process.
The first step of the POST, which is operated by the Bios, is to verify the Bios code.

351
After it has completed that, the POST then continues to check all the computer hardware. If there
are no errors the POST will proceed very quickly. However, if any errors are found, these will be
displayed via an error message, or if the video hasn’t been turned on, or if there is some error in it,
then the computer will make a number of beeps. These are known as the POST beep codes.

Booting (or booting up) is the initialization of a computerized system. The system can be a
computer or a computer appliance. The booting process can be “hard”, after electrical power to the
CPU is switched from off to on (in order to diagnose particular hardware errors), or “soft”, when
those power-on self-tests (POST) can be avoided. Soft booting can be initiated by hardware such
as a button press, or by software command. Booting is complete when the normal, operative,
runtime environment is attained.

The computer may make one or two beeps on startup anyway, however these are normal. It is only
when the beep continues, and the computer does not start up correctly. Then there may have
problems.

A boot loader is a computer program that loads an operating system or some other system
software for the computer after completion of the power-on self-tests; it is the loader for the
operating system itself, which has its own loader for loading ordinary user programs and libraries.
Within the hard reboot process, it runs after completion of the self-tests, then loads and runs the
software. A boot loader is loaded into main memory from persistent memory, such as a hard disk
drive or, in some older computers, from a medium such as punched cards, punched tape, or
magnetic tape. The boot loader then loads and executes the processes that finalize the boot. Like
POST processes, the boot loader code comes from a “hard-wired” and persistent location; if that
location is too limited for some reason, that primary boot loader calls a second-stage boot loader
or a secondary program loader.

On modern general purpose computers, the boot up process can take tens of seconds, and typically
involves performing a power-on self-test, locating and initializing peripheral devices, and then
finding, loading and starting an operating system.

352
The process of hibernating or sleeping does not involve booting. Minimally, some embedded
systems do not require a noticeable boot sequence to begin functioning and when turned on may
simply run operational programs that are stored in ROM.
All computing systems are state machines, and a reboot may be the only method to return to a
designated zero-state from an unintended, locked state.

Performing Specific Component Test

Although hardware failures most certainly may occur in your computer, it is important to check
for as many software issues as you can before proceeding. The fact is, most errors are caused by
software (such as drivers) related problems, not by a failing hardware device. See basic
troubleshooting for a good starting point.
Remove new hardware.
If any new hardware was recently added to the computer, remove that hardware to make sure it is
not causing your issue. If a computer works after removing the new hardware, it can mean a few
things. Either the new hardware is not compatible with your computer, a system setting needs to
be changed, or the new hardware is defective.
Remove any disks or USB devices.

353
Web source:
https://www.google.com/search?q=usb+port&safe=active&sxsrf=ALeKk022_VvALmPzJi9EeR
2nzXYrmBg5Mw:1608548383438&tbm=isch&source=iu&ictx=1&fir=XvyTwE0i8aVwuM%25
2CR6PElcFxPbh-_M%252C_&vet=1&usg=AI4_-kR_EJEaoRXpka-
zRhUQ3zZddTqdNg&sa=X&ved=2ahUKEwjTov7X9d7tAhWEsnEKHZ2ICH0Q_h16BAgSEA
E#imgrc=XvyTwE0i8aVwuM
Remove any disks, CDs, or DVDs that are in the computer. If any USB devices (iPods, drives,
phones, etc.) are connected, disconnect all of them as well. Reboot the computer and see if anything
changes.
Disconnect external devices
Remove everything from the back of the computer, except the power cable. Turn on the computer
and see if it beeps normally. If the computer has never beeped, keep the monitor or display
connected to see if any change occurs.
Reconnect and check power cords
If the computer is not getting enough power or the power is getting interrupted, the computer can
encounter problems. Disconnect your power cables from any power strip or UPS (uninterruptible
power supply) and connect the computer directly to a known good wall outlet.
Identify beep code
If you are receiving a sequence of beeps, see the beep code page for a listing of different beep
codes and their explanation. You can also check your motherboard or computer documentation for
information on the beep codes. These beep codes are meant to help identify which computer
component is failing or bad. If your beep code is not listed, continue troubleshooting.
https://www.manualsearcher.com/hp/elitedesk-800-g2/manual?p=6
https://support.hp.com/us-en/product/hp-elitedesk-800-g2-small-form-factor-
pc/7633277/manuals
Check all fans
Make sure all fans are running on the computer. If a fan has failed (especially the heat sink fan for
the CPU), your computer could be overheating or detecting the fan failure, causing the computer
not to boot.
Check all cables

354
Verify all the cables are securely connected to the computer and that there are no loose cables by
firmly pressing in each cable.
 All disk drives should have a data cable and power cable connected to them.
 Your power supply should have at least one cable going to the motherboard. Many
motherboards may also have additional cables connected to them to supply power to the fans.
Disconnect all expansion cards
If the above recommendations still have not resolved the irregular POST, disconnect the riser
board (if applicable) and each of the expansion cards. If this fixes the problem or allows the
computer to POST, connect one card at a time until you determine which card is causing the
problem.
Disconnect all drives
If you cannot diagnose the problem by the beep code (or you do not hear a beep code), power off
the computer. Then, disconnect any IDE, SATA, SCSI, or other data cables from the motherboard.
When they are disconnected, try booting the computer again.
If this resolves your irregular POST or generates error messages, reconnect each device until you
determine which device or cable is causing the issue. In some situations, it can also be a loose
cable connection that causes the issue.
Remove the RAM
If you continue to experience the same problem with all the above hardware removed, remove
the RAM from the motherboard and turn on the computer. If the computer has a different beep
code or was not beeping but is now, turn off your computer and try the suggestions below. Make
sure to turn off the computer before adding and removing the memory and then turning it back on
to see if the suggestion resolves the issue.
1. Re-insert the memory into the same slot.
2. If you have more than one stick of memory, remove all but one stick of memory and try rotating
through each stick.
3. Try one stick of memory in each slot.
If you can get the computer to boot with one or more of the sticks of memory installed, you are
likely dealing with some bad memory. Try to identify which stick of memory is bad and replace
it.

355
If you can get the memory to work in one slot but not another slot, the motherboard is likely
defective. You can either workaround the issue by running the memory in a different slot that does
work or replace the motherboard.
Power cycle the computer
In some situations, a computer may have power related issues often caused by either the power
supply or the motherboard. To help determine if this is the issue, try turning the computer on, off,
and back on as fast as possible, making sure the computer power light goes on and off. In some
situations, you may be able to temporarily get the computer to boot.

3.2.4.4 Learning Activities


The trainee needs to perform the following activities for identification and assembling and
dissembling of faulty components of a computer:
 Assemble a working system from components.

 Disassemble a working system and identify the purpose of each component.

 Redesign a working system to make it more ergonomic, more environmentally friendly, or

more cost effective.


 Repair a nonworking or faulty system by replacing one or more components.

 Operate a system (or system of systems) to achieve a specified outcome.

 Observe a debate (portrayed by actors or animated figures) about a controversial new

technology, choose a point of view, and defend it using information gathered from the Web.
3.2.4.5 Self-Assessment
1. Why is it desirable to switch on the computer system for Power On Self Test (POST)
analysis?
2. What does the following POST beep codes mean:

Beeps Meaning

1 short beep

356
2 short beeps

No beep

Continuous beep

Repeating short beeps

1 long, 1 short beep

1 long, 2 short beeps

1 long, 3 short beeps

3 long beeps

Beeps Meaning

357
4

10

11

continuous beeping

3.2.4.6 Tools, Equipment, Supplies and Materials


●1/4-inch nut driver
●3/16-inch nut driver
●Pair of small diagonal cutters
●Pair of needle-nose pliers

358
3.2.4.7 References

Bennett, R.E., F. Jenkins, H. Persky, and A. Weiss. 2003. Assessing complex problem-solving
performances. Assessment in Education 10(3): 347–359.

Bunderson, C.V., D.K. Inouye, and J.B. Olson. 1989. The four generations of computerized
educational measurement. Pp. 367–408 in Educational Measurement, 3rd ed., edited by R.L. Linn.
New York: Macmillan.

Carroll, J., D. Potthoff, and T. Huber. 1996. Learning from three years of portfolio use in teacher
education. Journal of Teacher Education 47

Williams, Gregg (January 1982). "A Closer Look at the IBM Personal Computer". BYTE. p. 36.
Retrieved 19 October 2013.

"Post Code Master - PC BIOS Power On Self-Test POST Codes & Diagnostic Beep Codes".
Archived from the original on June 28, 2019.

"Power-On Self-Test Beep Definition - Part 1". Apple Support. February 18, 2012.

3.2.4.8 Model Answers for Self-Assessment


1. The power supply unit (PSU) may cause problems if it is not connected properly or does not
produce enough power for the system. If the PSU is badly connected, the system will either
not run or be very unreliable. A PSU that does not produce enough power (measured in watts)
may not be an obvious cause of problems. This is because the system is likely to start up well
but may crash a lot when used. Additionally, When a system starts up it carries out a Power
On Self-Test (POST) to check all the hardware is working properly before the operating system
is loaded. The POST starts by showing how much memory is in the system and the main
devices attached and then loads Windows® or whatever operating system the computer uses.
POST will beep if anything is badly wrong with the hardware. The beeps give a signal which
an ICT technician can look up to find out what’s wrong. For example, one beep then three
beeps then one beep from a Dell means there is a problem with the RAM, which is probably

359
not in the socket properly. Beeps are useful as an ICT technician can interpret this information,
even if there is no screen display.
2.

Beeps Meaning

1 short beep Normal POST – system is OK

2 short beeps POST error – error code shown on screen

Power supply, system board problem, disconnected CPU, or disconnected


No beep
speaker

Continuous beep Power supply, system board, RAM or keyboard problem

Repeating short
Power supply, system board or keyboard problem
beeps

1 long, 1 short beep System board problem

1 long, 2 short beeps Display adapter problem (MDA, CGA)

1 long, 3 short beeps Enhanced Graphics Adapter problem (EGA)

3 long beeps 3270 keyboard card error

360
Beeps Meaning

1 Memory refresh timer error

2 Parity error in base memory (first 64 KiB block)

3 Base memory read/write test error

Motherboard timer not operational (check all PSU to MB connectors


4
seated)

5 Processor failure

6 8042 Gate A20 test error (cannot switch to protected mode)

7 General exception error (processor exception interrupt error)

8 Display memory error (system video adapter)

9 AMI BIOS ROM checksum fix

10 CMOS shutdown register read/write fix

11 Cache memory test failed

361
continuous beeping Motherboard does not detect a RAM module (continuous beeping)

3.

362
3.2.5 Learning Outcome 5: Upgrade computer software/hardware
3.2.5.1 Introduction to the learning outcome
This unit covers competencies required to Determine Reasons of upgrading, Identify
procedures and techniques for upgrading, and Test functionality of the upgraded
software/hardware

3.2.5.2 Performance Standard


3.2.5.2.1 Run diagnostic program.
3.2.5.2.2 Install update if any.

3.2.5.3 Information Sheet


The central processing unit (CPU) is the brain of your computer. It receives information
(fetches), processes data (decodes), and performs calculations (executes). You can find your
Windows computer’s CPU specs by navigating to Settings > System > About. Then, click
“Device specifications.”

Random access memory (RAM) temporarily stores the data that you’re actively using while
on your computer. This is why if you tend to open 40 tabs at once, you’ll notice a decline in
overall performance. RAM allows you to more quickly access data than if it was coming
straight from your hard drive To see real-time usage of your CPU, you can open up the Task
Manager on your computer and click the “Performance” tab.

Hard drive is where all of the data on your computer is stored. It’s different than RAM because
it’s your computer’s long term storage, as opposed to the short term memory RAM delivers.
The most common types of hard drives are hard disk drives (HDD) and solid-state drives
(SSD).
Solid-state drives (SSD) are a newer type of hard drive without any moving parts. It’s a much
faster hard drive but a pricier option found in high-end computers.

A graphics processing unit (GPU), or graphics card, receives information from the CPU and
then decides how the pixels on the screen should display that information ACPU should last
between 10 and 20 years in most cases.
363
Running Diagnostic Programs of a Computer

Symptoms of an over-stressed and failing CPU include an operating system not loading despite
the fans running. Also, if the computer turns on but nothing loads or powers on and then it
shuts off suddenly, it may have CPU issues.

Check your CPU usage record if you suspect the CPU is at the heart of a computer issues. If a
CPU is maxing out on all cores, it may want to upgrade it.

Note: If an upgrade a CPU, you may also need to upgrade a motherboard and RAM along with
it.

There are two common types of RAM, Dynamic RAM (DRAM) and Static RAM (SRAM).
Dynamic RAM (DRAM) is more common than SRAM. It consists of transistors and capacitors
and refreshes at a rate of thousands of times per second.

Static RAM (SRAM) has more transistors per memory cell than DRAM and doesn’t need to
refresh. Due to its more advanced features, it’s significantly faster - but also more expensive -
than DRAM.

How long does RAM last on average?


Typically, it will not need to replace your RAM completely. Rather, you may find that a need
to upgrade it depending on the use of a computer for and what types of applications it run.

The amount of RAM it need depends on what the computer is used for. 4GB is sufficient for
general internet browsing and/or running non-memory-intensive applications. 8GB to 12GB is
better for gaming, video streaming, and/or running memory-intensive applications.

16GB and beyond is necessary for running applications related to high-resolution photo
editing, video editing, animation, and illustrations.

What are signs my RAM is failing?


If experiencing performance issues like lagging or freezing with everyday tasks, it may need
to upgrade your RAM.

364
Note: In some laptop models, the RAM is soldered to the motherboard, meaning that it can’t
upgrade the RAM yourself. Check the computer’s service/hardware manual to determine if the
RAM is soldered.

An HDD features a traditional spinning hard drive. While it’s cheaper than SSD, it’s also
slower, louder, and can run hot.

How long does a hard drive last on average?


A typical hard drive will last between 3 and 5 years.

What are signs that the hard drive is failing?


Signs of the hard drive dying can range from overall slower performance to corrupted data.

Note: It’s important to back up the hard drive as soon as it provide notice signs that the hard
drive is close to failure. Common backup solutions include external hard drives and remote
cloud storage.

Two common types of graphics cards include video graphics array (VGA) which renders 256
colors. Quantum Extended Graphics Array (QXGA), on the other hand, is more high
performance and is capable of rendering millions of colors.

How long does a graphics card last on average?


Typically, expect the graphics card to last more than 5 years. With that said, the lifespan may
depend on if it is a single GPU or dual GPU configuration. A single GPU is more cost-effective
and better for casual users. A dual GPU, in contrast, is more expensive but users who need
great graphics will enjoy the increased graphics performance.

What are signs GPU is failing?


When random lines or dots appear, or incorrect colors appear on your screen, known as
artifacting, it might be time to upgrade the graphics card.

Note: Artifacting can also be a sign that your graphics card is overheating, so check the cooling
system before upgrading. Prevent overheating by regularly cleaning vents and fans to remove
dust buildup.

365
The best way to ensure you can depend on your laptop or desktop PC is by investing in quality
technology from the beginning. The lure of cheap deals is strong but while a cheap PC might
be lower cost at the outset, you will likely have to replace it faster than you would if you had
spent more money in the first place. HP Store holds a variety of quality, capable computers
that can suit a variety of purposes.

Infographic transcription:
If a computer is acting up or performance is slowing, it may be time to upgrade one or more
components on the PC.

When it comes to making upgrades, there are 4 components that, when upgraded, tend to solve
most common problems plaguing a computer:

 CPU
 RAM
 Hard Drive
 GPU
Find out what these components do, how long they should last, and signs that it’s time to
upgrade.

1) CPU
The central processing unit (CPU) is the brain of the computer. It receives information
(fetches), processes data (decodes), and performs calculations (executes).

CPU Functions:
 Fetch
 Decode
 Execute
How long does a CPU last on average?
10-20 years

Installation of Updates and Computer Upgrades

366
Check your CPU usage record - if the CPU is maxing out on all cores, you may want to
upgrade.

Note: If upgrading a CPU, there is need to upgrade the motherboard and RAM along with it.

2) RAM
Random access memory (RAM) temporarily stores the data that is actively in use while on a
computer. RAM allows for more quickly access data than if it was coming straight from the
hard drive.

Two most common types of RAM:


Dynamic RAM (DRAM)

 More common than SRAM


 Consists of transistors and capacitors.
 Refreshes thousands of times per second
Static RAM (SRAM)

 Consists of more transistors per memory cell than DRAM.


 Does not need to refresh.
 Faster and more expensive than DRAM
How long does RAM last on average?
Typically, it needs to replace the RAM completely. Rather, may find the need to upgrade it
depending on what use of a computer for and what types of applications it runs.

Amount of RAM you may need based on your computing needs:

 General internet browsing and/or running non-memory-intensive applications (4GB)


 Gaming, video streaming, and/or running memory-intensive applications (8GB to 12GB)
 Running applications related to high-resolution photo/video editing/animation/illustration
(16GB to 64GB)
Signs for upgrade

If experiencing performance issues like lagging or freezing with everyday tasks, you may need
to upgrade your RAM.
367
Note: In some laptop models, the RAM is soldered to the motherboard, meaning that they can’t
be RAM upgraded. Check the computer’s service/hardware manual to determine if the RAM
is soldered.

3) Hard Drive
A hard drive is where all of the data on a computer is stored.

Common types of hard drives:

Hard disk drive (HDD)

 Traditional spinning hard drive


 Cheaper than SSD, but slower as well
 Can be louder and get hotter than solid state drives.
Solid state drive (SSD)

 Newer technology
 Does not have any moving parts.
 Smaller than hard disk drives
How long does a hard drive last on average?
3-5 years

Signs you should upgrade.

Signs can range from slower performance to corrupted data - these issues may suggest your
hard drive is close to failing.

Note: It is important to back up your hard drive as soon as you notice signs that your hard drive
is close to failure. Common backup solutions include external hard drives and remote cloud
storage.

4) GPU
A graphics processing unit (GPU), or graphics card, receives information from the CPU and
then decides how the pixels on the screen should display that information.

Types of graphics cards:


368
1. Video Graphics Array (VGA)

 Minimum standard
 Allows 256 colors.
2. Quantum Extended Graphics Array (QXGA)

 High performance
 Allows millions of colors.
How long does a graphics card last on average?
5+ years

This may depend on if you have a single GPU or dual GPU configuration:

1. Single GPU

 More cost effective


 Better for standard users
2. Dual GPU

 More expensive
 Increased graphics performance, making it better for gamers.
Learn more about how to upgrade your laptop or PC to get the most out of an existing
computer, and how to customize for highest performance when buying a new laptop.

1. Test components. Check that the components work using the tests you selected in
preparation for the hardware upgrade. The selected tests should ensure that everything is
checked – if any tests are missed, it is possible that a component will give problems later.
2. System testing. Make sure the computer works with all the peripherals and the network.

1. Restoring data. This will be needed if the hard disk has been replaced or formatted. If the
data is not restored it will not be on the disk, so the user will not be able to access their work.

369
2. Software installation. This is often needed for hardware upgrades, such as a new scanner.
The software will allow the user to control the hardware properly, e.g. changing the scan
resolution, and to edit the scanned images.
3. Software configuration. This may be needed to set the defaults for a new printer driver, so
that the printer uses a quick and economical print quality setting (unless the user chooses
otherwise)

Related web links:

 HP Laptop Buying Guide


 How to Choose the Best HP Laptop

1.5.5.4 Learning Activities


Practical Activity
Special instructions related to learning activities.

 Practical activities can be performed in the computer lab of the trainee’s institution or a
personal computer.
Trainees taking this unit are highly recommended to own a working computer.
Case 1.
The learner needs to do the following activities on software upgrading to check of the
computer’s performance improves:
 Uninstall any unnecessary software you are not using.
 Remove viruses, spyware, and other malware.
 Defragment the hard drive (primarily an issue for Windows computers).
Case 2.
Ask yourself whether a component upgrade is worth it to weigh the time and cost of making
the upgrade against the time and productivity you may be losing by not making it.

3.2.5.5 Self-Assessment
1. What are the potential risks to consider when installing hardware components?

370
2. Why is it desirable to install or upgrade hardware components safely, configuring
associated software?
3. Why is it necessary to test the computer system for functionality?
4. What are the reasons for and implications of registering installed product components?
5. Why is it important to produce updated documentation for the modifications?

3.2.5.6 Tools, Equipment, Supplies and Materials


●1/4-inch nut driver
●3/16-inch nut driver
●Pair of small diagonal cutters
●Pair of needle-nose pliers

3.2.5.7 References
Williams, Gregg (January 1982). "A Closer Look at the Personal Computer". BYTE.
Retrieved 19 October 2019.
"Power On Self-Test Beep Definition - Part 2". Apple Support. January 10, 2012.
. Archived from the original on December 3, 2019.

3.2.5.8 Model Answers to Self-Assessment


1. As an ICT technician, there needs a good understanding of the health and safety regulations
from early on in the career, so that one understands the good practices demanded by law. In
particular, you need to:
• report any accidents
• take reasonable care of your own health and safety when moving heavy components
• not cause any electrical hazards
• make sure that workstations meet safety requirements.
A need to adhere to health and safety regulations as they will help to protect and others and
will avoid any unnecessary legal action for reckless and unsafe working practices. If one
identifies any health and safety problems, you should tell the line manager or the health and
safety representative immediately.

371
2. One can use diagnostic software to thoroughly test hardware in a computer system and give a
report on any problems found. An example of diagnostic software is BurnInTest Standard,
which can test your computer components, such as the processor, hard drive, optical drive,
sound and graphics cards, RAM, network connections and ports. This software will even report
on the temperature of your processor. The results from tests can be saved to disk or printed.

3. When a system starts up it carries out a Power on Self-Test (POST) to check all the hardware
is working properly before the operating system is loaded. The POST starts by showing how
much memory is in the system and the main devices attached and then loads Windows® or
whatever operating system the computer uses. At the beginning of POST, you can enter the
computer set-up by pressing the correct key. (There may be a message displayed on-screen to
inform you which is the correct key, perhaps the F2 or Del key, or you may need to look this
up in the manual.) Once in set-up you can change how the computer uses hardware, such as
whether to start from the hard disk or to use an optical disk to start the computer. The computer
will usually be set to start from the hard disk, but if you want to re-install the operating system
you will need to change this so the computer starts from an optical drive, which will be the
operating system installation CD. POST will beep if anything is badly wrong with the
hardware. The beeps give a signal which an ICT technician can look up to find out what is
wrong. For example, one beep then three beeps then one beep from a Dell means there is a
problem with the RAM, which is probably not in the socket properly. Beeps are useful as an
ICT technician can interpret this information, even if there is no screen display.

4. Product registration is when you inform the manufacturer of your details when you install the
product. Product registration is often good practice as it helps get faster technical support and
advice from manufacturers about components. This is because the manufacturer then has a
record of when the warranty started and who is covered by the warranty. Another reason why
registration can be useful is that the manufacturer may send out technical advice or useful
information to purchasers if any problems are found with the product.

372
5. Documentation needs to be kept up to date, recording any new hardware installations or
upgrades. This ensures that:
• The organization knows which components are in which systems
• Users know how to get the best from their hardware
• Warranties can be implemented for faulty kit.

373
CHAPTER 5: MANAGE DATABASE SYSTEMS (MS. Access)
Unit of learning code: ICT/CU/IT/CR/4/6

Related Unit of Competency in Occupational Standard: Manage Database Systems (MS Access)

5.1 introduction to the unit of learning

This unit specifies competencies required to manage database system. Which involve identifying
database concepts, designing a basic database, creation and manipulation of database objects,
database testing and printing of database objects. This provides the learner with the competencies
in achieving the above listed items.

5.2 Summary of Learning Outcomes

1. Identify database concepts.


2. Design basic database
3. Create and manipulate database objects.
4. Perform database testing Print database objects.
5.2.1 Learning Outcome 1: Identify database concepts.
5.2.1.1 Introduction to the learning outcome
This section gives an overview of the various database principles and the basic components that
make up a simple database environment. By the end of it, the learner should be able to competently
identify the various components of a database, merits and demerits of a database and the various
database models.
5.2.1.2 Performance Standard
5.2.1.2.1 Database concepts are defined.
5.2.1.2.2 Database models are identified.
5.2.1.2.3 Identification of merits and demerits of database is done.
5.2.1.3 Information Sheet
Data - Meaningful facts, text, graphics, images, sound, video segments

374
Database - Shared collection of logically related data (and a description of this data), designed
to meet the information needs of an organization.
Information - Data processed to be useful in decision making
Metadata - Data that describes data
Fields - The place where data is placed within the database is called a field. One field holds one
piece of data. If you are storing student details, possible fields would include Name, Admission
number, Age
Records - All the fields for one student constitute a record, Records ensure which name relates to
which admission number, age
Table - A collection of records that describe similar data is called a table. A database for student
details could have tables for admission information, fees, and exams.

Manual filing Systems - These are filing systems that had the following properties with regards to
records management.

i. Records were kept in manual workbooks.


ii. Records were Updated manually.
iii. There was Wear and tear of records.
iv. It was prone to accidental loss of data.
v. It was Very difficult to retrieve data.

File based systems - A file-based system is a collection of application programs that perform
services for the end users. Each program within a file-based system defines and manages its own
data. Because of this, there are limitations as to how that data can be used or transported. There is
data dependency.

(a) Advantages of FBS


i. File based systems were developed as better alternatives to paper-based filing systems.
ii. By having files stored on computers, the data could be accessed more efficiently.
iii. It was common practice for larger companies to have each of its departments looking after
its own data.
(b) Disadvantages of file based systems
i. Data separation and isolation
375
Each program maintains its own set of data.
Users of one program may be unaware of potentially useful data held by other programs.

ii. Duplication of data


Same data is held by different programs.
Wasted space and potentially different values and/or different formats for the same item.

iii. Data dependence


File structure is defined in the program code.

If the file structure is changed then the program code will also change.

iv. Incompatible data (different file formats)


Programs are written in different languages, and so cannot easily access each other’s files.

v. Lack of flexibility in organizing and querying the data


Users cannot directly query data held in different/incompatible program files

vi. Increased number of different application programs


Programs are written to satisfy particular functions.
Any new requirement needs a new program.
Database approach
The database approach involves storing the data using computers in a central repository through
the use of a Data Base Management System.
Motivation:
– Definition of data was embedded in application programs, rather than being stored separately
and independently.
– No control over access and manipulation of data beyond that imposed by application programs.
Description of database approach
 There is central repository of shared data.
 Data storage and retrieval is done by DBMS.
 Data is stored in standardized and convenient form.
376
A database is typically made up of the following basic components:

i. Hardware-These are the tangible components that make up the database such as
physical storage devices.
ii. Software-These are the software programes that manage the database such as the
Database Management System, Antivirus etc.
iii. Data-These are the actual records which are stored inside the database.
iv. Users-These are those people who interact with the database in one way or another such
as data entry clerks, database administrators, programmers etc.
v. Rules and procedures-these are the various guidelines and procedures that define how
data can be accessed.
(a) Advantages of database approach
i. Data independence
The data is held in such a way that changes to the structure of the database (schema) does not affect
any programs used to access the data.
ii. Data consistency
Each item of data (record) is held only once and therefore there is no danger of a record being
updated in one system and not the other.
iii. Control’s data redundancy
In file-based systems the same information may be held in several files. This wastes space and
makes update of records more time consuming. Database approach minimizes data redundancy.
iv. Data integrity
The DBMS provides users with the ability to specify constraints on data such as making a field
entry essential or using validation rules.
v. Data security
The DBMS can ensure that only authorized users can access and modify the database.
vi. Centralized control of data
The database administrator will control who has access to what and will structure the database to
match the needs of the organization.
vii. More information available to users

377
Users have access to wider range of data that was previously held in separated departments and
sometimes on incompatible formats.
viii. Increased productivity:
The DBMS provides an easy-to-use query language that allows users to get immediate response
from their queries rather than having to use programmers who will write queries.

(b) Disadvantages of database approach


i. Larger size - More disk space is required and probably a larger more powerful
computer.
ii. Greater complexity of the design - For optimum use the database must be very carefully
designed.
iii. Greater impact of system failure - in case the system fails, the operations of all
departments will be affected.
iv. Complex recovery procedures -The process of recovering data from a central database
is complex where backups are not available. It may require reconstruction of disks.

Database Models
These are a variety of ways to organize data within a database. A database model specifies the
rules according to which data are structured and the associated operations that are permitted. It
may also be a technique for the formal description of data structure, usage constraints and
operations. The facilities available vary from one database to another. Each DBMS maintains a
particular database model. A Database model is a combination of at least three components:

i. A collection of data structure types.


ii. A collection of operators or rules of inference, which can be applied to any valid instance
of the data types listed in (i).
iii. A collection of general integrity rules, which implicitly or explicitly define the set of
consistent database states or change of state or both.

a) Flat file database models


A flat file database model consists of one or more readable files normally stored in a text format.
Information in these files is stored in fields. Every flat-file database is different because companies
378
store different data and companies have different needs. After a flat- file has been created and data
has been stored in these files, a method must be devised in order to retrieve the data, create new
records, update records or delete records.

Table 33: Sample flat file system


Empno FirstName MidName Surname Gender Age Country

E0345 Timothy James Robert Male 35 USA

E0767 Fred Mathew Wekesa Male 34 USA

E0783 Odhiambo Oluoch Otieno Male 31 Kenya

E0299 Denis Musau Mutie Male 32 Kenya

E0852 Janeffer Njeri Kamau Female 32 Kenya

E0920 Kellen Ruth Wambugu Female 33 Kenya

E0218 Kelly Johnson Samson Male 34 England

E0830 Henry Geoffrey Hesky Male 35 England

E0666 Erastus James Jacob Male 34 England

E0909 Daniel Peterson Job Male 33 USA

E0606 Peter William Matekwei Male 32 Kenya

E0981 James Griffith Ronald Male 33 USA

Flat-file databases are created and used to migrate data from one database implementation to
another particularly in relational databases.

Advantages of flat-file model


i. Easy to come up with

379
Disadvantages of flat-file model
ii. Do not promote a structure in which data can easily be related.
iii. It is difficult to control data duplication.
iv. The physical location of the data field within the file must be known.
v. A program must be developed to manage the data.
Examples of applications you can use to develop flat-file database word processors, spreadsheets.

b) Hierarchical database model.


A hierarchical database consists of a collection of records that are connected to each other through
links (pointers). Each record is a collection of fields (attributes), each of which contains only one
data value.
A link is an association between precisely two records. Consider a database that represents a
customer-account relationship in a banking system. There are two record types: customer and
account. The customer record type can be defined using three fields: customer name, customer-
street, and customer-city. Similarly, the account record consists of two fields: account-number and
balance. Now consider a sample database that shows that customer Hayes has account A-102,
customer Johnson has accounts A-101 and A-201, and customer Turner has account A-305. Note
that the set of all customer and account records is organized in the form of a rooted tree, where the
root of the tree is a dummy node. A hierarchical database is a collection of such rooted trees, and
hence forms a forest. Each such rooted tree shall be referred as a database tree. The content of a
particular record may have to be replicated in several different locations. For example, in this
customer-account banking system, an account may belong to several customers. The information
pertaining to that account, or the information pertaining to the various customers to which that
account may belong, will have to be replicated. This replication may occur either in the same
database tree or in several different trees. Record replication has two major drawbacks:
 Data inconsistency may result when updating takes place.
 Waste of space.
A tree-structure diagram is the schema for a hierarchical database. Such a diagram consists of two
basic components:
 Boxes, which correspond to record types

380
 Lines, which correspond to links
A tree-structure diagram serves the same purpose as an entity–relationship (E-R) diagram; namely,
it specifies the overall logical structure of the database.

Figure 121: Hierarchical database model


To access the data, query by path navigation is used. Examples of databases designed based on
this model are:
 File system
 IMS
 Windows Registry and Active Directory
Benefits of the hierarchical model over the flat-file model
 Data can be retrieved easily.
 Data integrity is easier to manage.
Drawbacks of the hierarchical model
 Users must be familiar with the database structure.
 There is data redundancy.

c) Network Database Model

A network database model is a database model that allows multiple records to be linked to the
same owner record type (parent record). The multiple linkages which this information allows the
network database model to be very flexible. In addition, the relationship that the information has
in the network database model is defined as many-to-many relationship because one owner record
381
type can be linked to many member records and vice versa. This database model was created for
three main reasons.
1. To represent complex data relationships more effectively.
2. To improve database performance.
3. Imposing a database standard

382
Figure 122:Network database model

Customer# CustomerName
Purchases set Payments set

1:M
1:M

Product# Description Quantity


Invoice# Description Amount
Product# Description Quantity Invoice# Description Amount
Product# Description Quantity Invoice# Description Amount
Product# Description Quantity
1:M
1:M

sales set Billing set

Attendant# Name TelNo


Attendant# Name TelNo
Attendant# Name TelNo
Attendant# Name TelNo

383
Advantages of a Network Database Model
 Because it has the many-many relationship, network database model can easily be accessed in
any table record in the database.
 For more complex data, it is easier to use because of the multiple relationship founded among
its data.
 Easier to navigate and search for information because of its flexibility.
Disadvantage of a Network Database Model
 It may be Difficult to implement for first time users.
 Difficulties with alterations of the database because when information entered can alter the
entire database.
 Hardware and software overheads
Applications:
 Integrated Database management system (IDMS)
 Integrated data store (IDS)

d) Object oriented database model


In this model, both data and their relationships are contained in a single structure called object. An
object includes information about relationship between the facts within the object as well as
information about its relationship with other objects. Objects with similar characteristics will form
a class. In this model the database is modelled in form of objects and the relationships.
Class: An entity that has a well-defined role in the application domain, as well as state, behaviour,
and identity
o Tangible: person, place or thing
o Concept or Event: department, performance, marriage, registration
o Artifact of the Design Process: user interface, controller, scheduler
Object: a particular instance of a class
State: attribute types (properties) and values
Behaviour: how an object acts and reacts (methods). Behaviour is expressed through operations
that can be performed on it.

384
Example: Consider a scenario player described by player No, Player Name and Age plays for one
and only one club. A club is described by club No, Club Name. A club plays several fixtures in a
season. A fixture is described by fixture No, Date, venue, and time. Each fixture involves two
clubs only. Draw an object database model for this scenario. Operations to be performed on this
database include add, search, update and delete of records.

Fixture
Player Club
FixtureNo
PlayerNo 1..1 ClubNo 1..*
Date
PlayerName ClubName
*..1 Add()
2..0 Venue
Add()
Age
Add()
Delete()
Delete()
Delete()
Search()
Search()
Search()

Figure 123: object-oriented database model


Advantages of object-oriented model
 High performance on certain tasks.
 Less programming effort because of inheritance, re-use and extensibility of code.
 Data and methods are bound together.
 Improved communication between users, analysts, designer, and programmers
 Increased consistency in analysis and design
385
 Explicit representation of commonality among system components
 Reusability of analysis, design, and programming results

Disadvantages of object-oriented model


 Schema change (creating, updating.) can be complex since it involves a system wide
recompile.
 Lack of agreed upon standard.
 Lack of universal query language
 Language dependence: tied to a specific language.
 Lacks wide acceptance by industry.

e) Multimedia database
A Multimedia database (MMDB) is a collection of related multimedia data. The multimedia data
include one or more primary media data types such as text, images, graphic objects (including
drawings, sketches and illustrations) animation sequences, audio and video
f) Hypermedia database
Hypermedia, an extension of the term hypertext, is a nonlinear medium of information which
includes graphics, audio, video, plain text and hyperlinks. This contrasts with the broader term
multimedia, which may include non-interactive linear presentations as well as hypermedia. The
World Wide Web is a classic example of hypermedia, whereas a non-interactive cinema
presentation is an example of standard multimedia due to the absence of hyperlinks.

g) Centralized database
A centralized database (sometimes abbreviated CDB) is a database that is located, stored, and
maintained in a single location. This location is most often a central computer or database system,
for example a desktop or server CPU, or a mainframe computer.

h) Distributed database

386
A distributed database is a database in which storage devices are not all attached to a common
processing unit such as the CPU, controlled by a distributed database management system
(together sometimes called a distributed database system). It may be stored in multiple computers,
located in the same physical location; or may be dispersed over a network of interconnected
computers. Unlike parallel systems, in which the processors are tightly coupled and constitute a
single database system, a distributed database system consists of loosely coupled sites that share
no physical components.

i) Relational database model


This model is based on mathematical concepts of sets and mappings.
i. Collections of items of the same type
ii. No order
iii. No duplicates
Mappings used in relational model: The mappings can be many-to-many, one-to-one and one-to-
many.
In Relation database models a relation is modelled as a table with rows and columns.
Properties of a relation include:
 Values are atomic.
 Each row is unique.
 Column values are of the same kind.
 The sequence of columns is insignificant.
 The sequence of rows is insignificant.
 Each column has a unique name.
Certain fields may be designated as keys, which mean that searches for specific values of that field
will use indexing to speed them up.

EmpNo EmpName Age DeptNo EmpNo DeptName


E0023 Dennis 23
D011 E0034 Human
E0034 Jacob 23 Resource
D012 E0056 Marketing
E0056 Janet 22
D012 E0023 Marketing

387
Figure 124: Relational database model

In the above model there are two relations Employee relation and department relation. The attribute
EmpNo is used to link the two relations.
Advantages of relational database model
 Structural independence is promoted by use of independent tables. Any changes in table
structure do not affect data access or application programs.
 Tabular view improves conceptual simplicity, thereby promoting easier database design,
implementation, management, and use.
 Ad hoc query capability is based on SQL.
 Widely accepted in many enterprises.
Disadvantages of relational database model
 Requires skills to conceptualize and design.
 Database integrity must be ensured during the design and implementation.
 Takes time and effort to design.
 The RDBMS require hardware and software.

5.2.1.4 Learning Activities

Pick an organization of your choice within the area you reside in. The management of that
organization have asked you to provide advice on which database organization best suits the
organization’s need.
i Advice the organization on the merits of having a database
ii Outline the components that will be required to set up the Database
iii Recommend a database model that fits the organization of choice and give justifications
for the chosen model
5.2.1.5 Self-Assessment

i. Discuss the meaning of each of the following terms:


388
(a) data
(b) database
(c) database management system
(d) application program
(e) data independence
(f) views.

ii. What are the main characteristics of the database approach.

iii. Which are the five components of the DBMS environment and discuss how they relate to
each other.

iv. What are the advantages and disadvantages of DBMSs.

5.2.1.6 Tools, Equipment, Supplies and Materials


 Computer
 Database software (Ms Access)
 Printer
 stationery
5.2.1.7 References

Silberschatz A. and et al (2001), Database System Concepts, McGraw-Hill.


Garcia-Molina H. and et al (2000), Database System: The complete Book, Prentice Hall.
Elmasri R. and Navathe S(2000), Fundamentals of Database System, Addison Wesley.
Conolly& Begg(2010), Database System: a practical approach to design, implementation and
management, Prentice Hall.
Ullman, and Jennifer Widom (2009). Database Systems: The Complete Book (2nd edition) by SBN
978-0131873254, Pearson Prentice Hall,
Jeffrey A. Hoffer, Mary B. Prescott, and Fred R. McFadden(2007). Modern Database Management
(8th Ed.). Prentice-Hall.
389
Roger Jennings(2004) Special Edition Using Microsoft Office Access 2003, Que.
Alan Simpson, Margaret Levine Young, and Alison Barrows: (2003)Access 2003 for DUMMIES,
Wiley Publishing.

390
5.2.1.8 model answers to self-assessment
i. Discuss the meaning of each of the following terms:
(a) data
For end users, this constitutes all the different values connected with the various
objects/entities that are of concern to them.
(b) database
A shared collection of logically related data (and a description of this data) designed to meet
the information needs of an organization.
(c) database management system
A software system that: enables users to define, create, and maintain the database and provides
controlled access to this database.
(d) application program
A computer program that interacts with the database by issuing an appropriate request
(typically an SQL statement) to the DBMS.
(e) data independence
This is essentially the separation of underlying file structures from the programs that operate
on them, also called program-data independence.
(f) views.
A virtual table that does not necessarily exist in the database but is generated by the DBMS
from the underlying base tables whenever it’s accessed. These present only a subset of the
database that is of particular interest to a user. Views can be customized, for example, field
names may change, and they also provide a level of security preventing users from seeing
certain data.
i. Describe the main characteristics of the database approach.
Focus is now on the data first, and then the applications. The structure of the data is now kept
separate from the programs that operate on the data. This is held in the system catalog or data
dictionary. Programs can now share data, which is no longer fragmented. There is also a
reduction in redundancy, and achievement of program-data independence.
ii. Describe the five components of the DBMS environment and discuss how they relate to
each other.

391
(1) Hardware: The computer system(s) that the DBMS and the application programs run on. This
can range from a single PC, to a single mainframe, to a network of computers.
(2) Software: The DBMS software and the application programs, together with the operating
system, including network software if the DBMS is being used over a network.
(3) Data: The data acts as a bridge between the hardware and software components and the human
components. As we’ve already said, the database contains both the operational data and the
meta-data (the ‘data about data’).
(4) Procedures: The instructions and rules that govern the design and use of the database. This
may include instructions on how to log on to the DBMS, make backup copies of the database,
and how to handle hardware or software failures.
(5) People: This includes the database designers, database administrators (DBAs), application
programmers, and the end-users.
iv. Discuss the advantages and disadvantages of DBMSs.
Some advantages of the database approach include control of data redundancy, data
consistency, sharing of data, and improved security and integrity. Some disadvantages include
complexity, cost, reduced performance, and higher impact of a failure.

392
5.2.2 Learning Outcome 2: Design basic database
5.2.2.1 Introduction to the learning outcome

This section gives an overview of the various database design concepts focusing on data
relationships and database integrity constraints. By the end of it, the learner should be able to
competently identify and come up with data relationships, the various database integrity
constraints and design a basic Entity-Relationship diagram in database design.

5.2.2.2 Performance Standard


5.2.2.2.1 Database design concepts are identified.
5.2.2.2.2 Appropriate database structures are determined.
5.2.2.2.3 Dsign is implemented.
5.2.2.2.4 Database operations are performed.

5.2.2.3 Information sheet


Database Design Concepts
This is the process of creating a design for a database that will support the enterprise’s operations
and objectives. Database design is performed in three phases (stages) namely conceptual design,
logical design and physical design.
Phase 1: Conceptual design
This is the process of constructing an abstract model of data to be included in the database. This
model should be independent of any database management system (DBMS) and other physical
considerations.
Steps followed:
a) Identification of entities
b) Identification of relationships
c) Construction of conceptual data model.
a) Identify entities
 It is a thing or object of importance about which data must be captured.
 To identify entities in the requirements, map nouns to entities
 Database entities appear in a data model as a rectangle with a title.
393
 The title (in upper case) is the name of the entity.

Types of entities
i. Weak entity: This is an entity that does not have sufficient attributes to form a primary key
(unique identifier). The existence of a weak entity is indicated by a double rectangle in the ER
diagram.

Weak entity

i. Strong entity: This is an entity that has a primary key (unique identifier). A weak entity is
existence dependent.
Strong entity

ii. Recursive Entity: This is an entity in which a relationship can exist between occurrences of
the same entity. This occurs in a unary relationship. For instance, a doctor can be a patient.
They are represented as follows:

DOC
TOR

iii. Composite Entities: An entity created to resolve Many-to-Many relationship to one-to-many.


It is also referred to as a bridge entity. Bridge entity is composed of the primary keys of each
of the entities to be connected. A composite entity is represented by a diamond shape within a
rectangle in an ER Diagram.

Generalization: The process of defining a more general entity type from a set of more specialized
entity types. BOTTOM-UP
Specialization: The process of defining one or more subtypes of the supertype and forming
supertype/subtype relationships. TOP-DOWN

b) Identification of relationships
A relationship is a meaningful association between entity types.

394
Classifying relationships:
i. Degree
ii. Cardinality
iii. Optionality
1. Classification according to degree
Degree: The number of entity types participating in a relationship.
i. Unary (recursive) relationship- One entity type participates in a relationship.

DOCTOR DOCTOR

ii. Binary relationship- Two entity types participate in a relationship.

DOCTOR PATIENT

iii. Ternary relationship: Three entity types participate in a relationship.

PHARMICST

PATIENT

iv. n-array relationship- n entity types participate in a relationship.


2. Classification according to cardinality(connectivity)
In a relationship, cardinality refers to the number of entity occurrences involved in the
relationship. Also defined as minimum and maximum number of entity occurrences that can
participate in a relationship.
Examples
i). One-to-one relationship (1:1): Each entity occurrence in entity type A can only have one
matching entity occurrence in entity type B and vice versa.

a b
1 1

a b
2 2

395
ii). One-to-many relationship(1:m): An entity occurrence in entity type A can have several
matching entity occurrences in entity type B, but each entity occurrence in entity type B can
only have a maximum of one entity occurrences in entity type A.

a b
1 1

b
a
2
2

iii). Many-to-many relationship(m:n)


An entity occurrence in entity type A can have several matching entity occurrences in entity type
B and vice versa.

a b
1 1

a b
2 2

3. Classification according to optionality (participation)


Optionality refers to the minimum number of entities in a relationship. Can be mandatory or
optional.
 Examples
 Mandatory: There must be an entity occurrence participating in the relationship
 Optionality: There may be an entity occurrence participating in the relationship. To
show optionality, put a circle or `0' at the `optional end' of the relationship.

c) Building conceptual data model


The data model that results after conceptual design is called conceptual data model.
Choose a notation and design the data model. Examples of notations are Chen’s notation, Rein85
notation, Crow’s foot notation and IDEF1X notations. Most of the differences concern how
396
relationships are specified and how attributes are shown. In almost all variations, entities are
depicted as rectangles with either pointed or rounded corners. The entity name appears inside.
Relationships can be displayed as diamonds or can be simply line segments between two entities.
For Relationships, there is need to convey relationship name, degree, cardinality and optionality
where necessary. Any notation selected must be used consistently.

Table 34: Comparison of ERD notations


IDEF1X
Chen’s notation Crow’s foot Rein85
 Relationship  Relationship
Name:  Relationship
name:  Relationship
Displayed just inside the Relationships name name: name:
relationship diamond. indicated next to entity Relationships name Relationships
 Cardinality: The above or below the link. indicated next to name indicated
 Cardinality:
cardinality is indicated by Crow's relationship next to relationship
placing the appropriate feet are used to show a diamond. diamond.
numbers beside the entities many side of a Cardinality:  Cardinality: Not
Not
using the format (x,y), relationship. A single shown except the shown except the
which represent the line indicates a one side connectivity. connectivity.
minimum and maximum of the relationship.  Optionality:  Optionality:
value, respectively.  Optionality: Optional Optional Optional
 Optionality: Mandatory participation is shown participation is participation is
participation indicated by with an open circle next shown with an open shown with an
one/ two line(s) linking the to optional end. circle next to open circle next to
entity to the diamond next Mandatory optional end. optional end.
to mandatory end. participation is shown Mandatory Mandatory
Optional participation with two vertical lines. participation is participation is
indicated by a circle near shown with shown with
optional end. continuous link line continuous link
next to mandatory line next to
end. mandatory end.

397
Comparison of ERD notations.
a) Chen’s notation
Chen model moved conceptual modelling into the practical database design arena by establishing
basic building blocks: entities and relationships. Dominant player in the CASE tool market during
the 1980s and early 1990s.
b) Crow’s Foot notation
This model combines connectivity and cardinality information in a single symbol set. Popularized
by the Knowledge ware modeling tool. Cardinality is limited to 0,1 or N.
c) Rein85 notation
This model is based on the same modelling conventions as the Crow’s Foot model, its symbols are
different. It does not recognize cardinalities explicitly, relying on connectivity to lead to logical
cardinality conclusions.
d) IDEF1X notation
This is a derivative of the integrated computer-aided manufacturing (ICAM) studies of the late
1970s. Became the source of graphical methods for defining the functions, data structures and
dynamics of manufacturing businesses. The integration of these methods became known as IDEF
(ICAM Definition). Hughes Aircraft developed the original version named IDEF1. Later, the
extended version was named IDEF1X.
Example 1: Chen’s notation

398
M
1 M PATIENT
tr t MEDICATIO
DOCTOR
(0, (1, (0, (1,

The above model will be read as follows:


Each DOCTOR must treat one or more PATIENTS. Each patient must be treated by a doctor. Each
PATIENT may take one or more MEDICATIONS. Each MEDICATION is given to one
PATIENT.

Example1: Crow’s foot notation.


Treat Takes
DOCTOR PATIENT
MEDICATION

The above model will be read as follows:


Each DOCTOR must treat one or more PATIENTS. Each patient must be treated by a doctor. Each
PATIENT may take one or more MEDICATIONS. Each MEDICATION is given to one
PATIENT.
Example1: Rein85

Treat
Takes

DOCTOR PATIENT
MEDICATIO

The above model will be read as follows:


Each DOCTOR must treat one or more PATIENTS. Each patient must be treated by a doctor. Each
PATIENT may take one or more MEDICATIONS. Each MEDICATION is given to one
PATIENT.
Example 1: IDEF1X
The above model will be read as follows:

399
Each DOCTOR must treat one or more PATIENTS. Each patient must be treated by a doctor. Each
PATIENT may take one or more MEDICATIONS. Each MEDICATION is given to one
PATIENT.

Treats Takes
DOCTOR PATIENT
MEDICATION

The features of the conceptual data model include:


i. Important entities and the relationships among them.
ii. No attribute is specified.
iii. No primary key is specified.
Example: A supplier receives orders for products. A SUPPLIER may receive one or more
ORDERS. Each one or more ORDERS must be sent to the SUPPLIER. Each order consists of one
or several products. But each PRODUCT is belonging to one ORDER.
Receives

SUPPLIE
has

ORDER

 From the figure above, the conceptual data model is the entities that describe the data and the

relationships between those entities.

Phase 2. Logical database design


The process of constructing a database based on specific database management system (DBMS)
and database model. For example, a relational Database model. It considers how the data are
represented using the structures offered by the DBMS:
400
Steps followed:
 Select database model.
 Map Entity-Relationship Diagrams (from conceptual data model into logical model)
 Identify the attributes.
 Normalize database.
 Design the ERD (logical data model) and validate with the users.
 Create a data dictionary

i). Selecting database model


A database model is a collection of concepts and rules for the description of the structure of
the database. Some of the models one can choose are flat file database, hierarchical, network,
relational and object oriented.

ii). Map Entity-Relationship Diagrams


-Identify all the entities and relationships as captured in conceptual data model.
iii). Identify attributes.
 Attributes are explicit values such as a quality or characteristic associated with
someone or something (entity).
 They represent characteristics or values about a database relation (an entity)
Types of attributes
i. Key attributes: Attributes which uniquely identify an instance of an entity (identifier).
These attributes are distinct for each individual entity. For example, a student Number
or Car registration number etc.
ii. Non key attributes: These are attributes which describe a non-unique characteristic of
an entity instance (descriptors). Examples year, colour, model.
iii. Required attributes: These are attributes which must have a value, or a value must be
known for each entity occurrence. Example employee number.
iv. Optional attributes: These are attributes which could have a value, or a value may be
known for each entity occurrence. Example an employee; employees’ spouse is optional
since not every employee will have a spouse.

401
v. Composite attribute: This is an attribute which can be divided into smaller subparts.
These subparts represent basic attributes with independent meanings of their own. For
example, take Name attributes. We can divide it into sub-parts like First name, Middle
name, and Last name.
vi. Simple attribute: This is an attribute that cannot be divided into subparts. It is therefore
said to be simple or atomic attribute. For example, Employee Number is a simple
attribute. Age of a person is a simple attribute.
vii. Single-valued attribute: It is an attribute that can have single value at a particular
instance of time. For instance, a person cannot have more than one age value.
viii. Multi-valued attribute: It is an attribute that can have more than one value at one
time. For instance, a person can have more than one degree at one time, therefore
attribute degree is said to be a multi-valued attribute.
ix. Stored attribute: An attribute that supplies a value to the related attribute.
x. Derived attribute: An attribute whose value is derived from a stored attribute. These
attributes are usually created by a formula or certain operation on other attributes.
Example: Age= [Current-year]- [year_of_birth]
xi. Candidate Key: An attribute or set of attributes that uniquely identifies individual
occurrences of an entity type.
xii. Primary Key: A unique attribute that is used to identify an entity type e.g., entity type
student can be identified by student number.
xiii.Composite Key: A candidate key that consists of two or more attributes. e.g.,
VoterID+NationalID+PassportID

iv). Normalization of the database


Normalization or database normalization is a process used to organize the data into tabular format
(database tables). A good database design includes the normalization. Without normalization a
database system may slow, inefficient and might not produce the expected result. Normalization
reduces the data redundancy and inconsistent data dependency. We organize the data into database
tables by using normal forms rules or conditions.

402
Normalization the process of removing redundant data from the tables to improve storage
efficiency, data integrity and scalability. Normalization works through series of steps called
normal forms.

Types of data dependencies

Functional dependency
Implies that if A and B are attributes (columns)of a table, B is fully functionally dependent on An
if value of A determines the value of B. For example, voter ID, voter name.

Partial Functional Dependency

Implies that if A and B are attributes of a table, B is partially dependent on A if there is some
attribute that can be removed from A and yet the dependency still holds. Consider a case of voter
ID, voter national ID, voter name, constituency all being attributes in a table. The voter ID value
can only determine the value of constituency (Partial dependency).
Transitive Functional Dependency
A condition where if A, B and C are attributes of a table and further that A is the only key attribute
then if value of A determines value of B and value of B determines value of C, then we say C is
transitively dependent on A via B. This means a non-key attribute(C) is depending on another non
key attribute(B). For example, If Vote ID, Constituency, Poll station are all attributes of a table
voter. Then Poll station depends on constituency which in turn depends on Vote ID. Poll station is
therefore functionally dependent on Vote ID via constituency. This is a transitive dependency.

Reasons for normalization

 To make it feasible to represent any relation in the database.


 To increase speed and flexibility of queries (easier to search).
 To free relations from anomalies.

403
 To reduce the need of restructuring the relations whenever new data types are
introduced(scalability)
 To avoid repetitive entries (data redundancy).

Data anomalies
Relations that have redundant data may have problems called anomalies, which are classified as.
i. Insertion anomalies
ii. Deletion anomalies
iii. Update anomalies
a. Update anomaly
The same information appears on multiple rows; therefore, updates to the relation may result in
logical inconsistencies. If the update is not carried through successfully to all the rows, then the
relation is left in an inconsistent state. For example if sender No T3 was actually supposed to be
”Timothy Makua” then the user must update all the records where T3 appears so that the table is
consistent.
Example

Table 35: Table with anomalies


Haraka Courier services

SenderNo Sender Description Date Recipient

T1 Munyalo Mutua Magazine 11/9/2012 Kasyoka Munyalo

T2 Ezekiel Oduor Magazine 11/9/2012 Gerald Oduor

T3 Timothy Wafula Magazine 12/9/2012 Janet Wekesa

T3 Timothy Wafula Laptop 14/9/2012 Ahmed Amin

T1 Munyalo Mutua Magazine 11/10/2012 Kasyoka Munyalo

404
T4 Fred Kariuki Letter 13/11/2012 Tom Maina

T3 Timothy Wafula Laptop 14/11/2012 Ahmed Amin

T1 Munyalo Mutua Magazine 11/12/2012 Kasyoka Munyalo

T3 Timothy Wafula Laptop 14/12/2012 Ahmed Amin

T1 Munyalo Mutua Magazine 17/12/2012 Kasyoka Munyalo

b. Insertion anomaly
This anomaly causes an inability to add information to the database due to a lack of some related
value. For example, to insert details of a new sender say ”Richard Muriuki” the user must enter
sender No value else the system will not allow those details into the system.

c. Delete anomaly.
This may occur when the deletion of data representing certain facts results into deletion of data
representing completely different data. For example if the user deletes third row containing sender
No, then details containing sender, description, date and recipient in that row will be lost as well.

Normalization steps

Data is organized into database tables by using normal forms rules or conditions. These rules help
to make a good database design. Generally, we organize the data up to third normal form. We
rarely use the fourth and fifth normal forms.
 Begin with a list of all the fields that must appear in the database. Think of this as one big
table.
 Do not include computed fields.
 You can get this information from a printed document used by the system e.g., reports.
 Additional attributes besides those for the entities described on the document can be added
to the database.

405
a. First Normal (FNF):
It is a relation in which the intersection of each row and column contains one and only one value
(atomic values). No repeating groups.
Steps
 Remove repeating groups.
 Create separate tables for each group of related data and identify each row with a primary
key.

b. Second Normal Form (SNF)


It is a relation that is in first normal form and where every non-primary-key attribute is fully
functionally dependent on the primary key. No partial dependencies.
Steps:
 Ensure that the table is in the first normal form.
 Remove partial dependencies and put the partially dependent attributes in a separate table.

c. Third Normal Form (TNF)


A relation that is in first and second normal form, and in which no non-primary-key attribute is
transitively dependent on the primary key.
Steps:
 Ensure that the table is in the second normal form.
 Remove transitive dependencies and create relationship between newly created table with
their predecessors using foreign keys.
Example:
Consider the report below about customer rental information. Normalize this report to third
normal form.

406
Report

A report

Page DreamHome
1 Date: 19-02-2013
Customer Rental Details

Customer Number: CU034 Customer Name John Mwendwa

Property Property Rent start Rent finish Rent Owner Owner Name
Number Address Number
PG4 Box 123 NRB 1-02-2010 1-02-2012 120000 CO123 Mary mutia

BOX 12 THIKA 02-02-2009 200000 Mariana Ouma


PG16 0 2-02-2013 C096

Un-normalized table

Figure 125: Sample report to be normalized.


Solution:
Begin by listing all the fields that must appear in the database. This will result into a big table.
Notice the report title, page number and its date are not necessary since they do not necessary
reside in the database. This produces an unnormalized form.

Customer- Customer- Property- Property- Rent- Rent- Rent Owner- Owner-


No Name No address start Finish No Name

John PG4 BOX 123 1-02- 1-02- 120000 C0123 Mary


Mwendwa NRB 2010 2012 Mutia
Cu034

Cu034 John PG16 Box 12 2-02- 2-02- 200000 C096 Mariana


Mwendwa Thika 2009 2013 Ouma

Table 36: un normalized table


Un-normalized form

 Separate repeating groups into new Tables.


 Repeating groups are fields that may be repeated several times for one document/entity.
407
 Create a new table containing the repeating data.

Customer-No Customer-  The primary key of the new table (repeating group)

Name is always a composite key; Usually document number and


a field uniquely describing the repeating line, like an item
Cu034 John Mwendwa number.
In this case Customer Name is repeated. But in this case,
there is no document number e.g., receipt number.

First normal form

Customer- Property- Property- Rent- Rent- Rent Owner- Owner-


No No address start Finish No Name

Cu034 PG4 BOX 123 1-02- 1- 120000 C0123 Mary


NRB 2010 02- Mutia
2012

Cu034 PG16 Box 12 2-02- 2- 200000 C096 Mariana


Thika 2009 02- Ouma
2013

408
Second normal form

It’s carried out where the table has composite key. All partially dependent attributes are removed
and placed in a new table. A copy of the primary key is used to identify the attributes in this new
table. In this case there are three key attributes in the original table(Property-No,Customer-
No,Owner-No). OwnerName only depends on OwnerNo(Partial dependency). This attribute is
removed together with a copy of the key Owner-No.

409
Third normal form

In this step, remove transitive dependencies. Transitive dependency is a type of functional


dependency where an attribute is functionally dependent on an attribute other than the primary
key. Thus, its value is only indirectly determined by the primary key.

 Create a separate table containing the attribute and the fields that are functionally dependent on it.
Keep a copy of the key attribute in the original table.
 In this case rent (Amount) is transitively dependent on the rent start and rent finish.
 Remove this attribute create a primary to identify its value e.g., payment No. The copy of this key
must remain in the original table.

Database Integrity.
The main types of integrity constraints that exist for a database include the following:

i. Domain integrity: This is restricting what users can enter the field. It is the validity of
entries for a given column. It can be enforced by restricting the type (through data types),

410
check constraints and rules can be used to validate the data that users try to enter against a
list of acceptable data and defaults can be used to enter data for the users if they forget.
ii. Entity integrity: This is the process of making sure that each record in a table is unique in
some way. Primary keys are used to enforce entity integrity (Gunderloy & L.Jorden, 2001).
iii. Referential integrity: This is the process of protecting related data that is stored in some
separate tables.
iv. User defined Integrity: User-defined integrity allows users to define specific business
rules. Example Age>=18.

v). Design the ERD (logical data model) and validate with the users.
In this step we use the normalized forms and standard notations to draw the ERD. Such notations
include Rein95, IDEFl1X, Chen, Crow’s foot among others.

Table 37: ERD elements notations


IDEFI1X
Chen Crow’s Foot Rein85
Entity

Relationship line

Relationship

Optional symbol

One(1) symbol 1

Many(M) symbol M

Composite entity

Weak entity

A logical data model describes the data in as much detail as possible, without regard to how they
will be physically implemented in the database. A logical data model is used to explore the domain
411
concepts, and their relationships, of the problem. This could be done for the scope of a single
project or for the entire enterprise. The logical data model depicts the logical entity types, typically
referred to simply as entity types, the data attributes describing those entities, and the relationships
between the entities.

Features of a logical data model include:


 Includes all entities and relationships among them.
 All attributes for each entity are specified.
 The primary key for each entity is specified.
 Foreign keys (keys identifying the relationship between different entities) are specified.
 Normalization occurs at this level

Logical data model versus Conceptual data model


In a logical data model, primary keys are present, whereas in a conceptual data model, no primary
key is present.
In a logical data model, all attributes are specified within an entity. No attributes are specified in a
conceptual data model.
Relationships between entities are specified using primary keys and foreign keys in a logical data
model. In a conceptual data model, the relationships are simply stated, not specified, so we simply
know that two entities are related, but we do not specify what attributes are used for this
relationship.

Phase 3: Physical database design

This is a process of constructing a model of information used in an organization based on physical


considerations like software and hardware. Physical design is concerned on how the database is
organized as files and what kind of structures to use for efficiency of database processing.
Steps:
• Select DBMS.
• Select storage devices.
• Determine access methods.
412
• Design files and indexes
• Determine database distribution.
• Produce the physical model and validate with the users

i). Select DBMS.


Factors considered when selecting the DBMS.
 Costs
 Features and Tools
 Underlying model
 Portability
 DBMS hardware requirements
 Security
 Usability
Main steps to selecting a DBMS:
 Define terms of reference of study.
 Shortlist two or three products
 Evaluate products.
 Recommend selection and produce report.
Examples of DBMS
 Microsoft access
 Microsoft SQL server
 Oracle
 Informix
 MySQL
Functions of DMBS
 Database creation (storing data in a defined database) using data definition language.
 Retrieval (query and reporting) using data manipulation language.
 Update (Changing the contents of the database) using data manipulation language.
 Programming user facilities for system development.
 Database revision and restructuring using data manipulation language.
413
 Database integrity control using data definition language.
 Performance Monitoring
 Concurrency control; controlling simultaneous access to the database.

ii) Select storage devices


When selecting storage devices consider:
 Speed with which data can be accessed.
 Cost per unit of data
Reliability: loss on power failure or system crash and physical failure of the storage device

Media
 Cache: Fastest and most costly form of storage; volatile; managed by the computer system
hardware.
 Main memory: Fast access but generally too small (or too expensive) to store the entire database.
 Flash memory: Data survives power failure. Data can be written at a location only once, but
location can be erased and written to again. Reads are roughly as fast as main memory. But writes
are slow (few microseconds), erase is slower.
 Magnetic disk: Data is stored on spinning disk and read/written magnetically. It is a primary
medium for the long-term storage of data; typically stores entire database. Data must be moved
from disk to main memory for access and written back for storage. It is possible to read data on
disk in any order, unlike magnetic tape. Survives power failures and system crashes. However,
disk failure can destroy data.
 Optical storage: This is a non-volatile, data is read optically from a spinning disk using a laser.
Reads and writes are slower than with magnetic disk.
 Tape storage: Is a non-volatile storage, used primarily for backup (to recover from disk failure),
and for archival data. Allows sequential-access and thus much slower than disk. Very high
capacity.

414
Figure 126: Memory hierarchy
iii). Determine access methods.

In this step identify specific structures and access methods for the data to achieve optimum
performance for the database system. The access method depends on storage structure. Some of
the access methods are:
 Sequential
 Indexed sequential.
 Hashing

iv) Design files and indexes


Creating set of tables and constraints on these tables from the information given in logical data
model. The tables are designed, and their field properties specified.

FieldName Data type Length

415
SupplierID Number 8

SupplierName Text 50

Address Text 50

Street Text 50

Table 38 :Supplier table

FieldName Data type Length

OrderID Text 50

OrderName Text 50

Dateprepared Date/Time

SupplierID Number 8

Table 39: Orders table

FieldName Data type Length

ProductID Text 30

ProductName Text 60

Quantity Number 8

OrderID Text 50

Table 40: Products table


v). Determine database distribution.

416
There is need to consider location and number of users when deciding the database distribution.
For instance, the database may single user database in which case the database can be stored in a
local computer, multiuser database may store in a dedicated server where users can access
simultaneously. If the users are not within the same location and the organization has several
branches in different locations, then a distributed database may be used.

Physical data model


Physical data model represents how the model will be built in the database.
A physical database model shows all table structures, including column name, column data type,
column constraints, primary key, foreign key, and relationships between tables.
Features of a physical data model include:
i. Specification of all tables and columns.
ii. Foreign keys are used to identify relationships between tables.
iii. De-normalization may occur based on user requirements.
iv. Physical considerations may cause the physical data model to be quite different from the
logical data model.
v. Physical data model will be different for different RDBMS. For example, data type for a
column may be different between MySQL and SQL Server.
The steps for physical data model design are as follows:
i. Convert entities into tables.
ii. Convert relationships into foreign keys.
iii. Convert attributes into columns.
iv. Modify the physical data model based on physical constraints / requirements.

Logical data model versus Physical data model


Comparing the logical data model shown above with the logical data model diagram, we see the
main differences between the two:
i. Entity names are now table names.
ii. Attributes are now column names.
iii. Data type for each column is specified. Data types can be different depending on the
actual database being used.
417
Database Implementation
This is the physical realisation of the database and application designs. The detailed model is
converted to the appropriate implementation model, the data dictionary is built, the database is
populated, application programs are developed, and users are trained.
Database implementation activities
i. Hardware/Software Acquisition if needed.
ii. Coding
iii. Testing (program, subsystem, system tests)
iv. Training (lead users, train the trainer)
v. Conversion and loading (from old to new systems)

i. Hardware/Software Acquisition

It is the selection, purchase and, if applicable, implementation of technology-related products and


services. Consultation with the ICT department and purchasing early in the process will help avoid
delays in the database development. The product chosen must meet user and technical
requirements. The process may involve the following:
 Implementation of a new or upgraded multi-user system.
 Solutions requiring an interface to an existing system, such as Banner
 Contracting with a third-party service for software
 Computer accessories, peripherals, and supplies
 DVDs, CDs and videotapes
 Printers and toner cartridges
 Backup tapes

ii. Coding
This is the process of translating application design (algorithms) into executable statements. The
tools for designing a program are top-down charts, flowcharts, decision tables and Pseudo-code.
The commonly used tools however are flow charts and pseudo codes. The flowchart provides a
pictorial representation of the application design while the pseudo code is a non-formal language
418
that provides a way to create a logical structure, describing the actions, which will be executed by
the application. Coding is done using a suitable high level programming language and following
the application design. When coding, follow the following best practices.
 Know what the code block must perform.
 Indicate a brief description of what a variable is for (reference to commenting)
 Correct errors as they occur.
 Keep your code simple.
 Maintain naming conventions which are uniform throughout.

iii. Testing
It is the process of evaluating a system or its component(s) with the intent to find that whether it
satisfies the specified requirements or not. Testing results in the actual expected and difference
between their results. It is used to identify any gaps, errors, or missing requirements in contrary to
the actual desire or requirements.

iv. Training of users


Training involves creating training documentation and end-user training. Determine how end users
will be instructed on the new product? This can in classrooms, on the job. It can be done by
individuals or done through computer e.g., use of videos. The documentation can be distributed to
the end user describing how to use the product (i.e.: help files, training manual, user manual). Most
importantly the focus should be to train people about what they need to know. It may therefore
differ for each job.

v. Conversion and loading (from old to new system)


The process of transferring any existing data into new database and converting any existing
applications to run on the new system. This is only required if a new database will be replacing an
existing database. Modern database management systems (DBMS) have utilities for loading
existing files into new database. Such utilities require the specification of the source file and the
target database and then automatically converts the data to the required format of the new database
file

419
Database Operations

a) SELECT operation

The SELECT statement is probably the most used SQL command. The SELECT statement is used
for retrieving rows from the database and enables the selection of one or many rows or columns
from one or many tables in the database.
In the simplest form we can use the SELECT statement as follows:

select <column names> from <table names>

If we want all columns, we use the symbol “*”


Note! SQL is not case sensitive. SELECT is the same as select.
The full syntax of the SELECT statement is complex, but the main clauses can be summarized.
as:
SELECT [ ALL | DISTINCT]
[TOP (expression) [PERCENT] [ WITH TIES] ] select list [ INTO new table ] [ FROM table
source] [WHERE search condition ] [ GROUP BY _expression ] HAVING search condition]
ORDER BY order expression [ ASC | DESC ] ]

example:

select * from CUSTOMER.


This simple example gets all the data in the table CUSTOMER. The symbol “*” is used when you
want to get all the columns in the table.

If you only want a few columns, you may specify the names of the columns you want to retrieve,

example:
420
select CustomerId, Last Name, FirstName from CUSTOMER

b) INSERT operation

The INSERT INTO statement is used to insert a new row in a table. It is possible to write the
INSERT INTO statement in two forms.
The first form does not specify the column names where the data will be inserted, only their values:

INSERT INTO table name.


VALUES (value1, value2, value3,)
Example:
INSERT INTO CUSTOMER VALUES ('1000', 'Kaparo', 'John', 12,
'Nairobi', '11111111')

The second form specifies both the column names and the values to be inserted:

INSERT INTO table name (column1, column2, column3...)


VALUES (value1, value2, value3...)

Note: This form is recommended!

Example:

INSERT INTO CUSTOMER (Customer Number, Last Name, FirstName, Area Code,
Address, Phone)
VALUES ('1000', 'Kaparo', 'John', 12, 'Nairobi', '11111111')

Insert Data Only in Specified Columns:


It is also possible to only add data in specific columns.
421
Example:

INSERT INTO CUSTOMER (Customer Number, Last Name, FirstName)


VALUES ('1000', 'kaparo', 'John')

Note! You need at least to include all columns that cannot be NULL.

c) UPDATE operation

The UPDATE statement is used to update existing records in a table. The syntax is as follows:

UPDATE table name


SET column1=value, column2=value2, ...
WHERE some column=some value

Note! Notice the WHERE clause in the UPDATE syntax. The WHERE clause specifies which
record or records that should be updated. If you omit the WHERE clause, all records will be
updated!

Example:

update CUSTOMER set Area Code=46 where CustomerId=2

d) DELETE operation.

The DELETE statement is used to delete rows in a table.


The Syntax is shown below:

DELETE FROM table name.


WHERE some column=some value

422
Note! Notice the WHERE clause in the DELETE syntax. The WHERE clause specifies which
record or records that should be deleted. If you omit the WHERE clause, all records will be deleted!

Example:

delete from CUSTOMER where CustomerId=2

Delete All Rows:


It is possible to delete all rows in a table without deleting the table. This means that the table
structure, attributes, and indexes will be intact:

DELETE FROM table name.

Note! Make sure to do this only when you really mean it! You cannot UNDO this statement!
3.2.4.3 Learning Activities
The report below is how an inexperienced database developer might create a table.
Required: -
i. Normalize it upto 3rd Normal Form.
ii. Prepare an ERD to show the relationships

423
Figure 127: Sample report to be normalized

Maina Music stores

Email: [email protected]

Movie issuance report

Customer Last Movie Check


Movie Title Vendor Type Return Date
ID Name ID Out Date

1001 Barns 101 Movie 1 ACM ACT 1/1/2002 1/2/2002

1001 Barns 102 Movie 2 ACM COM 1/1/2002 1/2/2002

1001 Barns 103 Movie 3 ACM DRA 1/1/2002 1/5/2002

1001 Barns 104 Movie 4 ACM DRA 1/1/2002 1/6/2002

1001 Barns 105 Movie 5 ACM DRA 1/1/2002

1001 Barns 106 Movie6 BB DRA 1/1/2002

1001 Barns 107 Movie7 BB COM 1/1/2002

1001 Barns 108 Movie8 ACM COM 1/1/2002

1001 Barns 109 Movie9 ACM COM

5.2.3.4 Self-Assessment

i. Define the two principal integrity rules for the relational model. Discuss why it is desirable to
enforce these rules.
ii. Briefly describe the stages of the database system development lifecycle.
iii. Describe what relationships represent in an ER model and provide examples of unary, binary,
and ternary relationships.
424
iv. Describe what attributes represent in an ER model and provide examples of simple, composite,
single-value, multi-value, and derived attributes.

5.2.2.5 Tools, Equipment, Supplies and Materials


 Computer
 Database software (Ms Access)
 Printer
 stationery
5.2.2.6 References

Silberschatz A. and et al (2001), Database System Concepts, McGraw-Hill.


Garcia-Molina H. and et al (2000), Database System: The complete Book, Prentice Hall.
Elmasri R. and Navathe S(2000), Fundamentals of Database System, Addison Wesley.
Conolly& Begg(2010), Database System: a practical approach to design, implementation and
management, Prentice Hall.
Ullman, and Jennifer Widom (2009). Database Systems: The Complete Book (2nd edition) by SBN
978-0131873254, Pearson Prentice Hall,
Jeffrey A. Hoffer, Mary B. Prescott, and Fred R. McFadden(2007). Modern Database Management
(8th Ed.). Prentice-Hall.
Roger Jennings(2004) Special Edition Using Microsoft Office Access 2003, Que.
Alan Simpson, Margaret Levine Young, and Alison Barrows(2003) Access 2003 for DUMMIES,
Wiley Publishing.

5.2.2.7 Model answers to self-assessment

i. Define the two principal integrity rules for the relational model. Discuss why it is
desirable to enforce these rules.
Entity integrity In a base table, no column of a primary key can be null.
Referential integrity If a foreign key exists in a table, either the foreign key value must match a
candidate key value of some record in its home table or the foreign key value must be wholly null.

425
ii. Briefly describe the stages of the database system development lifecycle.
Stages of the database system development lifecycle.
Database planning is the management activities that allow the stages of the database system
development lifecycle to be realized as efficiently and effectively as possible.

System definition involves identifying the scope and boundaries of the database system including
its major user views. A user view can represent a job role or business application area.

Requirements collection and analysis is the process of collecting and analysing information
about the company that is to be supported by the database system, and using this information to
identify the requirements for the new system.

There are three approaches to dealing with multiple user views, namely the centralized approach,
the view integration approach, and a combination of both. The centralized approach involves
collating the users’ requirements for different user views into a single list of requirements. A data
model representing all the user views is created during the database design stage. The view
integration approach involves leaving the users’ requirements for each user view as separate lists
of requirements. Data models representing each user view are created and then merged at a later
stage of database design.

Database design is the process of creating a design that will support the company’s mission
statement and mission objectives for the required database. This stage includes the logical and
physical design of the database.

The aim of DBMS selection is to select a system that meets the current and future requirements
of the company, balanced against costs that include the purchase of the DBMS product and any
additional software/hardware, and the costs associated with changeover and training.

426
Application design involves designing the user interface and the application programs that use
and process the database. This stage involves two main activities: transaction design and user
interface design.

Prototyping involves building a working model of the database system, which allows the
designers or users to visualize and evaluate the system.

Implementation is the physical realization of the database and application designs.

Data conversion and loading involves transferring any existing data into the new database and
converting any existing applications to run on the new database.

Testing is the process of running the database system with the intent of finding errors.

Operational maintenance is the process of monitoring and maintaining the system following
installation.

2. Describe what relationships represent in an ER model and provide examples of unary,


binary, and ternary relationships.
Relationship is a set of meaningful associations among entities. As with entities, each association
should be uniquely identifiable within the set. A uniquely identifiable association is called a
relationship occurrence. Each relationship is given a name that describes its function. For example,
the Actor entity is associated with the Role entity through a relationship called Plays, and the Role
entity is associated with the Video entity through a relationship called Features.

The entities involved in a particular relationship are referred to as participants. The number of
participants in a relationship is called the degree and indicates the number of entities involved in
a relationship. A relationship of degree one is called unary, which is commonly referred to as a
recursive relationship. A unary relationship describes a relationship where the same entity
participates more than once in different roles. An example of a unary relationship is Supervises,
which represents an association of staff with a supervisor where the supervisor is also a member
427
of staff. In other words, the Staff entity participates twice in the Supervises relationship; the first
participation as a supervisor, and the second participation as a member of staff who is supervised
(supervisee). See Figure 7.5 for a diagrammatic representation of the Supervises relationship.

A relationship of degree two is called binary.

A relationship of a degree higher than binary is called a complex relationship. A relationship


of degree three is called ternary. An example of a ternary relationship is Registers with three
participating entities, namely Branch, Staff, and Member. The purpose of this relationship is to
represent the situation where a member of staff registers a member at a particular branch, allowing
for members to register at more than one branch, and members of staff to move between branches.

3. Describe what attributes represent in an ER model and provide examples of simple,


composite, single-value, multi-value, and derived attributes.
An attribute is a property of an entity or a relationship.
Attributes represent what we want to know about entities. For example, a Video entity may be
described by the catalog no title, category, daily Rental, and price attributes. These attributes hold

428
values that describe each video occurrence and represent the main source of data stored in the
database.
Simple attribute is an attribute composed of a single component. Simple attributes cannot be
further subdivided. Examples of simple attributes include the category and price attributes for a
video.
Composite attribute is an attribute composed of multiple components. Composite attributes can
be further divided to yield smaller components with an independent existence. For example, the
name attribute of the Member entity with the value ‘Don Nelson’ can be subdivided into Name
(‘Don’) and Name (‘Nelson’).
Single-valued attribute is an attribute that holds a single value for an entity occurrence. Most
attributes are single valued for a particular entity. For example, each occurrence of the Video entity
has a single-value for the catalog no attribute (for example, 207132), and therefore the catalogNo
attribute is referred to as being single-valued.
Multi-valued attribute is an attribute that holds multiple values for an entity occurrence. Some
attributes have multiple values for a particular entity. For example, each occurrence of the Video
entity may have multiple values for the category attribute (for example, ‘Children’ and ‘Comedy’),
and therefore the category attribute in this case would be multi-valued. A multi-valued attribute
may have a set of values with specified lower and upper limits. For example, the category attribute
may have between one and three values.
5.2.3 Learning Outcome 3: Create and manipulate database objects
5.2.3.1 Introduction to the learning outcome

This section gives an overview of the various database objects including tables, queries, reports,
and forms. It also focuses on creation of tables, linking these tables and extracting data from these
tables using query objects. By the end of it, the learner should be able to competently identify and
come up with the above-mentioned objects.

5.2.3.2 Performance Standard


5.2.3.2.1 Database objects are identified.
5.2.3.2.2 Appropriate data Attributes are applied.

429
5.2.3.2.3 Data relationships are established as per the tables created.
5.2.3.2.4 Data is extracted from database using Access.

5.2.3.3 Information Sheet


Creation and Manipulation of Database Objects
A database is a collection of information that is related. MS Access allows you to manage your
information in one database file. Within Access there are four major objects: Tables, Queries,
Forms and Reports

 Tables store your data in your database


 Queries ask questions about information stored in your tables.
 Forms allow you to input data into your tables
 Reports allow you to print data based on queries/tables that you have created.

The Navigation Panel in MS Access


The Navigation Pane is a list containing every object in your database. For easier viewing, the
objects are organized into groups by type. You can open, rename, and delete objects using the
Navigation Pane.

To Minimize and Maximize the Navigation Pane:


Click the double arrow in the upper-right corner of the Navigation Pane to minimize and
maximize.

430
Figure 128: Navigation pane in Ms Access
Sorting the Objects in the Navigation Pane:
By default, objects are sorted by type, with the tables in one group, the forms in another, etc.
However, you can change how the objects are sorted.

Click the drop-down arrow to the right of the All Access Objects and click on a sort option from
the list.

431
Figure 129: Choosing Access options

Creating a Database
1. Start Access
2. Click on Blank desktop database.
3. Under File Name type a name for the database
4. To change the location of where to store the database, click the folder icon and select a
location.
Click Create

432
Figure 130:Creating a new database icon.
Access opens in a new table in Datasheet View.

Understanding Views
There are multiple ways to view a database object. The two views for tables are Design View and
Datasheet View.

 Design View is used to set the data types, insert, or delete fields, and set the Primary Key.
 Datasheet View is used to enter and view the data for the records.

Switching Between Design View and Datasheet View:


Click the View arrow on the Home tab and click on either Datasheet View or Design View

Figure 131: Switching between views


Creating a Table
A table is a collection of data about a specific topic, such as employee information, products, or
customers. The first step in creating a table is entering the fields and data types. This can be done

433
in either Datasheet View or Design View, but it is recommended to set up the table in Design
View.
Understanding Fields and Their Data Types
Field - an element of a table that contains a specific item of information, such as a last name.
Field’s Data Type - determines what kind of data the field can store.

Format Use to display

Short Text Alphanumeric data (names, titles, etc.) - up to 255 characters

Long Text Large amounts of alphanumeric data: sentences and paragraphs – 64,000 characters

Number Numeric data

Date/Time Dates and times

Currency Monetary values

AutoNumber Unique value generated by Access for each new record

Yes/No Yes and No values and fields that contain only one of two values

OLE Object Pictures, graphs, or other ActiveX objects from another Windows-based application

Hyperlink A link address to a document or file on the Internet

Attachment You can attach files such as pictures, documents, spreadsheets, or charts; each
Attachment field can contain an unlimited number of attachments per record, up to
the storage limit of the size of a database file.

Calculated You can create an expression that uses data from one or more fields. You can
designate different result data types from the expression.

Lookup Wizard Displays either a list of values that is retrieved from a table or query, or a set of
values that you specified when you created the field. The Lookup Wizard starts and

434
you can create a Lookup field. The data type of a Lookup field is either text or
number,
depending on the choices that you make in the wizard.

Table 41: Data types description summary


To Create a Table in Design View:
1. Click on the Create tab
2. Click on Table
3. Switch over to Design View on the Home tab
4. If prompted to save the table, enter a name and click on OK
5. Type the field names and select the appropriate data type for each field
6. Continue until all fields are added

Note: The order that you enter the field names is the order the fields will appear in the table

Setting a Primary Key


The Primary Key is the unique identifier for each record in a table. Access will not allow duplicate
entries in a primary key field. When creating a new table, Access automatically creates a field “ID”
with the auto number data type and assigns this as the Primary Key.
To Set a Primary Key:
1. In Design View, position your cursor in the field you wish to set as the Primary Key.
2. Click the Primary Key button on the toolbar.
3. Save the table.

Note: To turn off the Primary Key simply click on the Primary Key button again.

Input Masks
An input mask is used to pre-format a field to “look/act” a certain way when a user inputs data.

435
Examples: Social Security Number input mask automatically inserts the dashes; phone numbers
automatically insert the parentheses and dashes.

The input mask data can either be stored in the table or simply displayed and not stored.

To Create an Input Mask for a Field:


1. In Design View, click in a field for which you would like to apply an input mask.
2. In the Field Properties section at the bottom of the screen, click in the Input Mask line and
notice the Build button that appears at the right end of the line (see below):
3. Click the Build button to start the Input Mask Wizard (shown below).

Figure 132 : Options when setting input mask.


4. Select the appropriate input mask.
5. Click Next
6. Click Next for additional screens on which you can set options for the input mask.
7. Click Finish on the last screen of the input mask wizard.
To Save the Table:
436
1. Click the Save icon on the toolbar
2. Enter a name for the table if you haven’t done so already
3. Click OK
Entering Data in a Table
1. In Datasheet View, start typing the data into the table by pressing the tab key to move to the
next cell
2. When you have completed the record (row), press Enter
3. You can also click on the New record icon on the Home tab in the Records group or at the
bottom of the table

Figure 133: entering new data into a table

Figure 134: navigation tab


Navigating in a Table
Use the arrows at the bottom of the table to navigate among records.

Sorting Records in a Table


1. Position your cursor in the field that you wish to sort by clicking on any record in the table
2. Click either the Sort Ascending or Sort Descending icon on the Home tab in the Sort &
Filter group

437
Figure 135: Sorting data options
LINKING TABLES /CREATING RELATIONSHIPS
A primary feature of relational databases is that they contain multiple tables, each of which can
have a relationship with any of the other tables.
Assume we have three tables. One table will hold customer information, the other will
hold product information, and the last will hold order information.

Figure 136: Customer table fields

Figure 137: products table fields

438
Figure 138: orders table fields
Be sure to set a format and default value for the DateCreated fields on both tables (the user
shouldn't need to enter this field - the system can do that).

Figure 139: field properties settings


Remember that the key icon indicates that the field is a primary key. A primary key ensures that
the data in this field is unique - no two values can be the same. A table must have a primary key
before a relationship can be established with another table. Access automatically sets the ID field
as a primary key, so as long as you simply rename ID to ProductId (or OrderId as the case may be)
it will already be a primary key. If for some reason your table doesn't have a primary key set, or if
you want to change the primary key field, you can simply right click on the field header (in Design
view), and select Primary Key from the contextual menu.

439
Now that you've created two extra tables, our database has three tables. Now it's time to create the
relationship between all three tables.

To create the relationship between all three tables.


1. While viewing a table in Design view, and ensuring that the DESIGN tab is selected,
click Relationships from the Ribbon:

Figure 140: relationships option in Ms Access


2. A Show Table dialog box will pop up, displaying all three tables. Select all of them and
click Add:

Figure 141: Interface for choosing tables in a relationship


3. Click Close to close the dialog box
4. You will now see three boxes which represent your three tables. Click and drag
the CustomerId from the Customers table across to the corresponding CustomerId field on

440
the Orders table:

Figure 142: linking tables interface.


5. The Edit Relationships dialog will pop up. Click Enforce Referential Integrity so that it is
checked. Check that the values are the same as the following screenshot and click OK:

Figure 143: field matching window

You will now see a line established between the CustomerId field on the Customers table and
the CustomerId on the Orders table.
6. Now do the same for the Products table. That is, click and drag the ProductId from
the Products table across to the corresponding ProductId field on the Orders table. Your table

441
relationships should look like the ones in the following screenshot:

Figure 144: Sample relationship window


Relationship Types
We just established a many-to-many relationship. There are three types of relationships that you
can establish between tables. These are as follows:

Many-To-Many Relationship
This is what our example above uses. A row in table A can have many matching rows in table B,
and vice versa. In our case, a single customer can order many products, and a single product could
have many customers. You create a many-to-many relationship by using a third table, called a
junction table (more on that below).

One-To-Many Relationship
This is the most common relationship type. You don't need a third (junction) table for this type of
relationship. In this type of relationship, a row in table A can have many matching rows in table
B, but a row in table B can have only one matching row in table A. For example, a row in a Gender
table (which contains the records Male and Female) can have many matching rows in a Customers
table, but a row in the Customers table can only have one matching row in the Gender table. That
is unless there was a business rule that allowed customers to be male and female at the same time.
In this case, a many-to-many relationship would need to be established.

One-To-One Relationship

442
A row in table A can have only one matching row in table B, and vice versa. This is not a common
relationship type, as the data in table B could just have easily been in table A. This relationship
type is generally only used for security purposes, or to divide a large table, and perhaps a few other
reasons.
The type of relationship that you use depends on the table structure and how the fields are defined.

Junction Table
In the above relationship, the Orders table is known as a junction table. A junction table is one that
contains common fields from two or more other tables within the same database. It is used as a
reference table in a many-to-many relationship (such as we are doing in our example).
Junction tables are known under many different names. Here are some: cross-reference
table, bridge table, join table, map table, intersection table, linking table, many-to-many
resolver, link table, pairing table, pivot table, transition table, or association table.
So, if you ever hear someone mention one of those, you should have some idea what they are
referring to.

Primary Key vs Foreign Key


We already know that a primary key ensures that the data in the field is unique. This is important
because our Orders table needs a unique value in order to reference any record from the other
tables. For example, it can't use the FirstName field because there could be more than one person
with a given first name. And it can't use the DateCreated value because it's possible that two
records could be created at exactly the same time (eg, if two operators are entering data or if many
records are imported from an external source). This is why we need at least one field that
we know will only ever contain a unique value.
A foreign key is simply the primary key's corresponding field in the related table. So, in our
example, the CustomerId field in the Orders table is a foreign key, while the CustomerId field in
the Customers table is a primary key. Likewise, the Productid field in the Orders table is a foreign
key, while the ProductId field in the Products table is a primary key. The fields do not necessarily
need to have the same names but it's a good practice to get used to. It will make the database
structure easier to understand - especially when you start adding more tables that also need to have
relationships established.

443
Queries
A query refers to the action of instructing the database to return some (or all) of the data in your
database. In other words, you are "querying" the database for some data that matches a given
criteria. The queries are run against one or more tables to return only the data that you're interested
in.
For example, you might like to see a list of all individuals whose last name is "Griffin". Or you
might like to see a list of all users who have registered with your database over a given time period.
You might also want to see which customers have ordered a particular product. To do all this, you
need to perform a query.

You use queries to view, change, and analyse data in different ways. You can also use them as a
source of records for forms and reports. Types of Query can be SELECT, INSERT, UPDATE,
DELETE.

How do they help us?


 In choosing fields
 Choosing records that meet certain criteria
 In sorting records
 Performing calculations - can create calculated fields and add data to them

To Create a Query:
1. Click on the Create tab
2. Click on Query Design in the Queries group
3. Select the table that you would like to base your query on
4. Click Add
5. Repeat steps 3 and 4 until all tables are added
6. Close the Show Table window
The table(s) will now be displayed in the upper part of the Query Design Screen by boxes
containing the tables’ fields.

444
7. Double-click on the field names in the field list window which you would like to include in
the query

Figure 145: Sample relationship window

NOTE: Before we start querying the database, we should probably make sure we've got enough
data in there first. Otherwise, it doesn't matter how good our queries are - they will all return zero
results if there's zero data

Practical example:

Feel free to make up your own data. Here's mine:

445
Figure 146: customers table

Feel free to make up your own data. Here's mine:

Figure 147: products table

Orders Table
Again, feel free to make up your own but you will need to make sure that the value in
the CustomerId and ProductId fields match an actual ID in the respective tables. For example, if
your Orders table contains a CustomerId of 5, you will need to make sure there's an actual customer
in the Customer table with a CustomerId of 5. Here's some sample data for the Orders table:

446
Figure 148: Orders table
Create the Query
Now let's create a query that returns the names of all customers who have ordered a product.
1. Ensuring you have the CREATE tab open on the Ribbon, click Query Design

Figure 149: query design option

447
2. The Show Table dialog box will appear with all of our tables listed. Select all three tables and
click Add, then click Close:

Figure 150: table selection window


3. The three tables are now represented in the top pane (beneath the Ribbon). Choose the fields
you'd like to be presented in the results of your query. You can either double click on the field

448
name or click and drag it down to a column in the bottom pane. Select the fields as follows:

Figure 151: Query properties window


4. Click the Run button at the top-left part of the Ribbon:

Figure 152: Query run option

449
5. You should now see the result of the query. Here's mine:

Figure 153: Sample query output


6. Save the query by right-clicking on the Query1 tab and giving it a name. Call it Customer
Orders:

Figure 154: Save query option


What Does Our Query Actually Do?
Our query successfully returns a all customers who ordered at least one product and it includes the
product and its price next to their name. You can also see that some customers have ordered more
than one product. The query has automatically joined the three tables using the relationship that
we created and returned the matching data.

450
This query will only return those customers who have ordered at least one product. If a customer
is in the Customers table but does not order a product, that customer's record will not be displayed
in the results of this query. If you look back at the Customers table (near the top of this page),
you'll see that Marge Simpson is a customer but she hasn't ordered any products yet (i.e., she
doesn't have a corresponding record in the Orders table). Well actually, Marge is only
a potential customer. She simply expressed interest in buying a space ship.

Defining Criteria in the Query/Modifying a Query


In order to control which records are displayed, you must define criteria in a query. The most
common type of query is the Select Records query which will be discussed below.

To Define Criteria for Your Query:


1. Position your cursor in the criteria row in the field for which you wish to define the criteria
for
2. Type the criteria

Example: To find all Excel courses:

3. Position your cursor in the criteria row of the Course ID field


4. Type Excel (Access adds the quote marks to the criteria automatically when you tab to the
next column)

Figure 155: CourseID selection option

5. Click the Run Query button

451
To Save the Query:
1. Click the Save icon
2. Enter a name for the query
3. Click OK

Practical example case


we can tweak a query a little bit here and there to see what other results we can return.

Product Name
The marketing department wants to see who, if anyone, ordered their most expensive space ship.
So, let's return a list of all customers who purchased the most expensive space ship - the "Venus
Carrera ET".
1. From Design view, in the bottom pane, enter "Venus Carrera ET" (double quotes included)
into the Criteria field of the ProductName field:

Figure 156: Criteria setting option


2. Click the Run button in the Ribbon to view the results of the query. Alternatively, you can just
click the Datasheet View icon. And here's the result:

452
Figure 157: Sample query output
3. Once you're satisfied with the results, return to Design view and remove your modification
(i.e. remove "Venus Carrera ET" from the Criteria field).
Price
You could also modify your query so that it returns customers who purchased a product worth
over a certain price.
So let's construct a query that returns all customers who purchased any product with a price over
80,000.
1. From Design view, in the bottom pane, add (>80000) into the Criteria field of the Price field:

Figure 158: Query criteria setting window


2. Click the Run button in the Ribbon to view the results of the query. Alternatively, you can just
click the Datasheet View icon. And here are the results:

Figure 159: sample query output

Price Using Totals


The previous query is all good and well, but there's one (potential) problem with it. While it
certainly allows us to see all customers purchased a product over $80,000, it doesn't really paint
the full picture. It doesn't display those customers who may have purchased more than one product,
each of which is less than $80,000, but the total of which is more than $80,000.
Here's how we can capture that one.

453
1. From Design view, click the Totals button in the Ribbon:

Figure 160: Query computations option


2. You will now see a Total row in the bottom pane. Each field will have Group By. In
the Price field, click Group By and select Sum.
3. Click in the next row down (i.e. the Sort field) and select Descending. Keep
the >80000 criteria in the Price field.
4. You will also need to delete the ProductName column by selecting it and clicking Delete
Columns (next to the Totals button on the Ribbon). It should now look like this:

Figure 161: Setting query criteria window


5. Run the query. And here are our big spenders:

Figure 162: sample query output


You could spend a lot of time tweaking this one simple query. For example, here's some ideas:
 You could replace >80000 with >=80000
 You could remove the >80000 altogether

454
 You could sort by CustomerId instead
 You could use >50000 And <80000 (or any other price range)

QUERY SQL VIEW


The queries that we created and modified were all done in Design view. This is a user-friendly
interface that allows you to create queries easily by visualizing the tables used in the query and
having options made available to you.
But whenever you use Design view to construct a query, behind the scenes, MS Access is
constructing an SQL statement in order to make the query work. For every query you create, there's
an SQL statement hiding in the background.
Well, it's not quite "hiding"... after all, you can view it any time you wish. To do this, you need to
go into SQL View.

Switching to SQL view


To switch to SQL view, you simply click the SQL icon at the bottom-right corner of Access:

SQL Statements
Once in SQL view, you will see a SQL statement. This SQL statement represents the query that
you constructed. Here's the SQL view of the last query that we performed:

Figure 163: sample SQL query window


If you're not familiar with SQL, this might look a little scary. But it needn't be that way. That SQL
statement is simply extracting records from the database using our precise criteria.

455
A less complex SQL statement:
SELECT customers name, first name, customers last name
FROM Customers
The above SQL statement returns the FirstName and Last Name fields from the Customers table.
It returns all records because we didn't specify otherwise.

If we wanted to specify only some records, we would need to add some criteria to the statement.
Here's a modified statement:
SELECT Customers.FirstName, Customers.LastName
FROM Customers
WHERE Customers.LastName = 'Griffin'
Like the first example, the above SQL statement returns the FirstName and Last Name fields from
the Customers table. But in this example, we are only returning records where the customer's last
name is "Griffin".

Creating a Form
A form is a database object that is used to enter or display data in a database.
To Create a Form:
1. Open the table or query on which you are basing the form
2. Click on the Create tab
3. Click on Form in the Forms group
A form is created and opens in Layout View.

456
Figure 164: form in a layout view

Different Views:
Form View – this view allows you to view, create and edit records.
Layout View - this view is like Design View but is more visually oriented in that each control
displays real data. As a result, this is a very useful view for setting the size of controls or performing
many other tasks that affect the visual appearance and usability of the form.
Design View - this view gives you a more detailed view of the structure of the form. You can see
the header, detail, and footer sections for the form. You cannot see the underlying data while you
are making design changes.
Reports
Reports can be based on tables or queries.
To Create a Report:
1. Open the table or query on which you are basing the report
2. Click on the Create tab
3. Click on Report in the Reports group
A report is created in Layout View.

457
Figure 165: report in Layout view
Different Views:
Print Preview – allows you see what the report would look like on a printed piece of paper.
Report View – allows you to see the data without having to display it in Print Preview.
Layout View – allows you make design changes while browsing your data.
Design View - gives you a more detailed view of the structure of your report

Database Integration

The process of combining information from diverse sources, including databases, cloud, data
warehouse, virtual databases, files, and more, to distribute a clean and consolidated version
enterprise-wide is known as database integration. The main benefit of database integration system
is that it makes data accessible to multiple stakeholders and client applications without the need to
duplicate or move data.

One very common data management problem is integrating and synthesizing data from multiple
data sources. How many different sources of data do you have to work with? And how are all these
data sources related?
Most workplaces use multiple software solutions. The different software platforms may share
related data, but it’s almost impossible to pull the various data sets together for analysis. And then,
beyond the software solutions, there are all those spreadsheets with related data.

458
At some point it almost becomes overwhelming. You have all this data, out there but no way to
really bring it all together.
One of the best products, on the market, for data integration is Microsoft Access. Access has a lot
of advantages over other integration software products. Firstly, MS Access is part of the Microsoft
Office suite
Specific to integration, Access can link up to, and share information with:
1. Microsoft Excel
2. Microsoft Outlook
3. Microsoft SQL Server
4. Microsoft SharePoint Lists

In addition, MS Access can also linkup to data from the following data sources:
1. Other ODBC Databases, such as MySQL, etc…
2. Text Files
3. XML Files
4. dBase Files

At first the idea of linking data from multiple data sources may be overwhelming. But it really
isn’t all that hard, once you figure out how to do it. Following are some basic guidelines when
using MS Access to integrate various data sources.
Primarily – with MS Access – there are a couple ways to work with external data. The first is
simply importing the external data. For instance, you can open up one of your proprietary software
applications and run an export file. Then you can import that file into MS Access. Since Access
can read and import common text or Excel files, importing data into Access from other software
packages is very doable. But there is another option as well.
With Microsoft Access, instead of importing data that has been exported from another software;
you can link the other data source directly to Access. This allows you to read “live” production
data.
If you open Microsoft Access and click on the External Data ribbon, you will see a group of
ribbon commands labelled, “Import & Link”. These are the commands you want to play with, to

459
fully grasp all the possibilities for integrating your various data sources. Each ribbon command
tool comes with wizards, to walk you through the various steps.
To begin with you may simply want to play with exporting &/or linking data from Excel. Access
and Excel work quite well together, as they are both part of the Microsoft Office Suite. The most
important thing to remember, before you start working to import/link a spreadsheet, is to prep the
spreadsheet. You will want to make sure there are column headings, and that the spreadsheet is
straight data (without sectioned data, etc…)
But, after you have prepped your spreadsheet, simply:
1. Open an Access database.
2. Click on the External Data ribbon
3. Click the Excel command tool on the Import & Link group
4. A wizard will pop up.
 You will be able to use a navigator and select the spreadsheet you prepped.
 You can choose to import data, append data to an existing table, or link data. --- Stay away
from appending data to an existing table, until you’ve played with the other options. Once you
have played with importing and linking – you’ll feel more comfortable selecting the append
option. (Do keep in mind, if you append to an existing table, you’ll want your spreadsheet data
to be formatted so that it is compatible with the table you append to.)
Once you play with the differences between importing and linking data (with Excel) then
you’re in a better position to start working with some of the more sophisticated data sources.
To import/link data from a SQL database, you’ll need to learn how to work with ODBC data
sources. ODBC connectors simply define connection strings to the database you want to read.
After setting up an ODBC data source for the SQL database you want to connect to, then the
wizards in Access can walk you through the various steps. Just make sure to save your ODBC
data source in a network folder that you can find, when going through the import/linking
process.

5.2.3.4 Learning Activities


Elimu secondary school intends to start maintaining student information using a MS Access.
Required:

460
i. Create four tables namely Students (To capture students bio data), Finance (to capture
students payment details), Books issued (to maintain a record of books borrowed by
the students), Books inventory (to hold details of all the books available in the library)
ii. Populate these tables with some dummy student data
iii. Create relationships between these tables
iv. Create a query to show student details and the books their individual fee balance detail
v. Create a form to populate the students Table
vi. Create a report of all the books available in the library.
5.2.3.5 Self-Assessment
i. Differentiate between the functioning of Tables, queries, forms and reports
ii. Describe the following field datatypes
1) Currency
2) Autonumber
3) OLE object
4) Attachment

iii. What are the two major components of SQL and what function do they serve?
iv. Explain the function of each of the clauses in the SELECT statement. What restrictions are
imposed on these clauses?
1) FROM
2) WHERE
3) GROUP BY
4) HAVING
5) ORDER BY

v. Describe the various types of relationships that may exist within entities in a database.
5.2.3.6 Tools, Equipment, Supplies and Materials
 Computer
 Database software (Ms Access)
 Printer
 stationery

461
5.2.3.7 References
Silberschatz A. and et al (2001), Database System Concepts, McGraw-Hill.
Garcia-Molina H. and et al (2000), Database System: The complete Book, Prentice Hall.
Elmasri R. and Navathe S(2000), Fundamentals of Database System, Addison Wesley.
Conolly& Begg (2010), Database System: a practical approach to design, implementation and
management, Prentice Hall.
Ullman, and Jennifer Widom (2009). Database Systems: The Complete Book (2nd edition) by SBN
978-0131873254, Pearson Prentice Hall,
Jeffrey A. Hoffer, Mary B. Prescott, and Fred R. McFadden(2007). Modern Database Management
(8th Ed.). Prentice-Hall.
Roger Jennings(2004) Special Edition Using Microsoft Office Access 2003, Que.
Alan Simpson, Margaret Levine Young, and Alison Barrows (2003) Access 2003 for DUMMIES,
Wiley Publishing.

5.2.3.8 Model answers to self-assessment


i. Differentiate between the functioning of queries, forms and reports
 Tables store your data in your database
 Queries ask questions about information stored in your tables
 Forms allow you to view data stored in your tables
 Reports allow you to print data based on queries/tables that you have created

ii. Describe the following field datatypes

Currency- Monetary values


Autonumber- Unique value generated by Access for each new record
OLE object- Pictures, graphs, or other ActiveX objects from another Windows-based application
Attachment- You can attach files such as pictures, documents, spreadsheets, or charts; each
Attachment field can contain an unlimited number of attachments per record, up to the storage
limit of the size of a database file.
iii. What are the two major components of SQL and what function do they serve?
A data definition language (DDL) for defining the database structure.

462
A data manipulation language (DML) for retrieving and updating data.
iv. Explain the function of each of the clauses in the SELECT statement. What
restrictions are imposed on these clauses?
FROM specifies the table or tables to be used;
WHERE filters the rows subject to some condition;
GROUP BY forms groups of rows with the same column value;
HAVING filters the groups subject to some condition;
SELECT specifies which columns are to appear in the output;
ORDER BY specifies the order of the output.

v. cribe the various types of relationships that may exist within entities in a database
Relationship Types
We just established a many-to-many relationship. There are three types of relationships that you
can establish between tables. These are as follows:

Many-To-Many Relationship
This is what our example above uses. A row in table A can have many matching rows in table B,
and vice versa. In our case, a single customer can order many products, and a single product could
have many customers. You create a many-to-many relationship by using a third table, called a
junction table (more on that below).

One-To-Many Relationship
This is the most common relationship type. You don't need a third (junction) table for this type of
relationship. In this type of relationship, a row in table A can have many matching rows in table
B, but a row in table B can have only one matching row in table A. For example, a row in a Gender
table (which contains the records Male and Female) can have many matching rows in a Customers
table, but a row in the Customers table can only have one matching row in the Gender table. That
is unless there was a business rule that allowed customers to be male and female at the same time.
In this case, a many-to-many relationship would need to be established.

One-To-One Relationship

463
A row in table A can have only one matching row in table B, and vice versa. This is not a common
relationship type, as the data in table B could just have easily been in table A. This relationship
type is generally only used for security purposes, or to divide a large table, and perhaps a few other
reasons.
The type of relationship that you use depends on the table structure and how the fields are defined.

464
5.2.4 Learning Outcome 4: Perform database testing.

5.2.4.1 Introduction to the learning outcome


This section gives an overview of the various database database testing strategies that can be
carried out on a Database. By the end of it, the learner should be able to competently be able to
perform database tasks as follows prepare test data, run the test data, check the test results, validate
the results and report the findings.
5.2.4.2 Performance Standard
5.2.4.2.1 Test data is prepared.
5.2.4.2.2 Run the test data.
5.2.4.2.3 Check the test results.
5.2.4.2.4 Validate the results.
5.2.4.2.5 Report the findings.

5.2.4.3 Information Sheet


Database testing
Database Testing refers to the process of validating the data that is being stored in a database
by verifying the objects controlling the data and various functionalities surrounding it.
A database is a systematic collection of data that provides data storage and helps in data
manipulation. Data management becomes very easy using these databases as databases use
objects for managing the data such as tables for storing data, view for data representations,
functions, and triggers for data manipulation. Generally, the activities like checking data
validity, testing data integrity, performance check relate, testing various procedures, triggers
and functions in the database are covered during the database testing.

But to perform database testing, having sound knowledge of SQL is very important.

Importance of Database Testing


A database is a dump of data where the data is collected in an enormous amount and stored in
a structured format. Although DBMS (Database Management System) provides an organized

465
way of managing, retrieving and storing this data, there are cases where data might get
redundant, duplicated, etc. In such cases database testing comes into the picture which helps
us in validating the data. Below are various aspects based on which a database needs to be
validated:

1. Data Mapping
Data mapping is an integral aspect of database testing which focuses on validating the data
which traverses back and forth between the application and the backend database.
2. ACID Properties Validation
ACID stands for Atomicity, Consistency, Isolation, and Durability. This is another
important aspect that needs to be confirmed against each database transaction.
o Atomicity: This means that all Database Transactions are atomic i.e., the
transactions can result in either, Success or Failure. Also known as All-or-Nothing.
o Consistency: This means that the database state will stay valid after the transaction
is completed.
o Isolation: This means that multiple transactions can be executed all at once without
impacting one another and altering the database state.
o Durability: This means that once a transaction is committed, it will preserve the
changes without any fail irrespective of the effect of external factors.
3. Data Integrity
Testing the data integrity of a database refers to the process of evaluating all kinds of
processes, operations and methods that are used for accessing, managing and updating the
database also known as the CRUD operations. This solely focuses on testing the accuracy
and consistency of the data stored in the database so that we get the expected or desired
results.
4. Business Rule Conformity
With the increase in the complexity of the databases various components like relational
constraints, triggers, stored procedures, etc also begin to complicate. In order to avoid this,
the testers provide some SQL queries which are appropriate enough to validate the complex
objects.

Types of Database Testing

466
There are 3 types of Database Testing as listed below:
1. Structural Testing
2. Functional Testing
3. Non-functional Testing

1. Structural Testing
The structural database testing is the process of validating all the elements that are present
inside the data repository and are primarily used for data storage. These elements cannot be
manipulated directly by the end-users. Validating database servers is one of the most important
considerations and the testers who manage to complete this phase successfully acquire mastery
in SQL queries.
Various Types of Structural testing are:
1) Schema Testing
This type of testing is also known as mapping testing and is performed to ensure that the schema
mapping of the front end and the back end are in sync. Some of the important checkpoints of this
testing are:
o Validates various types of schema formats that are associated with the databases.
o Verification is required for unmapped tables/views/columns.
o Verification is also required to ensure the consistency of the heterogeneous databases
in an environment with the overall application mapping.
o Provides various tools for database schema validation.

2) Database Table and Column Testing


Some of the important checkpoints of this testing are:
o The compatibility of database fields and columns mapping at the back end and the front
end.
o Validating the length and naming convention of the database fields and columns as per
requirements.
o Detecting and validating any unused/unmapped database tables/columns.
o Validating the compatibility of the data type and field lengths at the backend database
columns with the front end of the application.

467
o Validates that the users are able to provide desired inputs using the database fields
which are specified in the business requirement specification documents.

3) Keys and Indexes Testing


Some of the important checkpoints of this testing are:
o Ensure that the required Primary Key and the Foreign Key constraints are already there
on the required tables.
o Validate the references of the foreign keys.
o Ensure that, in two tables the data type of the primary key and the corresponding foreign
keys are the same.
o Validate the names of all the keys and indexes based on the naming conventions.
o Check the required fields and indexes size and length.
o Ensure the creation of the Clustered indexes and Non-Clustered indexes in the required
tables as per the business requirements.

4) Stored Procedures Testing


Some of the important checkpoints of this testing are:
o Validate the adoption of the required coding standard conventions, exception and error
handling for all the stored procedures by the development team in all the modules of
the application under testing.
o Ensure that the development team has covered all the conditions/loops by applying the
required input data to the application under testing.
o Check if the development team has properly applied the TRIM operations or not each
time the data was fetched from the specified database tables.
o Ensure that the required outputs are generated by manually executing the Stored
Procedures.
o Ensure that the table fields are updated as specified by the application under testing by
manually executing the Stored Procedures.
o Ensure that the required triggers are implicitly invoked by executing the Stored
Procedures.
o Detect and validate any unused stored procedures.

468
o Validating the Null condition at the database level.
o Ensure that all the Stored Procedures and Functions have been executed and tested on
the blank database that is under test.
o Validate the overall integration of the stored procedure modules as specified in the
requirements of the application under testing.

5) Trigger Testing
Some of the important checkpoints of this testing are:

o Validating that the required coding conventions are followed in the coding phase of the
Triggers.
o Ensure that the executed triggers are fulfilling the required conditions for the respective
DML transactions.
o Check whether the data is updated correctly once the triggers have been executed.
o Validate the functionalities such as Update, Insert, Delete triggers functionality of the
application under test.

6) Database Server Validations


Some of the important checkpoints of this testing are:
o Validate the database server configurations as specified in the business requirements.
o Ensure that the required user performs only those levels of actions that are required by
the application under test.
o Ensure that the database server is capable of catering to the needs of the maximum
number of user transactions that are allowed as in the business requirement
specifications.

2. Functional Testing
Functional database testing is the process that ensures that the transactions and operations that
are performed by the end-users are consistent with the meet the business specifications.
Various Types of Functional Testing are:
 Black Box Testing

469
Black Box Testing refers to the process that checks various functionalities by verifying the
integration of the database. In this, the test cases are usually simple and are used to verify the
incoming and outgoing data from the function. Various techniques like cause-effect graphing
technique, boundary-value analysis, and equivalence partitioning are used to test the database
functionality. It is generally performed at the early development stages and costs less when
compared to other functional testings. But it comes with some drawbacks like some errors
cannot be detected by it and there is no specification on how much of the program should be
tested.
 White Box Testing
White Box Testing is concerned with the internal structure of the database and the users are
unaware of the specification details. This testing requires database triggers and logical views
testing which supports the database refactoring. Moreover, database functions, triggers,
views, SQL queries, etc., are also tested in this. White box testing is used to validate the
database tables, data models, database schema, etc. It adheres to the rules of Referential
Integrity and selects the default table values to verify the database consistency. Techniques
like condition coverage, decision coverage, statement coverage, etc. are often used to perform
White Box testing. Unlike Black box testing coding errors can be easily detected to eliminate
the internal bugs present in the database. The only drawback of this type of testing is it doesn’t
cover the SQL statements.

3. Non-Functional Testing
Nonfunctional testing is the process of performing load testing, stress testing, checking
minimum system requirements which are required to meet the business specification along
with detecting risks and optimizing the performance of the database.
Major types of Non-Functional Testing are:
 Load Testing
The primary function of performing load testing is to validate the performance impact of most
of the running transactions in the database. In this testing, a tester is required to check the
following conditions.
o What is the response time required for executing transactions for multiple users
located remotely?

470
o What is the time taken by the database for fetching the specific records?
 Stress Testing
Stress testing is a testing process that is performed to identify the breakpoint of the system.
Thus, in this testing, an application is loaded until the point the system fails. This point is
known as a breakpoint of the database system. The commonly used Stress Testing Tools
are LoadRunner and WinRunner.

Database Testing Stages


DB testing is not a tedious process and includes various stages in the database testing lifecycle
in accordance with the test processes.
The key stages in database testing are:
1. Set Up Testing Pre-Requisites
2. Execute the Tests.
3. Verify Test Status
4. Validate Results
5. Consolidate and Publish Report
Now that you are aware of what is database testing and how to perform it, let me now throw
some light on various tools that are majorly used for database testing.

Database Testing Tools


There are numerous tools in the market are used to generate the Test Data, manage it and finally
perform database testing like Load Testing and Regression Testing, etc. Below I have listed
down a few of the most preferred tools:

471
Figure 166: summary of database testing tools
Database Security Testing
Database security testing is done to find the loopholes in security mechanisms and also about
finding the vulnerabilities or weaknesses of database system.
The main target of database security testing is to find out vulnerabilities in a system and to
determine whether its data and resources are protected from potential intruders. Security testing
defines a way to identify potential vulnerabilities effectively, when performed regularly.
Given below are the primary objectives of performing database security testing −
i. Authentication
ii. Authorization
iii. Confidentiality
iv. Availability
v. Integrity
vi. Resilience

DB Query Testing

472
Various SQL frameworks let you define layers of indirection between your SQL and its
input(s); i.e., you declare and label the input datasets upon which a query depends. Unit testing
frameworks can use this indirection to replace real input data with faked versions.
We can then run the code under test, using some faked input, and compare the output result
rows against a set of expected outputs. If the actual output of the code under test matches the
expected output, the test passes; if not, it fails.
This technique is simple and gives you real power to verify that a SQL script does what you
think it does. You can pass faked inputs to your SQL that your real data may not currently
contain, giving you confidence that it can robustly handle a wide range of data.

Guidelines for testing database queries:


1. Use an isolated database for unit testing (e.g., No other test runs or activity)
2. Always insert all the test data you intend to query within the same test.
3. Write the tests to randomly create different volumes of data e.g., random number of
inserts say between 1 and 10 rows
4. Randomize the data e.g., for a boolean field random insert and true or false.
5. Keep a count in the test of the variables (e.g. number of rows, number of trues)
6. For the Asserts execute query and compare against local test variables
7. Use Enterprises Services transactions to rollback database to previous state

There are a few tools out there to help you with this. DbUnit is one of them and I also believe
Microsoft had a tool Visual Studio for Database Professionals that contained some support for
DB testing.

SQL Queries most used in DB Testing

473
Querying the recent data
Select top 1 * from table name order by date/time desc
Ex: Select top 1 * from employee order by joining date desc
Checking for the duplicate records
Select * from table name group by key column having count (*) > 1
Ex: Select * from employee group by empid having count (*) > 1
Find out the existence of objects.
Select * from sysobjects where type = “<type>“ (SQL Server)
where <type> can be
U ------- User table
V ------- View
P ------- Stored procedure
TR ------ Trigger
Select * from User Objects where Object name like ‘xxxxxx’ (Oracle)

Types of Threats on a Database System

1. SQL Injection
This is most common type of attack in a database system where malicious SQL statements are
inserted in the database system and are executed to get critical information from the database
system. This attack takes advantage of loopholes in implementation of user applications. To
prevent this, user inputs fields should be carefully handled.
2. Privilege Elevation in Database
In this attack, a user already has some access in the database system and he/she only tries to
elevate this access higher level so that he/she can perform some unauthorized activities in
database system.

3. Denial of Service
In this type of attack, an attacker makes a database system or application resource unavailable
to its legitimate users. Applications can also be attacked in ways that render the application,
and sometimes the entire machine, unusable.

474
4. Unauthorized Access to data
Another type of attack is gaining unauthorized access to data within an application or database
system. Unauthorized access includes −
 Unauthorized access to data via user-based applications
 Unauthorized access to by monitoring the access of others.
 Unauthorized access to reusable client authentication information
5. Identity Spoofing
In Identity Spoofing, a hacker uses the credentials of a user or device to launch attacks against
network hosts, steal data or bypass access controls to database system. Preventing this attack
requires IT-infrastructure and network-level mitigations.
6. Data Manipulation
In a data manipulation attack, a hacker changes data to gain some advantage or to damage the
image of database owners.
Database Security Testing Techniques
7. Penetration Testing
A penetration test is an attack on a computer system with the intention of finding security
loopholes, potentially gaining access to it, its functionality and data.

Risk Finding
Risk Finding is a process of assessing and deciding on the risk involved with the type of loss
and the possibility of vulnerability occurrence. This is determined within the organization by
various interviews, discussions and analysis.
1. SQL Injection Test
It involves checking the user inputs in application fields. For example, entering a special
character like ‘,’ or ‘;’ in any text box in a user application should not be allowed. When a
database error occurs, it means that the user input is inserted in some query, which is then
executed by the application. In such a case, the application is vulnerable to SQL injection.
These attacks are a big threat to data as the attackers can get access to important information
from the server database. To check SQL injection entry points into your web application, find

475
out code from your code base where direct MySQL queries are executed on the database by
accepting some user inputs.
SQL Injection Testing can be performed for Brackets, Commas, and Quotation marks.
2. Password Cracking
This is the most important check while performing database system testing. To access critical
information, hackers can use a password-cracking tool or can guess a common
username/password. These common passwords are easily available on internet and also
password cracking tools exist freely.
Therefore, it is necessary to check at the time of testing if the password policy is maintained
in the system. In case of any banking and finance applications, there is a need to set a strict
password policy on all the critical information database systems.

Security Audit of Database System


A security audit is a process of evaluating company’s security policies at a regular time interval
to determine whether necessary standards are followed or not. Various security standards can
be followed as per business requirement to define the security policy and then assessment of
set policies against those standards can be done.
Example of most common security standards are ISO 27001, BS15999, etc

Database Security Testing Tools


There are various system testing tools available in market, which can be used to test OS and
application check. Some of the most common tools are discussed below.
a. Zed Attack Proxy
It is a penetration-testing tool for finding vulnerabilities in web applications. It is designed to
be used by people with a wide range of security experience and as such is ideal for developers
and functional testers who are new to penetration testing. It is commonly used for Windows,
Linux, Mac OS.

b. Paros

476
All HTTP and HTTPS data between server and client, including cookies and form fields, can
be intercepted and modified using these scanners. It is used for Cross-platform, Java JRE/JDK
1.4.2 or above.

c. Social Engineer Toolkit


It is an open-source tool and human elements are attacked rather than the system element. It
enables you to send emails, java applets etc. containing the attack code. It is preferred for
Linux, Apple Mac OS X and Microsoft Windows.

d. Skip fish
This tool is used to scan their sites for vulnerabilities. Reports generated by the tool are meant
to serve as a foundation for professional web application security assessments. It is preferred
for Linux, FreeBSD, MacOS X, and Windows.

e. Vega
It is an open source, multiplatform web security tool that is used to find instances of SQL
injection, cross-site scripting (XSS), and other vulnerabilities in web applications. It is
preferred for Java, Linux, and Windows.

f. Wapiti
Wapiti is an open source and web-based tool that scans the web pages of the web application
and check for scripts and forms where it can inject data. It is built with Python and can detect
File handling errors, Database, XSS, LDAP and CRLF injections, Command execution
detection.

g. Web Scarab
It is written in Java and is used for analysing the applications that communicate through
HTTP/HTTPS protocols. This tool is primarily designed for developers who can write code
themselves. This tool is not OS dependent.

Database Recovery Testing

477
Database recovery testing is used to ensure that the database is recovered. Recovery testing
allows you to find out whether the application is running properly and to check retrieving
invaluable data that would have been lost if your recovery method is not properly setup.
You also check if several critical processes are running smooth to ensure that the data recovery
will pass smoothly through the testing phase.
You can perform the following checks for database recovery −
 Any errors or mistakes in the backup software and you need to resolve these issues at an
earlier stage.
 You need to conduct the recovery testing so that you will know what to do in case of an
emergency.
 You need to check recovery testing needs so that you can plan for an effective recovery
strategy.
 You should also know how you can recover the documents.
You need to run the recovery tests in early phase of the project. This allows you to remove and
throw away every type of errors from the system. Here is a list of some of important points,
which should be considered at the time of testing −
 Time span when changes or modifications occurs in database system.
 The period by which you want your recovery plan conducted.
 The sensitivity of data in database system. More critical the data is, the more regularly you
will need to test the software.
Common Steps in Database Backup and Recovery Testing
In database recovery testing, you need to run the test in the actual environment to check if the
system or the data can be recovered in case of any disasters and any other unforeseen events
in the business environment.
Given below are the common actions performed in Database Recovery Testing −
 Testing of database system
 Testing of the SQL files
 Testing of partial files
 Testing of data backup
 Testing of Backup tool
 Testing log backups

478
5.2.4.4 Learning Activities

a) Database testing involves among other items, checking on the security of a database.
Describe any four internal features provided by a database for ensuring security.
b) Given the primary objectives of performing database security testing below, describe how
measures can be used to enforce each of them.
i. Authentication
ii. Authorization
iii. Confidentiality
iv. Availability
v. Integrity

5.2.4.5 Self-Assessment

i. What is the purpose of testing the database system?

ii. Explain the following in terms of providing security for a database.


a. authorization.
b. views.
c. backup and recovery.
d. integrity.
e. RAID.
f. Authorization
g. Views
h. Backup and recovery
i. Integrity constraints
j. Encryption
k. Redundant Array of Independent Disks (RAID)
iii. Describe the security features of Microsoft Access.

479
5.2.4.6 Tools, Equipment, Supplies and Materials
 Computer
 Database software (Ms Access)
 Printer
 stationery
 internet connectivity (to access open-source testing tools)

5.2.4.7 References

Silberschatz A. and et al (2001), Database System Concepts, McGraw-Hill.


Garcia-Molina H. and et al (2000), Database System: The complete Book, Prentice Hall.
Elmasri R. and Navathe S (2000), Fundamentals of Database System, Addison Wesley.
Conolly& Begg (2010), Database System: a practical approach to design, implementation and
management, Prentice Hall.
Ullman, and Jennifer Widom (2009). Database Systems: The Complete Book (2nd edition) by
SBN 978-0131873254, Pearson Prentice Hall,
Jeffrey A. Hoffer, Mary B. Prescott, and Fred R. McFadden (2007). Modern Database
Management (8th Ed.). Prentice-Hall.
Roger Jennings (2004) Special Edition Using Microsoft Office Access 2003, Que.
Alan Simpson, Margaret Levine Young, and Alison Barrows (2003) Access 2003 for
DUMMIES, Wiley Publishing.

480
5.2.4.8 Model answers to self-assessment

I. Explain the purpose of testing the database system.


Before going live, the newly developed database system should be thoroughly tested. This is
achieved using carefully planned test strategies and realistic data so that the entire testing process
is methodically and rigorously carried out. Note that in our definition of testing we have not used
the commonly held view that testing is the process of demonstrating that faults are not present. In
fact, testing cannot show the absence of faults; it can show only that software faults are present. If
testing is conducted successfully, it will uncover errors in the application programs and possibly
the database structure. As a secondary benefit, testing demonstrates that the database and the
application programs appear to be working according to their specification and that performance
requirements appear to be satisfied. In addition, metrics collected from the testing stage provides
a measure of software reliability and software quality.
As with database design, the users of the new system should be involved in the testing process.
The ideal situation for system testing is to have a test database on a separate hardware system, but
often this is not available. If real data is to be used, it is essential to have backups taken in case of
error.
Testing should also cover usability of the database system. Ideally, an evaluation should be
conducted against a usability specification. Examples of criteria that can be used to conduct the
evaluation include (Sommerville, 2000):
 Learnability - How long does it take a new user to become productive with the system?
 Performance - How well does the system response match the user’s work practice?
 Robustness - How tolerant is the system of user error?
 Recoverability - How good is the system at recovering from user errors?
 Adaptability - How closely is the system tied to a single model of work?
Some of these criteria may be evaluated in other stages of the lifecycle. After testing is complete,
the database system is ready to be ‘signed off’ and handed over to the users.

II. Explain the following in terms of providing security for a database:


1. Authorization.
2. Views.

481
3. Backup and Recovery.
4. Integrity.
5. Encryption.
6. Raid.

Authorization
Authorization is the granting of a right or privilege that enables a subject to have legitimate access
to a system or a system’s object. Authorization controls can be built into the software and govern
not only what database system or object a specified user can access, but also what the user may do
with it. The process of authorization involves authentication of a subject requesting access to an
object, where ‘subject’ represents a user or program and ‘object’ represents a database table, view,
procedure, trigger, or any other object that can be created within the database system.

Views
A view is a virtual table that does not necessarily exist in the database but can be produced upon
request by a particular user, at the time of request. The view mechanism provides a powerful and
flexible security mechanism by hiding parts of the database from certain users. The user is not
aware of the existence of any columns or rows that are missing from the view. A view can be
defined over several tables with a user being granted the appropriate privilege to use it, but not to
use the base tables. In this way, using a view is more restrictive than simply having certain
privileges granted to a user on the base table(s).

Backup and recovery


Backup is the process of periodically taking a copy of the database and log file (and possibly
programs) onto offline storage media. A DBMS should provide backup facilities to assist with the
recovery of a database following failure. To keep track of database transactions, the DBMS
maintains a special file called a log file (or journal) that contains information about all updates to
the database. It is always advisable to make backup copies of the database and log file at regular
intervals and to ensure that the copies are in a secure location. In the event of a failure that renders
the database unusable, the backup copy and the details captured in the log file are used to restore
the database to the latest possible consistent state. Journaling is the process of keeping and

482
maintaining a log file (or journal) of all changes made to the database to enable recovery to be
undertaken effectively in the event of a failure.

Integrity constraints
Contribute to maintaining a secure database system by preventing data from becoming invalid,
and hence giving misleading or incorrect results.

Encryption
Is the encoding of the data by a special algorithm that renders the data unreadable by any program
without the decryption key. If a database system holds particularly sensitive data, it may be deemed
necessary to encode it as a precaution against possible external threats or attempts to access it.
Some DBMSs provide an encryption facility for this purpose. The DBMS can access the data (after
decoding it), although there is degradation in performance because of the time taken to decode it.
Encryption also protects data transmitted over communication lines. There are a number of
techniques for encoding data to conceal the information; some are termed irreversible and others
reversible. Irreversible techniques, as the name implies, do not permit the original data to be
known. However, the data can be used to obtain valid statistical information. Reversible techniques
are more commonly used. To transmit data securely over insecure networks requires the use of a
cryptosystem, which includes:
• an encryption key to encrypt the data (plaintext);
• an encryption algorithm that, with the encryption key, transforms the plain text into
ciphertext;
• a decryption key to decrypt the ciphertext;
• a decryption algorithm that, with the decryption key, transforms the ciphertext back into
plain text.
Redundant Array of Independent Disks (RAID)
RAID works by having a large disk array comprising an arrangement of several independent disks
that are organized to improve reliability and at the same time increase performance. The hardware
that the DBMS is running on must be fault-tolerant, meaning that the DBMS should continue to
operate even if one of the hardware components fails. This suggests having redundant components
that can be seamlessly integrated into the working system whenever there is one or more

483
component failures. The main hardware components that should be fault-tolerant include disk
drives, disk controllers, CPU, power supplies, and cooling fans. Disk drives are the most
vulnerable components with the shortest times between failures of any of the hardware
components.
One solution is the use of Redundant Array of Independent Disks (RAID) technology. RAID works
by having a large disk array comprising an arrangement of several independent disks that are
organized to improve reliability and at the same time increase performance.

i. Describe the security features of Microsoft Access.


Access provides a number of security features including the following two methods:
(a) setting a password for opening a database (system security);
(b) user-level security, which can be used to limit the parts of the database that a user can read or
update (data security).
In addition to the above two methods of securing a Microsoft Access database, other security
features include:
 Encryption/decryption: encrypting a database compacts a database file and makes it
indecipherable by a utility program or word processor. This is useful if you wish to transmit a
database electronically or when you store it on a floppy disk or compact disc. Decrypting a
database reverses the encryption.
 Preventing users from replicating a database, setting passwords, or setting startup options;
 Securing VBA code: this can be achieved by setting a password that you enter once per session
or by saving the database as an MDE file, which compiles the VBA source code before
removing it from the database. Saving the database as an MDE file also prevents users from
modifying forms and reports without requiring them to specify a log on password or without
you having to set up user-level security

484
5.2.5. Learning Outcome 5: Print Database objects
5.2.5.1 Introduction to the learning outcome
This section gives an overview of the procedure of printing the various database objects
including tables, queries, reports, and forms. By the end of it, the learner should be able to
competently print database objects.
5.2.5.2 Performance Standard
5.2.5.2.1 Database tables are printed.
5.2.5.2.2 Database queries are printed.
5.2.5.2.3 Database forms and reports are printed.

5.2.5.3 Information Sheet


Most database objects including tables, queries, forms and reports, and the information they
contain can be printed. Sometimes it is a good idea to preview a database object onscreen to
see if something needs to be changed before sending it to the printer. You can preview a
database object by clicking the Print Preview button on the toolbar.

While you can print data from a table, query, form or report in your Microsoft Access database,
you can set print options for reports that will produce an eye-catching and more readable
printed copy of your data.
Printing data directly from tables or queries works when you want to print just a simple list.
Forms are better suited for viewing or printing data for a single record or a related set of
records, and not for printing larger sets of data or data summaries. By printing data from a
report, you can compare, summarize, and total large sets of data, and then present that
information in an attractive layout.

Select page setup options.


After you create your report you can set options for the print layout in the Page Setup dialog
box. These options help you fine tune the format with options for margin settings, use of
gridlines and columns, or print only the data from the report without the formatting. To set the
print page options, complete the following steps:
1. In the Navigation Pane, right-click the report and then click Print Preview.

485
2. On the Print Preview tab, in the Page Layout group, click Page Setup and set the
margins, orientation and column settings that you want.

Figure 167: print option tab settings

486
Figure 168:Print data settings option
To customize the margins on your report, on the Print Preview tab, in the Page Size group,
click Margins and select a suitable option and a preview of the report with the changed margin
settings is displayed.
Page tab settings

487
Figure 169:Page data settings option
Columns tab settings

488
These options are also available on the Print Preview tab, in the Page Layout group, under
Columns.

489
Figure 170: column data settings options
Select printer settings
After you complete the page setup settings for your report, you can select specific printer
options to control the print layout or the pages you want printed and the number of copies.
1. In the Navigation Pane, right-click the report that you want to print, and click Print
Preview.
2. On the Print Preview tab, in the Print group, click Print.
(Keyboard shortcut, Press Ctrl+P).
3. Select your print options, and then click OK to print your report.

The following table describes the results you can expect from specific printer settings:

490
Figure 171 : print data settings options

To save paper, or to send a print job to a commercial printer, or send the report via e-mail, you
can create a .pdf or xps format of your report: On the Print Preview tab, in the Data group,
click PDF or XPS.

Exporting to PDF is like printing your document, except that instead of a paper copy, you're
getting a digital copy. XPS is a format similar to PDF, but created by Microsoft.
Select a report, then click the PDF or XPS button to get started. You will be asked to select a
file location for the PDF.

491
Figure 172: save settings window.

When you click OK, Access asks you if you'd like to save the export to the Saved Export
Manager.
More Options
By clicking the More button in the Export group on the ribbon, you access options to save the
report as a Microsoft Word file, an HTML file, and others. Since the process to export to each
of these files is nearly identical, we won't repeat it here.

492
Figure 173 : more save settings options

Saved Exports
If you use the same export settings frequently, you may want to save those settings. The Saved
Exports button is basically the saved export manager. As we discussed the export options, we
saved some of the export settings. Right now, we're going to examine the Saved Export
window.

493
Figure 174 :export data settings options

Here we have the saved settings. One export is called "Export-Books". It has a short
description--"Export data to Excel file" - and a location. We can edit any of this information
by clicking on it and typing in something new.
To run a saved report, select it from the list and click Run.
To delete a report, select it and click Delete.

Preview before printing


Use the Print Preview option to make check how the printed version of your report will appear.
You can open a report in Print Preview by using one of the following methods:
 To preview a report that is not already open, in the Navigation Pane, right-click the report
that you want to preview, and then click Print Preview.

494
or
 Click File > Print, and then click Print Preview.
or
 If the report is open, right-click the document tab for the report, and then click Print
Preview.

You can make further formatting changes from Print Preview by using the options in
the Preview Print tab.

Figure 175 : Print preview settings options

If you want to see several pages of the report, move to other pages, or view multiple pages at
the same time when previewing you report, try any the following options:
 Click the Shutter Bar Open/Close button (<<) in the upper-right corner of the Navigation
Pane, and then expand the report view area.
 Position the report by using the horizontal or vertical scroll bars.
 To magnify an area on the report, on the Print Preview tab, in the Zoom group, click the
arrow below Zoom and select a magnification percentage. You can also use the Zoom
control in the lower right-hand corner of your window.
 To preview multiple pages at a time, in the Zoom group, click Two Pages or click More
Pages and then select an option.
Select your print options: In the Print group, click Print and then select your print options.
Close Print Preview: In the Close Preview group, click Close Print Preview.

Microsoft Access can also help you prepare printed documentation of your database's design,
which you can use for offline reference and planning. Specifically, Access can help you print

495
table relationships as depicted in the Relationship window, and can help you print the design
characteristics of database objects, such as object properties.
Prepare the Relationships window for printing
The Relationship window is a window in which you view, create, and edit relationships
between tables and queries. Depending on how you configure it, the Relationships window
does not always show all the relationships in your database. You should decide which
relationships you want to document — and prepare the Relationships window accordingly —
before you print table relationships. You can show or hide tables in the Relationships window,
and you can rearrange their layout.
Show or hide a table in the Relationships window
1. On the Database Tools tab click Relationships.
2. Do one of the following:
 To show a table, on the Design tab, in the Relationships group, click Show Table,
and then in the Show Table dialog box, add the table that you want.
 To hide a table, in the Relationship window, click the table that you want to hide,
and then press DELETE.
3. Press CTRL+S to save your changes.

Print the Table Relationships window


You can create a report that displays the relationships in your database as they appear in the
Relationships window. This report has the default name Relationships for database name.
By default, the report's header contains the name and the date that you created the report.
1. Open the Access database that has relationships you want to print.
2. On the Database Tools tab click Relationships.
3. On the Design tab, in the Tools group, click Relationship Report.
(A report that depicts the Relationships window opens in Print Preview mode.)
4. To make any adjustments to the way your report will print, use commands on the Print
Preview tab.
5. On the Print Preview tab, in the Print group, click Print.
Print the design characteristics of database objects

496
You can use the Database Documenter to print the design characteristics of database objects.
1. Open the database that you want to document.
2. On the Database Tools tab, in the Analyze group, click Database Documenter.
3. In the Documenter dialog box, click the tab that represents the type of database object that
you want to document. To create a report on all of the objects in a database, click the All
Object Types tab.
4. Select one or more of the objects listed on the tab. To select all of the objects on a tab,
click Select All.
5. Click OK.
(The Database Documenter creates a report that contains detailed data for each selected object,
and then opens the report in Print Preview. For example, if you run the Database Documenter
against a data entry form, the report created by the Documenter lists the properties for the form
as a whole, the properties for each of the sections in the form, and the properties for any
buttons, labels, text boxes, and other controls on the form, plus any code modules and user
permissions that are associated with the form.)
6. To print the report, on the Print Preview tab, in the Print group, click Print.

Preview a report.

When you want to see how your report will appear when printed, use Print Preview. If you
preview a report that was created in Access, the record navigation buttons appear in the default
location, at the bottom of the Access window.
Start Print Preview
1. If the report is not open, in the Navigation Pane, right-click the report that you want to
preview, and then click Print Preview on the shortcut menu.
-or-
If the report is open, right-click the document tab for the report and click Print Preview.
2. Click the record navigation buttons to move among the pages in the report.

497
Preview multiple pages.

If the report is open, right-click the document tab for the report and click Print Preview.
1. On the Print Preview tab, in the Zoom group, click Two Pages to preview your report
two pages at a time.
-or-
In the Zoom group, click More Pages, and then select an option.
2. Click the record navigation buttons to move among the pages in the report.
3. To revert to previewing a single page, in the Zoom group, click One Page.

Close Print Preview


You can either print the report after previewing it or close the preview if you want to make
changes to the report before printing it.
 On the Print Preview tab, in the Close Preview group, click Close Preview.

Print a report quickly.

If you want to print all the pages in the report without making any changes to the format of the
report such as margins, headers, footers, and orientation (portrait or landscape) you can use the
Quick Print option.
1. If the report is not open, in the Navigation Pane, right-click the report and click Print.
-or-
Make sure that the Quick Print button is available in the Quick Access Toolbar. To add the
button to the toolbar, click the down-arrow at the end of the toolbar and click Quick Print.
On the Quick Access Toolbar, click Quick Print.

Print selects pages from a report

In a report, you can limit what you print only by selecting a range of pages.
1. Click File and then click Print.
2. On the Print area of the File options, click the Print option to open the Print dialog box.

498
3. To print only some of the data in the report, under Print Range, click Pages, and then enter
a value in the From and the To boxes.
For example, to print just page 5 of a report, type 5 in both the From and the To boxes.
If you own the necessary permissions to change the design of a report, you can make additional
changes to the way that your report prints by changing the print layout in the Page Setup dialog
box (click Setup to display the Page Setup dialog box).

Change the page setup.


The Page Setup dialog box can be used to change a variety of print options, including the top
and bottom margins and whether Access prints just the data in your report. Access provides
two ways to display the Page Setup dialog box. You can start it from within the Print dialog
box, or you can start it from the Print Preview tab, which appears when you start Print
Preview.
The steps in this section explain how to display the Page Setup dialog box.

Start the Page Setup dialog box from the Print dialog box
1. In the Navigation Pane, select the report that you want to change. You do not need to open
the report, although you can if you need to ensure that the data you are about to print is
current.
2. Click File and then click Print.
3. On the Print area of the File options, click the Print option to open the Print dialog box.
4. Click Setup to display the Page Setup dialog box.
5. Set or change the options in the dialog box, as needed.

Start the Page Setup dialog box from the Print Preview tab
2. In the Navigation Pane, right-click the report that you want to change and click Print
Preview.
Access opens the report in Print Preview.
3. On the Print Preview tab, in the Page Layout group, click the Page Setup button.
4. Set or change the options in the dialog box, as needed.

499
5. Select print options

Follow the steps in this section when you need to print some of the pages in a report or when
you need to select a printer or change print settings, such as margins or columns.
4. In the Navigation Pane, select the report that you want to print.
5. Click File and then click Print.
6. On the Print area of the File options, click the Print option to open the Print dialog box.
7. Change the page format setup or other print options or printer selection as needed, and then
click OK to print your report.

5.2.5.4 Learning Activities


From a sample database of your choice, print out the following elements of the database and save
them as PDF.
a. Table relationship
b. Form
c. Reports
d. Queries

5.2.5.5 Self-Assessment
ii. Describe the procedure of printing a report in Ms Access.
iii. Describe the procedure of Printing Table Relationships window

5.2.5.6 Tools, Equipment, Supplies and Materials


 Computer
 Database software (Ms Access)
 Printer
 stationery
5.2.5.7 References
Silberschatz A. and et al (2001), Database System Concepts, McGraw-Hill.
Garcia-Molina H. and et al (2000), Database System: The complete Book, Prentice Hall.
Elmasri R. and Navathe S(2000), Fundamentals of Database System, Addison Wesley.

500
Conolly& Begg (2010), Database System: a practical approach to design, implementation and
management, Prentice Hall.
Ullman, and Jennifer Widom (2009). Database Systems: The Complete Book (2nd edition) by
SBN 978-0131873254, Pearson Prentice Hall,
Jeffrey A. Hoffer, Mary B. Prescott, and Fred R. McFadden(2007). Modern Database
Management (8th Ed.). Prentice-Hall.
Roger Jennings (2004) Special Edition Using Microsoft Office Access 2003, Que.
Alan Simpson, Margaret Levine Young, and Alison Barrows (2003) Access 2003 for
DUMMIES, Wiley Publishing.

5.2.5.8 Model answers to self-assessment


i. Describe the procedure of printing a report in Ms Access
In a report, you can limit what you print only by selecting a range of pages.
1. Click File and then click Print.
2. On the Print area of the File options, click the Print option to open the Print dialog box.
3. To print only some of the data in the report, under Print Range, click Pages, and then enter
a value in the From and the To boxes.
For example, to print just page 5 of a report, type 5 in both the From and the To boxes.
If you own the necessary permissions to change the design of a report, you can make additional
changes to the way that your report prints by changing the print layout in the Page Setup dialog
box (click Setup to display the Page Setup dialog box).

ii. Describe the procedure of Printing a Table Relationships window


You can create a report that displays the relationships in your database as they appear in the
Relationships window. This report has the default name Relationships for database name. By
default, the report's header contains the name and the date that you created the report.
1. Open the Access database that has relationships you want to print.
2. On the Database Tools tab click Relationships.
3. On the Design tab, in the Tools group, click Relationship Report.
(A report that depicts the Relationships window opens in Print Preview mode.)

501
4. To make any adjustments to the way your report will print, use commands on the Print
Preview tab.
5. On the Print Preview tab, in the Print group, click Print.
Print the design characteristics of database objects

502
CHAPTER 6: COMPUTER PROGRAM DEVELOPMENT

Unit of learning code: ICT/CU/IT/CR/5/6

Related Unit of Competency in Occupational Standard: Develop A Computer Program

6.1 Introduction to the unit of learning


This unit specifies competencies required to develop computer program. It involves identifying
of programming concepts and approaches, identifying program development methodologies,
identifying program design, identifying of programming languages, performing of basic
structured programming, and performing basic internet programming.

6.2 Summary of Learning Outcomes


1. Identify Programming concepts and approaches.

2. Identify program development methodologies.

3. Identify Program design

4. Identify computer programming languages.

5. Perform Basic structured Programming using C language.

6. Perform Basic Internet programming

6.2.1 Learning Outcome 1: Identify Programming concepts and approaches.

6.2.1.1 Introduction to the Learning Outcome


This learning outcome specifies the content of competencies required to develop a computer
program. It entails the definition of various programming concepts i.e., program and programming,
types of a Language translator, and types of programming approaches.
6.2.1.2 Performance Standard
6.2.1.2.1 Identification of program and programming is done.
6.2.1.2.2 Language translators are identified.
6.2.1.2.3 Description of programming approaches is done.
503
6.2.1.3 Information Sheet
Programming concepts

Program-A computer program is a set of coded instructions given to the computer and represents
a logical solution to a problem. It directs a computer in performing various operations/tasks on the
data supplied to it.
Computer programs may be written by the hardware manufacturers, Software houses, or a
programmer to solve user problems on the computer.
Programming is the process of designing a set of instructions (computer programs) that can be
used to perform a particular task or solve a specific problem.
It involves the use of special characters, signs, and symbols found in a particular programming
language to create computer instructions.
The programming process is quite extensive. It includes analyzing an application, designing a
solution, coding for the processor, testing to produce an operating program, and developing other
procedures to make the system function.
The program created must specify in detail the logical steps to be taken & the method of processing
the data input into the computer to carry out the specified task.
A computer program performs the following:

 Accepts data from outside the computer as its input.


 Carries out a set of processes on the data within the computer memory.
 Presents the results of this processing as its output, and
 Stores the data for future use.

Source program (source code)-Refers to the program statements that the programmer enters in
the program editor window, and which have not yet been translated into machine-readable form.
Source code is the code understood by the programmer and is usually written in a high-level
language or Assembly language.

504
Object code (object program)- Refers to the program code that is in machine-readable (binary)
form.

Object code is the code the computer can understand and is produced by a Compiler or
Assembler after translating the Source program into a form that can be readily loaded into the
computer.

Language translators

A computer uses & stores information in binary form, and therefore, it cannot understand
programs written in either high-level or assembly languages. This means that any program
code written in Assembly language or high-level language must be translated into Machine
language before the computer can recognize & run these programs.
A Translator is special system software used to convert the Source codes (program
statements written in any of the computer programming languages) to their Object codes
(computer language equivalents).
The Translators reside in the main memory of the computer, and use the program code of
the high-level or Assembly language as input data, change the codes, and gives the output
program in machine-readable code.
Also, translators check for & identify some types of errors that may be present in the
program being translated, e.g., Syntax/grammatical errors. They will produce error
messages if there is a mistake in the code.
Types of language translators
i. Assembler
An Assembler translates programs written in Assembly language into machine
language that the computer can understand and execute.
Functions of an Assembler.
 It checks whether the instructions are written are valid, and identifies any
errors in the program.

505
The Assembler will display these errors as well as the complete source and object
programs. If the program has no errors, the job control will let it run immediately,
or save the object program so that it may run it later without translating it again.
 It assigns memory locations to the names the programmer uses.

E.g., the Assembler keeps a table of these names so that if an instruction refers to
it, the Assembler can easily tell the location to which it was assigned.
 It generates the machine code equivalent to the Assembly instructions.

Usually, the Assembler generates a machine code only when no errors are detected.
Some of the errors include;
- Typing mistakes.
- Using the wrong format for instruction.
- Specifying a memory location outside the range 0 – 2047.
ii. Interpreter
 An interpreter is a common kind of language processor. Instead of
producing the target program as a translation, an interpreter appears to
directly execute the operations specified in the source program on inputs
supplied by the user.
 In contrast, an interpreter reads a statement from the input, converts it to an
intermediate code, executes it, then takes the next statement in sequence.
 If an error occurs, an interpreter stops execution and reports it.

iii. Compiler
A compiler translates the entire/whole source program into object code at once and
then executes it in machine language code. These machine code instructions can
then be run on the computer to perform the particular task as specified in the high-
level program.

506
Figure 176
compiler

The process of translating a program written in a high-level source language into machine
language using a compiler is called Compilation.
For a given machine, each language requires its Compiler. E.g., for a computer to be able
to translate a program written in FORTRAN into machine language; the program must pass
through the FORTRAN compiler (which must ‘know’ FORTRAN as well as the Machine
language of the computer).
Functions of a compiler.
A Compiler performs the following tasks during the compilation process:
 It identifies the proper order of processing, to execute the process as fast as possible
& minimize the storage space required in memory.

 It allocates space in memory for the storage locations defined in the program to be
executed.

 It reads each line of the source program & converts it into machine language.

 It checks for Syntax errors in a program (i.e., statements which do not conform to
the grammatical rules of the language). If there are no syntax errors, it generates
machine code equivalent to the given program.

507
 It combines the program (machine) code generated with the appropriate
subroutines from the library.
 It produces a listing of the program, indicating errors if any.

i. Linker
The linker is a computer program that links and merges various object files to make an
executable file. All these files might have been compiled by the separate assembler.

The major task of a linker is to search and locate referenced module/routines in a


program and to determine the memory location where these codes will be loaded
making the program instruction have an absolute reference.

ii. Loader

The loader is a part of the operating system and is responsible for loading executable
files into memory and execute them.

It calculates the size of a program (instructions and data) and creates memory space for
it. It initializes various registers to initiate execution.

Programming approaches

 Procedural
 Event-driven
 Object-oriented
 Internet-based
i. Procedural Programming

Problem is broken down into procedures, or blocks of code that perform one task each. All
procedures taken together form the whole program. It is suitable only for small programs that
have a low level of complexity.

Example − For a calculator program that does addition, subtraction, multiplication, division,
square root and comparison, each of these operations can be developed as separate procedures.
In the main program, each procedure would be invoked based on the user’s choice.

508
ii. Object-oriented Programming

Here the solution revolves around entities or objects that are part of the problem. The solution
deals with how to store data related to the entities, how the entities behave and how they interact
with each other to give a cohesive solution.

Example − If we have to develop a payroll management system, we will have entities like
employees, salary structure, leave rules, etc. around which the solution must be built.

i. Event-Driven programming

Event-driven programming depends upon an event loop that is always listening for the new
incoming events. The working of event-driven programming is dependent upon events. Once
event loops, then events decide what to execute and in what order. –

Figure 177 Event-driven programming

ii. Internet-based programming

The internet-based programming approach is also called web programming. web programming is
a set of web site development activities in WWW (World Wide Web) based on the public network

509
Internet. In the simplest case, each web site includes static web pages, but usually is an aggregation
of static and dynamic web pages. The later ones link under certain rules data sources (structured
and non-structured DB) and program codes (scripts), realizing some functionality. This
combination of web pages, scripts, and DB is called a web application. The web applications are
distributed (on one or more servers), working under HTTP, and available by a browser or non-
browser client application serving as a network interface. In detail, web programming refers to
writing, markup, and coding, involved in Web site building (known as web development), which
includes web content, web client and server scripting, and network security.

6.2.1.4 Learning Activities


Practical exercise

ABC organization has recently employed you as a program developer expert. In preparation to
develop a program to run some operations in the company, the manager in consultation with other
ICT experts has requested you to lead a team in coming up with a detailed presentation on some
of the existing programming approaches that can be utilized.
Special instructions;
a. Using your computer, make a detailed PowerPoint presentation on the following
programming approaches
i. Procedural
ii. Event-driven
iii. Object-oriented
iv. Internet-based
b. Burn your presentation in a CD to be submitted to when required.

6.2.1.5 Self-Assessment
1. What is the meaning of the following terms:
i. Computer program.
ii. Programming.
iii. Programming language.
2. Regarding programming, distinguish between Source program and Object code.

510
3. What are the function(s) of Assemblers, Interpreters, and Compilers in a computer
system?
4. What is the difference between a Compiler and an Interpreter?

6.2.1.6 Tools, Equipment, Supplies, and Materials


 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 Software
 Digital instructional material including DVDs and CDs

6.2.1.7 References
Blignaut, A. S., Hinostroza, J. E., Els, C. J., & Brun, M. (2010). ICT in education policy
and practice in developing countries: South Africa and Chile compared through SITES
2006. Computers & Education, 55(4), 1552–1563.

Computer Hardware. (n.d.). Retrieved September 30, 2020, from


https://web.stanford.edu/class/cs101/hardware-.

KIRIHATA, Y. (2009). Information processing apparatus and method, computer-readable


recording medium, and an external storage medium (United States Patent No.
US20090241114A1).

Lehmann, S., & Schweitzer, B. (2006). Apparatus, system, and method for creating
customized workflow documentation (United States Patent No. US20060059423A1).

Nagar, T. (2019, December 3). What is software and types of software with examples?
YourStory.Com. https://yourstory.com/mystory/what-software-types-examples

511
6.2.1.8 Model answers to self-assessment

1. What is the meaning of the following terms?


i. Computer program- it is a set of coded instructions given to the computer and
represents a logical solution to a problem. It directs a computer in performing
various operations/tasks on the data supplied to it.
ii. Programming- is the process of designing a set of instructions (computer
programs) that can be used to perform a particular task or solve a specific
problem. It involves the use of special characters, signs, and symbols found in
a particular programming language to create computer instructions.
iii. Programming language- is a set of symbols (a language) that a computer
programmer uses to solve a given problem using a computer.
2. Concerning programming, distinguish between Source program and Object code.
- A source program refers to the program statements that the programmer enters in
the program editor window, and which have not yet been translated into machine-
readable form while an object code refers to the program code that is in machine-
readable (binary) form.
3. What is the function(s) of Assemblers, Interpreters, and Compilers in a computer
system?
Functions of assembler
 It checks whether the instructions are written are valid, and identifies any errors in
the program.
 It assigns memory locations to the names the programmer uses.
 It generates the machine code equivalent to the Assembly instructions.
Functions of interpreter
 It reads a statement from the input, converts it to an intermediate code, executes it,
then takes the next statement in sequence.
 If an error occurs, an interpreter stops execution and reports it.

512
Functions of a compiler

 It identifies the proper order of processing, to execute the process as fast as possible
& minimize the storage space required in memory.
 It allocates space in memory for the storage locations defined in the program to be
executed.
 It reads each line of the source program & converts it into machine language.
 It checks for Syntax errors in a program (i.e., statements which do not conform to
the grammatical rules of the language). If there are no syntax errors, it generates
machine code equivalent to the given program.
 It combines the program (machine) code generated with the appropriate
subroutines from the library.
 It produces a listing of the program, indicating errors if any.

4. What is the difference between a Compiler and an Interpreter in programming?


-Interpreter translates just one statement of the program at a time into machine
code. Compiler scans the entire program and translates the whole of it into machine
code at once. An interpreter takes very less time to analyze the source code

513
6.2.2 Learning Outcome 2: Identify Program Development Methodologies
6.2.2.1 Introduction to the learning outcome
This learning outcome specifies the content of competencies required to develop a computer
program. It entails the description of program specifications, program development cycle, various
types of development methodologies and Styles of programming.
6.2.2.2 Performance Standard
6.2.2.2.1 Description of program specifications is done.
6.2.2.2.2 Application of the program development cycle is done.
6.2.2.2.3 Types of development methodologies are identified.
6.2.2.2.4 Styles of programming are identified.

6.2.2.3 Information Sheet

Description of Program specifications

Program specification is the first step in developing a computer program.

 Program specification is also called program definition or program analysis.


 It requires the programmer to follow five specific tasks:
a. Specifying program objectives
b. Specifying desired output
c. Determining the required input
d. Defining processing requirements
e. Documentation specification

Task 1 - specify objectives, What are program objectives?

 Program objectives are the problems you are trying to solve.


 A clear statement should be written about the problem that needs a solution.
 This task defines the problem.

514
Task 2 - specify output, How do you determine the desired output?

 It is always best to specify outputs before inputs.


a. You need to know what you want to get out of the computer.
b. Then you can determine what will go into the computer.
 Sketch or write how the output will look when it is done.

Task 3 - input data - How do you determine the required input?

 The source and type of data must be known.


 The input must supply the program with data to produce the correct output.

Task 4 - processing requirements - How do you determine processing requirements?

 Processing that must take place to convert input data into output information must correspond
with the problem definition determined in task 1.
 A step-by-step logical algorithm must be determined to process the input data to output
information.

Tasks 5- program specifications document - What is included?

 Document the program objectives, desired outputs, needed inputs, and required processing.
 After these items are documented, then step 2, program design can commence.

Program development methodologies

Types of development methodologies

 Agile
 Crystal
 Rapid Application Development
 Agile

515
AGILE methodology is a practice that promotes continuous iteration of development and testing
throughout the software development lifecycle of the project. In the Agile model, both
development and testing activities are concurrent, unlike the Waterfall model.

Click on the link below for further readings

https://youtu.be/rvTejAg_fbY

 Crystal method

Crystal family is a collection of agile software development methodologies that can be used for
different software projects depending upon size, complexity, criticality, and the number of people
involved. It was developed by Alistair Cockburn in early 1990 while working at IBM. He
interviewed different teams working on different projects to find the best practices followed by
teams. He found that these teams did not follow the formal methodologies or not using specific
technology for delivering successful software. However, they communicated frequently to discuss
the project. On the other hand, delayed or failed project teams tried to follow formal methods with
little team collaboration. This helped him to conclude that frequent communication among team
members can improve the software success rate. According to Cockburn’s philosophy “To the
extent that you can replace the written documentation with face to face interaction, you can reduce
the reliance on written ‘promissory’ notes and improve the likelihood of delivering the system.
Crystal methods focus on people and communication among people rather than a process to
frequently deliver working software.

 Rapid Application Development

The rapid Application Development model is based on prototyping and iterative development with
no specific planning involved. It focuses on gathering customer requirements through workshops
or focus groups, early testing of the prototypes by the customer using the iterative concept, reuse
of the existing prototypes (components), continuous integration, and rapid delivery.

Program Development Life Cycle

516
-The program development life cycle is a set of steps or phases that are used to develop a program
in any programming language. Generally, the program development life cycle contains 7 phases,
they are as follows

i. Problem Definition
ii. Program Design
iii. Coding
iv. Debugging
v. Testing
vi. Documentation
vii. Maintenance

1. Problem Definition

2. Program Design

3. Coding

4. Debugging

5. Testing

6. Documentation

7. Maintenance

Figure 178 program development life cycle(PDLC)

i. Problem Definition:

517
 The first step in the process of program development is the thorough understanding and
identification of the problem for which is the program or software is to be developed.
 In this step, the problem has to be defined formally.
 All the factors like Input/output, processing requirement, memory requirements, error
handling, interfacing with other programs have to be taken into consideration in this stage.

ii. Program Design:

 The next stage is the program design. The software developer makes use of tools like
algorithms and flowcharts to develop the design of the program.
o Algorithm
o Flowchart

iii. Coding:

 Once the design process is complete, the actual computer program is written, i.e. the
instructions are written in a computer language.
 Coding is generally a very small part of the entire program development process and also
a less time-consuming activity in reality.
 In this process all the syntax errors i.e. errors related to spelling, missing commas,
undefined labels etc. are eliminated.
 For effective coding some of the guidelines which are applied are :
o Use of meaningful names and labels of variables,
o Simple and clear expressions,
o Modularity with emphasis on making modules generalized,
o Making use of comments and indenting the code properly,
o Avoiding jumps in the program to transfer control.

iv. Debugging:

 At this stage, the errors in the programs are detected and corrected.
 This stage of program development is an important process. Debugging is also known as
program validation.

518
 Some common errors which might occur in the programs include:
o Un initialization of variables.
o Reversing of an order of operands.
o Confusion of numbers and characters.
o Inverting of conditions eg jumping on zero instead of on not zero.

v. Testing:

 The program is tested on several suitable test cases.


 A test plan of the program has to be done at the stage of the program design itself.
 This ensures a thorough understanding of the specifications.
 The most trivial and most special cases should be identified and tested.
 It is always useful to include the maximum and minimum values of all variables as test
data.

vi. Documentation:

 Documentation is a very essential step in program development.


 Documentation helps the users and the people who maintain the software.

This ensures that future modifications if required can be done easily. Also, it is required during
redesigning and maintenance.

vii. Maintenance:

 Updating and correction of the program for changed conditions and field experience are
accounted for in maintenance.
 Maintenance becomes essential in the following situations:
o Change in the specification,
o Change in equipment,
o Errors are found during the actual execution of the program.

Styles of programing

519
Types of styles programing

 Functional Programming
 Object-Oriented Programming
 Modular programming

Functional Programming

Here the problem, or the desired solution, is broken down into functional units. Each unit
performs its task and is self-sufficient. These units are then stitched together to form the
complete solution.

Example − A payroll processing can have functional units like employee data maintenance,
basic salary calculation, gross salary calculation, leave processing, loan repayment processing,
etc.

Object-Oriented Programming

Here the solution revolves around entities or objects that are part of the problem. The solution
deals with how to store data related to the entities, how the entities behave, and how they
interact with each other to give a cohesive solution.

Example − If we have to develop a payroll management system, we will have entities like
employees, salary structure, leave rules, etc. around which the solution must be built.

Modular progrmming

Modular programming is a software design technique that emphasizes separating the


functionality of a program into independent, interchangeable modules, such that each contains
everything necessary to execute only one aspect of the desired functionality.

6.2.2.4 Learning Activity


Practical activity

special instructions

Using your computer, develop a detailed document to be used by a newly employed person
in your organization capturing the step by step process of Program Development Life Cycle
520
6.2.2.5 Self-Assessment
-You are provided with the following questions for self -assessment, attempt them and check your
responses

1. What is PDLC?
2. Which are the Three major program development approaches used in PDLC?
3. What is the difference between Functional programming and Modular Programming?
4. Why is the Design phase important in Program Development Life Cycle?
5. Which are the five common errors that can occur in a program during program
development?

6.2.2.6 Tools, Equipment, Supplies, and Materials


 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 Software
 Digital instructional material including DVDs and CDs
6.2.2.7 References
Blignaut, A. S., Hinostroza, J. E., Els, C. J., & Brun, M. (2010). ICT in education policy and
practice in developing countries: South Africa and Chile compared through SITES 2006.
Computers & Education, 55(4), 1552–1563.

Computer Hardware. (n.d.). Retrieved September 30, 2020, from


https://web.stanford.edu/class/cs101/hardware-

521
KIRIHATA, Y. (2009). Information processing apparatus and method, computer-readable
recording medium, and an external storage medium (United States Patent No.
US20090241114A1).

Lehmann, S., & Schweitzer, B. (2006). Apparatus, system, and method for creating
customized workflow documentation (United States Patent No. US20060059423A1).

Nagar, T. (2019, December 3). What is software and types of software with
examples? YourStory.Com. https://yourstory.com/mystory/what-software-types-
examples

6.2.2.7 Model answers to self-assessment

1. What is PDLC?
-PDLC is an abbreviation of Program Development Life Cycle. It is a set of steps or phases
that are used to develop a program in any programming language.
2. Which are the Three major program development approaches used in PDLC
i. Agile
ii. Crystal method
iii. Rapid Application Development
3. What is the difference between Functional programming and Modular Programming
-In functional programming, the problem is broken down into functional units where each
unit performs its task and is self-sufficient. These units are then stitched together to form
the complete solution while in modular programming the functionality of a program is
separated into independent, interchangeable modules, such that each contains everything
necessary to execute only one aspect of the desired functionality.

4. Why is the Design phase important in Program Development Life Cycle?


-The requirements are specified in the form of a document. It is then converted into a
logical structure that needs to be implemented in a specific programming language.
-The design phase is also helpful for specifying hardware & system requirements. It also
allows defining complete system architecture. The output is designed to document that acts
as an input for all the subsequent PDLC phases.

522
5. Which Five common errors that can occur in a program during program development

 Un initialization of variables.
 Reversing of an order of operands.
 Confusion of numbers and characters.
 Inverting of conditions eg jumping on zero instead of on not zero.

523
6.2.3 Learning Outcome 3: Identify Program design
6.2.3.1 Introduction to the learning outcome
This learning outcome specifies the content of competencies required to design a computer
program. It entails the description of Program design, various approaches for designing a
program, and Program design tools.

6.2.3.2 Performance Standard


6.2.3.2.1 Description of Program design is done.
6.2.3.2.2 Program design approaches are identified.
6.2.3.2.3 Program design tools are identified.

6.2.3.3 Information Sheet

 Program design

The program design is the process that an organization uses to develop a program. It is most often
an iterative process involving research, consultation, initial design, testing, and redesign. A
program design is the plan of action that results from that process.

For further readings on Program design, click on the link below.

https://youtu.be/aXPIxUafbM8

 Program design approaches

 Top – Down
 Bottom-Up
 Data-Driven

524
Top-Down Design Model:
Top-down programming starts by implementing the most general modules and works
toward implementing those that provide specific functionality. In the top-down model, an
overview of the system is formulated without going into detail for any part of it. Each part of it
then refined into more details, defining it in yet more details until the entire specification is detailed
enough to validate the model. if we glance at a haul as a full, it’s going to appear not possible as a
result of it’s so complicated For example: Writing a University system program, writing a word
processor. Complicated issues may be resolved victimization high down style, conjointly referred
to as Stepwise refinement where,
1. We break the problem into parts,
2. Then break the parts into parts soon and now each of the parts will be easy to do.
 Bottom-Up Design Model:
In this design, individual parts of the system are specified in detail. The parts are linked to
form larger components, which are in turn linked until a complete system is formed.
Bottom-up programming implements the modules that provide specific functionality first
and then integrates them by implementing the more general modules
 Data-driven approach
When doing data-driven programming, one clearly distinguishes code from the data structures on
which it acts and designs both so that one can make changes to the logic of the program by editing
not the code but the data structure.
Data-driven programming is sometimes confused with object-orientation, another style in
which data organization is supposed to be central. There are at least two differences. One is that in
data-driven programming, the data is not merely the state of some object, but defines the control
flow of the program. Where the primary concern in OO is encapsulation, the primary concern in
data-driven programming is writing as little fixed code as possible. Unix has a stronger tradition
of data-driven programming than OO.
Programming data-driven style is also sometimes confused with writing state machines. It
is, in fact, possible to express the logic of a state machine as a table or data structure, but hand-
coded state machines are usually rigid blocks of code that are far harder to modify than a table.
An important rule when doing any kind of code generation or data-driven programming is this:
always push problems upstream. Don't hack the generated code or any intermediate representations

525
by hand — instead, think of a way to improve or replace your translation tool. Otherwise, you're
likely to find that hand-patching bits that should have been generated correctly by the machine will
have turned into an infinite time sink.

Program Design Tools

Computers are problem-solving devices and it is an electronic programmable machine that requires
a set of instructions to perform tasks. To facilitate a computer to solve problems effectively, clear
and concise instructions must be provided to it. A programmer must provide clear instruction to
perform a task and he must have a plan to solve a particular problem using programming tools like
algorithm, flowchart, and pseudocode.

I. Algorithm

An algorithm is the stepwise logical instructions written in any human-understandable language


to solve a particular problem in a finite amount of time. It is written in simple English language.

Steps used to develop the algorithm are:

i. The problem has to be understood by the programmer.


ii. The expected output has to be identified.
iii. The logic that will produce the required output from the input has to be developed.
iv. The algorithm should be tested for accuracy for a given set of input data.
v. The steps are repeated till the desired result is produced.

Characteristics of an Algorithm

 All the instructions of the algorithm should be simple.


 The logic of each step must be clear.
 There should be a finite number of steps for solving problems.

Example of an algorithm

An algorithm for adding two-digit numbers is:

1. add the tens

526
2. add the ones
3. add the numbers from steps 1 and 2

So to add 15 and 32 using that algorithm:


1. add 10 and 30 to get 40
2. add 5 and 2 to get 7
3. add 40 and 7 to get 47

II. Flowchart

The flowchart is a pictorial representation of a stepwise solution to a problem. It helps the


programmer in developing the program logic and serves as documentation for future reference.
It uses different boxes linked by the arrows. The process of drawing a flowchart is flowcharting.
Rules for developing a flowchart.

 Analyze the input, process, storage, and output information.


 Use standard symbols and arrowhead to the direction of flow of data and instructions.
 Use simple words that can be easily understood by other programmers.
 There should be a list of activities inside each symbol.

Table 42: flowchart symbols


Symbol Name Function

Start/End An oval represents the start


or endpoint
An arrow is a connector that
Arrows shows a relationship
between representative
shapes
A parallelogram represents
Input/output input or output

527
A rectangle represents a
process process
A diamond indicates a
Decision decision

Advantages

 The flowchart helps programmers to explain the logic of a program to others easily.
 The flowchart provides documentation support.
 A flowchart helps detect and remove bugs in a program in s systematic manner.
 With the reference of the Flowchart, the programmer can write a program and correspond
to the program.

Disadvantages

 Flowcharts are time-consuming and laborious to draw with proper symbols.


 The complicated logic of a program is not easy to represent

528
Figure 179 Flowchart example

III. Pseudocode

A pseudocode is a method of documenting a program logic in which English-like statements are


used to describe the processing steps.

These are structured English-like phrases that indicate the program steps to be followed to solve a
given problem.

The term “Code” usually refers to a computer program. This implies that, some of the words used
in pseudocode may be drawn from a certain programming language and then mixed with English
to form structured statements that are easily understood by non-programmers, and also make a lot
of sense to programmers. However, pseudocodes are not executable by a computer.

529
Guidelines for designing good pseudocode.

1. The statements must be short, clear, and readable.


2. The statements must not have more than one meaning (i.e., should not be
ambiguous).
3. The pseudocode lines should be clearly outlined and indented.
4. Pseudocode must have a Begin and an end. i.e., pseudocode should show clearly
the start and stop of executable statements and the control structures.
5. The input, output & processing statements should be clearly stated using keywords
such as PRINT, READ, INPUT, etc

Decision Tables

A Decision table represents conditions and the respective actions to be taken to address
them, in a structured tabular format.

It is a powerful tool to debug and prevent errors. It helps group similar information into a
single table and then by combining tables it delivers easy and convenient decision-making.

Creating a Decision Table

To create the decision table, the developer must follow the basic four steps:

 Identify all possible conditions to be addressed.

 Determine actions for all identified conditions.

 Create Maximum possible rules.

For your further readings on Decision tables,click on the link below.

https://youtu.be/A5-w3mof-3I
6.2.3.4 Learning Activities
Practical activity
Using your computer,prepare detailed document to be used by a newly employed person in
your organization capturing the following program design tools;
i. Pseudocodes.

530
ii. Flowcharts.
iii. Decision Tables.
iv. Decision Trees
6.2.3.5 Self-Assessment
1. .What is the difference between Top-Down and Bottom-Up program design approaches?
2. What is the difference between pseudocode and flowchart program design tools
3. What are some of the disadvantages of a flowchart?
4. What are the rules of developing a flowchart
5. Write a structured algorithm that would prompt the user to enter the Length and Width of a
rectangle, calculate the Area and Perimeter, then display the result.

6.2.3.6 Tools, Equipment, Supplies and Materials


 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 Software
 Digital instructional material including DVDs and CDs
6.2.3.7 References
Blignaut, A. S., Hinostroza, J. E., Els, C. J., & Brun, M. (2010). ICT in education policy
and practice in developing countries: South Africa and Chile compared through SITES
2006. Computers & Education, 55(4), 1552–1563.

Computer Hardware. (n.d.). Retrieved September 30, 2020, from


https://web.stanford.edu/class/cs101/hardware-

531
KIRIHATA, Y. (2009). Information processing apparatus and method, computer-readable
recording medium, and an external storage medium (United States Patent No.
US20090241114A1).

Lehmann, S., & Schweitzer, B. (2006). Apparatus, system, and method for creating
customized workflow documentation (United States Patent No. US20060059423A1).

Nagar, T. (2019, December 3). What is software and types of software with examples?
YourStory.Com. https://yourstory.com/mystory/what-software-types-examples

6.2.3.8 Model answers to self assessment

1. What is the difference between Top-Down and Bottom-Up program design


approaches?
- Top-down programming starts by implementing the most general modules and works
toward implementing those that provide specific functionality while in Bottom-up
approach, individual parts of the system are specified in detail. The parts are linked to
form larger components, which are in turn linked until a complete system is formed
2. Give the difference between pseudocode and flowchart program design tools
-pseudocode is a method of documenting a program logic in which English-like
statements are used to describe the processing steps while flowchart while is a diagram
that demonstrates the logical sequence of events that must be performed to solve a
problem.
3. What are some of the disadvantages of a flowchart?
 Flowcharts are complex, clumsy & become unclear, especially when the program logic
is complex.
 If changes are to be made, the flowchart may require complete re-drawing.
 No uniform practice is followed for drawing flowcharts as it is used as an aid to the
program.
 Sometimes, it becomes difficult to establish the link between various conditions, and the
actions to be taken upon a particular condition.
 Reproduction of flowcharts is usually a problem, since the flowchart symbols cannot be
typed.

532
4. State the rules of developing a flowchart
 A flowchart must have a Start & an end.
 It should have only one entry (starting point) & one exit point (i.e., ensure that the
flowchart has a logical start and finish).
 It should be clear, neat & easy to follow.
 The logical flow should be clearly shown using arrows.
 Use the correct symbol at each stage in the flowchart.
 Make comparison instructions simple, i.e., capable of YES/NO answers.
 Avoid overlapping the lines used to show the flow of logic as this can create confusion in
the flowchart.
 The flowchart should not be open to more than one interpretation.
 Where necessary, use Connectors to reduce the number of flow lines.
 Ensure that the flowchart is logically correct & complete.

5.Write a structured algorithm that would prompt the user to enter the Length and Width
of a rectangle, calculate the Area and Perimeter, then display the result.

Step 1: Write down the Pseudocode.


START
PRINT “Enter Length and Width”
READ L, W
Area = L * W
Perimeter = 2 (L + W)
PRINT Area, Perimeter
STOP
Step 2: Design a flowchart for the program.

533
6.2.4 Learning Outcome 4: Identify Computer Programming Languages
6.2.4.1 Introduction to the learning outcome
This learning outcome specifies the content of competencies required to design a computer
program. It entails information on generations of programming languages, factors for choosing
a programming language and basic tools for program development.

6.2.4.2 Performance Standard


6.2.4.2.1 Generations of programming languages are Identified.
6.2.4.2.2 Factors for choosing a programming language are determined.
6.2.4.2.3 Basic tools for program development are identified.

6.2.4.3 Information Sheet

 Programming Languages

A programming language is a set of words, symbols, and codes that enables a programmer to
communicate a solution algorithm to the computer. Just as humans understand a variety of spoken
languages (English, Spanish, French, and so on), computers recognize a variety of programming
languages.

Programming languages are classified into 2 major categories:

I. Low-level programming languages.


II. High-level programming languages.

Each programming language has its own grammatical (syntax) rules, which must be obeyed in

order to write valid programs, just as a natural language has its own rules for forming sentences.

I. Low-level languages

These are the basic programming languages, which can easily be understood by the computer

directly, or which require little effort to be translated into computer understandable form.

534
They include:

 Machine languages.
 Assembly languages.

Features of low-level languages

 They are machine hardware-oriented.


 They are not portable, i.e., a program written for one computer cannot be installed and used
on another computer of a different family.
 They use Mnemonic codes.
 They frequently use symbolic addresses.

Machine languages (1st Generation computer languages)

-Machine language is written using machine codes (binary digits) that consist of 0’s & 1’s.

The computer can readily understand Machine code instructions without any translation.

A programmer is required to write his program in strings of 0’s & 1’s, calculate & allocate the

core memory locations for his data and/or instructions.

Assembly language (2nd Generation computer languages).

Assembly languages were developed to speed up programming (i.e., to overcome the difficulties
of understanding and using machine languages).

The vocabulary of Assembly languages is close to that of machine language, and its instructions
are symbolic representations of the machine language instructions.

 Assembly language programs are easier to understand, use & modify compared to
Machine language programs.

 Assembly language programs have fewer error chances.

535
To write program statements in Assembly language, the programmer uses a set of predefined
symbols (operation codes) called Mnemonic codes.

Advantages of Low-level languages

 The CPU can easily understand machine language without translation.


 They have closer control over the hardware, are highly efficient & allow direct control of
each operation.
 They are therefore suitable for writing Operating system software & Game programs,
which require fast & efficient use of the CPU time.
 The program instructions can be executed by the hardware (processor) much faster. This is
because; complex instructions are already broken down into smaller simpler ones.
 They require less memory space.
 They are stable, i.e., they do not crash once written.

Disadvantages of Low-level languages

 Very few computer programs are written in a machine or Assembly language because of
the following reasons;
 Low-level languages are difficult to learn, understand, and write programs in them.
 Low-level language programs are difficult to debug (remove errors from).
 The programs are very long; hence, writing a program in a low-level language is usually
tedious & time-consuming.
 The programs are difficult to develop, maintain, and are also prone to errors (i.e., it requires
highly trained experts to develop and maintain the programs).
 Low-level languages are machine-dependent (specific), hence non-portable. This implies
that they are designed for a specific machine & specific processor, and therefore, cannot
be transferred between machines with different hardware specifications.

II. High-level programming languages

High-level languages were developed to solve (overcome) the problems encountered in


low-level programming languages.

536
The grammar of High-level languages is very close to the vocabulary of the natural
languages used by human beings. Hence; they can be read and understood easily even by
people who are not experts in programming.

Most high-level languages are general-purpose & problem-oriented. They allow the
programmer to concentrate on the functional details of a program rather than the details of
the hardware on which the program will run.

High-level language programs are machine-independent, (i.e., they do not depend on a


particular machine, and can run in any family of computers provided the relevant translator
software is installed).

Advantages of High-Level Languages:

 It is close to the human being


 It is easy to understand
 It consists of an English language like structure
 It does not depend upon the machine
 It is easy to modify
The programs written in high-level languages is called source code Example of high-
level languages are BASIC, PASCAL, C/C++, etc.

Disadvantages of High-level languages.

 High-level languages are not machine-oriented; hence, they do not use the CPU and
hardware facilities efficiently.
 The languages are machine-independent and cannot be used in programming the
hardware directly.
 Each high-level language statement converts into several machine code
instructions. This
means that, they use more storage space, and it also takes more time to run the
program.

537
 Their program statements are too general; hence, they execute slowly than their
machine code program equivalents.
 They have to be interpreted or compiled to machine-readable form before the
computer can execute them.
 The languages cannot be used on very small computers.
 The source program written in a high-level language needs a Compiler, which is
loaded into the main memory of the computer, and thus occupies much of memory
space. This greatly reduces the memory available for a source program.

III. Fourth-generation languages (4gl’s).


4GLs make programming even easier than the 3GLs because; they present the programmer
with more programming tools, such as command buttons, forms, text boxes, etc. The
programmer simply selects graphical objects called controls on the screen and then uses
them to create designs on a form by dragging a mouse pointer.
The languages also use application generators (which are in the background) to generate
the necessary program codes; hence, the programmer is freed from the tedious work of
writing the code.
-4GLs are used to enquire & access the data stored in database systems; hence, they are
described as the Query Languages such as Structured Query Languages (SQL), Report
Generators, Application Generators, Decision-support languages & Graphics languages

Examples of 4GLs are:


 Visual Basic
 Delphi Pascal
 Visual COBOL (Object COBOL)
 Access Basic

Advantages of fourth-generation languages.


 They are user-based, and therefore, easy to learn & understand.
 Their grammar is very close to the natural English language.
 They use menus & prompts to guide a non-specialist to retrieve data easily.

538
 Very little training is required to develop & use 4GL programs.
 They provide features for the formatting of input, processing, & instant reporting.

IV. Object-oriented programming Language


Object-Oriented Programming uses objects. An Object is a representation of a
software entity.
such as a user-defined window or variable.
In OOP the data & procedures that operate on data are combined into one object.
Several objects can be linked together to form a complete program.
Each object has specific data values that are unique to it called state & a set of the
things it can accomplish called functions or behavior. Therefore, programs send
messages to an object to perform a procedure that is already embedded in it. The
process of having data & functions that operate on the data within an object is called
encapsulation.
OOP is greatly applied in the development of GUI operating systems & application
programs.
OOP enables rapid program development. Every object has properties such as
colour, size, data source, etc, which can be set easily without much effort. Besides,
every object has events associated with it that can be used to trigger certain actions,
e.g. remove the window from the screen by clicking the ‘Close’ button.
Examples of Object-oriented programming languages are: -
 Simula
 C++
 Smalltalk
 Java
 Python
Click on the link below for further reading on Object-Oriented Programming.
https://youtu.be/SiBw7os-_zI

Visual Basic programming Language


Visual Basic is a programming language and development environment created by Microsoft.

539
It is an extension of the BASIC programming language that combines BASIC functions and
commands with visual controls. Visual Basic provides a graphical user interface GUI that
allows the developer to drag and drop objects into the program as well as manually write
program code.
- Visual Basic, also referred to as "VB," is designed to make software development easy and
efficient, while still being powerful enough to create advanced programs. For example, the
Visual Basic language is designed to be "human-readable," which means the source code can
be understood without requiring lots of comments. The Visual Basic program also includes
features like "IntelliSense" and "Code Snippets," which automatically generate code for visual
objects added by the programmer. Another feature, called "AutoCorrect," can debug the code
while the program is running.
-Programs created with Visual Basic can be designed to run on Windows, on the Web, within
Office applications, or on mobile devices. Visual Studio, the most comprehensive VB
development environment, or IDE can be used to create programs for all these mediums. Visual
Studio .NET provides development tools to create programs based on the .NET framework, such
as ASP.NET applications, which are often deployed on the Web.

 Factors to consider when choosing a programming language.

The following factors should be considered when choosing a Programming language to use
in solving a problem:
i. The availability of the relevant translator. Translators help in converting the Source
codes (program statements written in any of the computer programming languages) to
their Object codes (computer language equivalents).
ii. Ease of learning and use. The programming language chosen should be the one that is
easy for users to learn and use
iii. Purpose of the program, i.e., application areas such as education, business, science, etc.
iv. Execution time: - Applications that require a quick response are best programmed in
machine code or assembly language. High-level languages are not suitable for such an
application because they take longer to be translated & executed.
v. Development time: - Development time is the time a programmer takes to write and run
a program. High-level languages are easy to read, understand and develop; hence, they

540
require less development time. Machine code & Assembly languages are relatively
difficult to read, understand and develop; hence, they are time-consuming.
vi. Popularity: - The language selected should be suitable and/or successful in the market
concerning the problems to be solved.
vii. Documentation: - It should have accompanying documentation (descriptions) on how to
use the language or maintain the programs written in the language.
viii. Maintenance: - Programs are developed to solve specific problems, and the problems
keep on changing; hence, the programs are also changed to perform the new functions.
Program maintenance is the activity of incorporating more routines into the program,
modifying the existing routines, or removing the obsolete routines to make the program
adapt to a functionally enhanced environment. The maintenance is made easier if the
language used is easy to read and understand.

 Program development tools

some of the program development tools include.


 Pseudocode
 flow charts
 Data flow diagrams

Pseudocodes.
A pseudocode is a method of documenting a program logic in which English-like statements
are used to describe the processing steps.
These are structured English-like phrases that indicate the program steps to be followed to
solve a given problem.
The term “Code” usually refers to a computer program. This implies that some of the words
used in pseudocode may be drawn from a certain programming language and then mixed
with English to form structured statements that are easily understood by non-programmers,
and also make a lot of sense to programmers. However, pseudocodes are not executable by
a computer.
Guidelines for designing good pseudocode.
1. The statements must be short, clear, and readable.

541
2. The statements must not have more than one meaning (i.e., should not be ambiguous).
3. The pseudocode lines should be clearly outlined and indented.
4. A pseudocode must have a Begin and an end.
i.e., pseudocode should show clearly the start and stop of executable statements and the
control structures.
5. The input, output & processing statements should be clearly stated using keywords such
as PRINT, READ, INPUT, etc.

Flowcharts.
A Flowchart is a diagram that demonstrates the logical sequence of events that must be
performed to solve a problem.
It is a diagrammatic or pictorial representation of a program’s algorithm.
Types of Flowcharts.
There are 2 common types of Flowcharts:
1). System flowchart.
A System flowchart is a graphical model that illustrates each basic step of a data
processing system.
-It illustrates (in summary) the sequence of events in a system, showing the department
or function responsible for each event.
2). Program flowchart.
This is a diagram that describes, in sequence, all the operations required to process data
in a computer program.
-A program flowchart graphically represents the types of instructions contained in a
computer program as well as their sequence & logic.

Guidelines for drawing a program flowchart.


 A flowchart must have a Start & an end.
 It should have only one entry (starting point) & one exit point (i.e., ensure that the
flowchart has a logical start and finish).
 It should be clear, neat & easy to follow.
 The logical flow should be clearly shown using arrows.

542
 Use the correct symbol at each stage in the flowchart.
 Make comparison instructions simple, i.e., capable of YES/NO answers.
 Avoid overlapping the lines used to show the flow of logic as this can create confusion
in the flowchart.
 The flowchart should not be open to more than one interpretation.
 Where necessary, use Connectors to reduce the number of flow lines.
 . Ensure that the flowchart is logically correct & complete.

Figure 180:Example of a flow chart

543
Data flow diagrams
A data flow diagram shows the way information flows through a process or system. It
includes data inputs and outputs, data stores, and the various subprocesses the data
moves through. DFDs are built using standardized symbols and notation to describe
various entities and their relationships.

Data flow diagrams visually represent systems and processes that would be hard to
describe in a chunk of text. You can use these diagrams to map out an existing system
and make it better or to plan out a new system for implementation. Visualizing each
element makes it easy to identify inefficiencies and produce the best possible system.

6.2.4.4 Learning Activities


Practical activity

In your institution computer laboratory, perform the following;

i. You need to calculate the area of the rectangle using its length and width. Draw a
flowchart and write pseudocode that will accept the length and width and calculate
and print the area of the rectangle. (area = length * width)
ii. Net salaries of employees are paid after the calculation of their deductions and
allowances. The following rates are used for calculating these allowances and
deductions. Allowances Deductions HRA 15% of Basic SS 7% of Basic DA 10%
of Basic Levy 1% of Basic EA 5% of Basic TA 12% of Basic To calculate the
Gross salary the following formulas are used: Gross salary = Basic salary+
allowances Net salary = Gross salary - deductions Write pseudocode that will
prompt the user to enter the name and basic salary of an employee and output their
name, basic salary, allowances, deductions, gross salary and net salary with
appropriate labels.

544
6.2.4.5 Self-Assessment
You are provided with the following questions for self -assessment, attempt them
and check your responses.

a. What is a Programming language?


b. What is meant by ‘Machine language’?
c. Show the difference between Machine language and Assembly language.
d. Give two advantages & three disadvantages of Machine language
programming.
e. Give the features/characteristics of high-level programming languages.
f. List 8 factors that need to be considered when selecting a programming
language.
g. Write pseudocode that will accept 25 integers and displays the number of
positive and negative numbers.
h. Write a pseudocode algorithm that will create a conversion table to convert
degrees Celsius to degree Fahrenheit. Prompt the user to enter the
temperature in degree Celsius and display the temperature in Fahrenheit.
(Fahrenheit = 32+ (9*Celcius/5)
6.2.4.6 Tools, Equipment, Supplies, and Materials
 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 Software
 Digital instructional material including DVDs and CDs

545
6.2.4.7 References
Blignaut, A. S., Hinostroza, J. E., Els, C. J., & Brun, M. (2010). ICT in education policy
and practice in developing countries: South Africa and Chile compared through SITES
2006. Computers & Education, 55(4), 1552–1563.

Computer Hardware. (n.d.). Retrieved September 30, 2020, from


https://web.stanford.edu/class/cs101/hardware-.

KIRIHATA, Y. (2009). Information processing apparatus and method, computer-readable


recording medium, and an external storage medium (United States Patent No.
US20090241114A1).

Lehmann, S., & Schweitzer, B. (2006). Apparatus, system, and method for creating
customized workflow documentation (United States Patent No. US20060059423A1).

Nagar, T. (2019, December 3). What is software and types of software with examples?
YourStory.Com. https://yourstory.com/mystory/what-software-types-examples

6.2.4.8 Model answers to self-assessment

a. What is a Programming language?


- A programming language is a set of words, symbols, and codes that enables a
programmer to communicate a solution algorithm to the computer
b. What is meant by ‘Machine language’?
- The machine-level language is a language that consists of a set of instructions
that are in the binary form 0 or 1. As we know that computers can understand only
machine instructions, which are in binary digits, i.e., 0 and 1, so the instructions
given to the computer can be only in binary codes.
c. Show the difference between Machine language and Assembly language.

Table 43 Difference between Machine and Assembly Language


Machine-level language Assembly language

546
The machine-level language comes at the The assembly language comes above the
lowest level in the hierarchy, so it has zero machine language means that it has less
abstraction level from the hardware. abstraction level from the hardware.
It cannot be easily understood by humans. It is easy to read, write, and maintain.
The machine-level language is written in The assembly language is written in simple
binary digits, i.e., 0 and 1. English language, so it is easily
understandable by the users.
It does not require any translator as the In assembly language, the assembler is used
machine code is directly executed by the to convert the assembly code into machine
computer. code.
It is a first-generation programming It is a second-generation programming
language. language.

d. What are the features/characteristics of high-level programming languages.


 They contain statements that have an extensive vocabulary of words,
symbols, sentences & mathematical expressions, which are very similar to
the normal English language.
 Allow modularization (use of sub-routines).

 They are ‘user-friendly’ and problem-oriented rather than machine-based.


This implies that, during a programming session, the programmer
concentrates on problem-solving rather than how a machine operates.
 They require one to obey a set of rules when writing the program.
 Programs written in high-level languages are shorter than their low-level
language equivalents since one statement translates into several machine
code instructions.
 The programs are portable between different computers.

e. List 8 factors that need to be considered when selecting a programming language.

547
 The availability of the relevant translator. Translators help in converting the
Source codes (program statements written in any of the computer programming
languages) to their Object codes (computer language equivalents).
 Ease of learning and use. The programming language chosen should be the one
that is easy for users to learn and use
 Purpose of the program, i.e., application areas such as education, business,
science, etc.
 Execution time: - Applications that require a quick response are best
programmed in machine code or assembly language. High-level languages are
not suitable for such an application because they take longer to be translated &
executed.
 Development time: - Development time is the time a programmer takes to write
and run a program. High-level languages are easy to read, understand and
develop; hence, they require less development time. Machine code & Assembly
languages are relatively difficult to read, understand and develop; hence, they
are time-consuming.
 Popularity: - The language selected should be suitable and/or successful in the
market concerning the problems to be solved.
 Documentation: - It should have accompanying documentation (descriptions)
on how to use the language or maintain the programs written in the language.
 Maintenance: - Program maintenance is the activity of incorporating more
routines onto the program, modifying the existing routines, or removing the
obsolete routines to make the program adapt to a functionally enhanced
environment. The maintenance is made easier if the language used is easy to
read and understand.
f. Write pseudocode that will accept 25 integers and displays the number of positive and
negative numbers
Step 1: start
Step 2: postcount =0, negcount =0
Step 3: for i =1 to 25
Step 3: read num

548
Step 4: if num>0 then
poscount = poscount +1
else
negcount = negcount +1
endif
Step 5: end for
Step 6: write poscount,negcount

g. Write a pseudocode algorithm that will create a conversion table to convert degrees Celsius
to degree Fahrenheit. Prompt the user to enter the temperature in degree Celsius and display
the temperature in Fahrenheit. (Fahrenheit = 32+ (9*Celcius/5)
solution
Step 1: start
Step 2: write “Enter the temperature in degrees Celcius.”
Step 3: read Celsius
Step 4: Fahrenheit =32 + (9* celcius/5)
Step 5: write “The temperature in Fahrenheit is:”
Step 6: write Fahrenheit
Step 7: stop

549
6.2.5 Learning Outcome 5: Perform Basic Structured programming using C language.
6.2.5.1 Introduction to the learning outcome
This learning outcome specifies the content of competencies required to design a computer
program. It entails information fundamentals of C programming, Control structures in C
programming, Subprograms of C language, C language concepts, C programming environment,
description of sub programming, C program format.

6.2.5.2 Performance Standard


6.2.5.2.1 Fundamentals of C programming are identified.
6.2.5.2.2 Control structures in C programming are identified.
6.2.5.2.3 Subprograms of C language are explained.
6.2.5.2.4 C language concepts are identified.
6.2.5.2.5 C programming environment is identified.
6.2.5.2.6 Description of sub programming
6.2.5.2.7 C program format is explained.

6.2.5.3 Information Sheet

 C Programming Language

Overview of C programming language

C is a structured programming language developed by Dennis Ritchie in 1973 at Bell


Laboratories. It is one of the most popular computer languages today because of its structure,
high-level abstraction, machine-independent feature, etc.

History of C language: -

C language has evolved from three different structured language ALGOL, BCPL, and B
Language. It uses many concepts from these languages while introduced many new concepts
such as datatypes, struct, pointer, etc. In 1988, the language was formalized by the American

550
National Standard Institute (ANSI). In 1990, a version of the C language was approved by
the International Standard Organisation (ISO) and that version of C is also referred to as
C89.

The idea behind creating C language was to create an easy language that requires a simple
compiler and enables programmers to efficiently interact with the machine/system, just like
machine instructions.

Characteristics of C language

 C is a powerful, flexible language that provides fast program execution.


 C is a Procedural Language i.e. the programmer is required to provide step-by-step

instructions for the CPU (central processing unit).

 The success of C is due to its simplicity, efficiency, flexibility and

small memory requirements.

 Low Level features: C's power and fast program execution come from its ability to

access low-level commands, similar to assembly language, but with high-level syntax.

 Portability: C programs are portable i.e. they can run on any compiler with little or no

modification. Compiler and Preprocessor make it possible for the C program to run it on

different PC.

 Bit Manipulation: C Programs can be manipulated using bits and it provides wide

variety of bit manipulation operators

 Modular Programming: It is a software design technique that increases the extent to

which software is composed of separate parts, called modules. A C-program consists of

different modules that are integrated to form a complete program.

551
 Efficient Usage of Pointers: C supports the efficient use of pointers and pointers have
direct memory access.

Structure of a C program
Preprocessor directives
Global declarations
Main()
{
Local declaration Statements
}
Function 1()
{
Local declaration statements
}
Function n()
{
Local declaration statements
}
Local declaration statements

Preprocessor directives

 Before a C program is compiled in a compiler, source code is processed by a program called


pre-processor. This process is called pre-processing.
 Commands used in pre-processor are called preprocessor directives and they begin with the
“#” symbol.

Below is the list of preprocessor directives that the C programming language offers.

552
Preprocessor Syntax/Description

MACRO

Syntax: #define
This macro defines constant value and can be any of the basic data types.

HEADER FILE Syntax: #include <file_name>


INCLUSION The source code of the file “file_name” is included in the main program at
the specified place.

CONDITIONAL Syntax: #ifdef, #endif, #if, #else, #ifndef


COMPILATION Set of commands are included or excluded in the source program before
compilation concerning the condition.

OTHER DIRECTIVES Syntax: #undef, #pragma


#undef is used to undefine a defined macro variable. #Pragma is used to
call a function before and after the main function in a C program.

Example

#include<stdio.h>
#include<conio.h>
int add (int a, int b);
void main()
{
...…...........
}

553
i. #include<file>variant used for system header files.(searches for a file named file in a list of
directives.
ii. #include –used to paste code of a given file into the current one.
iii. #define macros –a segment of code used to replace the value of a macro.
iv. #undef –used to cancel the definition of a macro.
v. #ifndef-checks if a macro is not defined.
vi. #define const –used to define a constant
vii. #include<math.h> -a preprocessor directive used to add math libraries to a program.

Input and output statements

Input

-The process of giving something to the computer is known as input. Input is mostly given through
the keyboard. Input functions are:

 Scanf ()
 Gets ()
 Getch ()
 Getche ()

Output
The process of getting something from the computer is known as output. The output is mostly
displayed on monitors. Output functions are:

 print ()
 puts()

The functions used for input and output are stored in the header file stdio. h. If the programmer
uses any of the above function it is necessary to include the header file.

C keywords

They are reserved words with predefine meaning to the compiler. They include:

554
Table 44 C keywords
auto double int struct

break else long switch

case enum register typedef

const extern return union

char float short unsigned

continue for signed volatile

default goto size void

do if static while

Variables

 When we want to store any information(data) on our computer/laptop, we store it in the


computer's memory space.

 Instead of remembering the complex address of that memory space where we have stored our
data, our operating system provides us with an option to create folders, name them, so that it
becomes easier for us to find it and access it.

 Similarly, in C language, when we want to use some data value in our program, we can store
it in a memory space and name the memory space so that it becomes easier to access it.

 The naming of an address is known as a variable. Variable is the name of a memory location.

 Unlike constant, variables are changeable, we can change the value of a variable during
execution of a program. A programmer can choose a meaningful variable name.

555
 Example: Height, age, are the meaningful variables that represent the purpose it is being used
for. Height variable can be used to store a height value. Age variable can be used to store the
age of a person

Rules to name a Variable

1. Variable name must not start with a digit.


2. The variable name can consist of alphabets, digits, and special symbols like underscore _.
3. Blank or spaces are not allowed in a variable name.
4. Keywords are not allowed as a variable name.
5. Upper- and lower-case names are treated as different, as C is case-sensitive, so it is
suggested to keep the variable names in lower case

Datatype of Variable

Data types specify how we enter data into our programs and what type of data we enter. C language
has some predefined set of data types to handle various kinds of data that we can use in our
program. These data types have different storage capacities.

There are four data types in the C language. They are, It can be:

Table 45 C datatypes

Types Data Types

Basic data types int, char, float, double

Enumeration data type enum

Derived data type


pointer, array, structure, union

Void data type void

Integer data type:

556
 Integer data type allows a variable to store numeric values.
 The “int” keyword is used to refer to an integer data type.
 The storage size of the int data type is 2 or 4 or 8 bytes.
 It varies depending upon the processor in the CPU that we use. If we are using a 16-bit
processor, 2 bytes (16 bit) of memory will be allocated for the int data type.
 Likewise, 4 byte (32 bit) of memory for 32 bit processor and 8 byte (64 bit) of memory for
64 bit processor is allocated for int datatype.
 int (2 byte) can store values from -32,768 to +32,767
 int (4 byte) can store values from -2,147,483,648 to +2,147,483,647.

If you want to use the integer value that crosses the above limit, you can go for “long int” and
“long int” for which the limits are very high.

Character data type:

Character data type allows a variable to store only one character.

Storage size of character data type is 1. We can store only one character using a character data
type.

“char” keyword is used to refer to a character data type.

For example, ‘A’ can be stored using char datatype. You can’t store more than one character using
a char data type.

Please refer C – Strings topic to know how to store more than one characters in a variable.

Floating point data type:

Floating point data type consists of 2 types. They are,

1. float
2. double

Float:

 Float data type allows a variable to store decimal values.

557
 Storage size of float data type is 4. This also varies depending upon the processor in the CPU
as “int” data type.
 We can use up to 6 digits after decimal using float data type.
 For example, 10.456789 can be stored in a variable using a float data type.

Double:

 A double data type is also the same as float data type which allows up to 10 digits after the
decimal.
 The range for double datatype is from 1E–37 to 1E+37.

C operators and expressions

-An operator is used to describe an operation applied to one or several objects.

i. Arithmetic Operators
ii. Increment and Decrement Operators
iii. Assignment Operators
iv. Relational Operators
v. Logical Operators
vi. Conditional operators
vii. Bitwise Operators
viii. Special Operators
Arithmetic Operators

Operator Meaning of Operator

+ Addition or unary plus

- Subtraction or unary minus

* Multiplication

/ Division

558
% Remainder after division (modulo division)

Increment and Decrement Operators:

Operator Meaning of Operator

++ Increment operator (unary)

a++; //post increment

++ a; //pre increment

-- Decrement operator (unary)

a--; //post decrement

--a; //pre decrement

Assignment Operators:

There are two types of assignment operators.

1. Simple Assignment

2. Compound Assignment

Operator Meaning of Operator

Simple Assignment

= Assignment Operator

e.g. x=5

5 is assigned to x

Compound Assignment

+= a += b is equivalent to a = a + b

-= a -= b is equivalent to a = a - b

559
*= a *= b is equivalent to a = a * b

/= a /= b is equivalent to a = a / b

%= a %= b is equivalent to a = a % b

&= a &= b is equivalent to a = a & b

|= a |= b is equivalent to a = a | b

^= a ^= b is equivalent to a = a ^ b

<<= a <<= b is equivalent to a = a << b

>>= a >>= b is equivalent to a = a >> b

Relational Operators:

Relational Operators are used to check the relationship between two operands. If
the relation is

true, it returns value 1 and if the relation is false, it returns value 0. Relational
operators are used

in decision making and loops in C programming.

Operator Meaning of Operator

== Equal to

e.g. 5 == 3 returns false or 0

> Greater than

e.g. 5 > 3 returns true or 1

< Less than

e.g. 5 < 3 returns fase or 0

!= Not equal to

560
5 != 3 returns true or 1

>= Greater than or equal to

e.g. 5 >= 3 returns true or 1

<= Less than or equal to

e.g. 5 <= 3 returns false or 0

Logical Operators:

Logical operators are used to combining expressions containing relation operators.


In C, there are 3

logical operators:

Operator Meaning of Operator

&& Logical AND

e.g. if c=5 and d=2 then

((c == 5) && (d > 5)) returns false or


0

|| Logical OR

e.g. if c=5 and d=2 then

((c == 5) || (d > 5)) returns true or 1

! Logical NOT

e.g. if c=5 then

!(c == 5) returns false or 0

Conditional Operator:

561
The conditional operator takes three operands and consists of two symbols? and.
Conditional

operators are used for decision making in C.

For example: c = (c > 0) ? 10 : 20;

If c is greater than 0, the value of c will be 10 but, if c is less than 0, the value of c
will be 20.

Bitwise Operators:

A bitwise operator works on each bit of data.

Operator Meaning of Operator

& Bitwise AND

| Bitwise OR

^ Bitwise Exclusive OR

<< Shift Left

>> Shift Right

~ Bitwise Complement (One’s Complement)

C expressions

562
An expression is a formula in which operands are linked to each other by the use of
operators to compute a value. An operand can be a function reference, a variable, an array
element, or a constant.

Figure 181: C expressions

Types of C Expressions

Arithmetic Expressions

An arithmetic expression is an expression that consists of operands and arithmetic


operators. An arithmetic expression computes a value of type int, float or double.

When an expression contains only integral operands, then it is known as pure integer
expression when it contains only real operands, it is known as pure real expression, and
when it contains both integral and real operands, it is known as mixed-mode expression

Example

6*2/ (2+1 * 2/3 + 6) + 8 * (8/4)

Evaluation of Description of each operation


expression

6*2/( 2+1 * 2/3 +6) An expression is given.


+8 * (8/4)

563
6*2/(2+2/3 + 6) + 8 2 is multiplied by 1, giving value 2.
* (8/4)

6*2/(2+0+6) + 8 * 2 is divided by 3, giving value 0.


(8/4)

6*2/ 8+ 8 * (8/4) 2 is added to 6, giving value 8.

6*2/8 + 8 * 2 8 is divided by 4, giving value 2.

12/8 +8 * 2 6 is multiplied by 2, giving the value 12.

1+8*2 12 is divided by 8, giving value 1.

Relational Expressions

o A relational expression is an expression used to compare two operands.

o It is a condition that is used to decide whether the action should be taken or not.
o In relational expressions, a numeric value cannot be compared with the string value.
o The result of the relational expression can be either zero or non-zero value. Here, the zero
value is equivalent to a false, and the non-zero value is equivalent to a true.

Relational Description
Expression
x%2 = = 0 This condition is used to check whether the x is an even number or not. The
relational expression results in value 1 if x is an even number otherwise results
in value 0.
a!=b It is used to check whether a is not equal to b. This relational expression results
in 1 if a is not equal to b otherwise 0.
a+b = = x+y It is used to check whether the expression "a+b" is equal to the expression "x+y".
a>=9 It is used to check whether the value of a is greater than or equal to 9.
Logical Expressions

o A logical expression is an expression that computes either zero or non-zero value.


o It is a complex test condition to take a decision.

564
Let's see some examples of logical expressions.

Logical Description
Expressions

( x > 4 ) && It is a test condition to check whether the x is greater than 4 and x is less
(x<6) than 6. The result of the condition is true only when both conditions are
true.

x > 10 || y It is a test condition used to check whether x is greater than 10 or y is less


<11 than 11. The result of the test condition is true if either of the conditions
holds value.

! ( x > 10 ) It is a test condition used to check whether x is not greater than 10 and y is
&& ( y = = equal to 2. The result of the condition is true if both conditions are true.
2)

Conditional Expressions

o A conditional expression is an expression that returns 1 if the condition is true otherwise 0.


o A conditional operator is also known as a ternary operator.

The Syntax of Conditional operator

Suppose exp1, exp2 and exp3 are three expressions.

exp1 ? exp2 : ex

Control structures

Control structures are blocks of statements that determine how program statements are to be

executed.

565
-Control statements deal with situations where processes are to be repeated several numbers of

times or where decisions have to be made.

There are 3 control structures used in most of the structured programming languages:

i. Sequence.
ii. Selection.
iii. Iteration (looping).

i. Sequence control structures

-In Sequence program execution, the program statements are executed one after another in the

order in which they are written. In other words, the computer reads instructions from a program
file line-by-line starting from the first line sequentially towards the end of the file.

Figure 182: Sequence control structure

ii. selection control structures

-Selection involves choosing a specified group of instructions/statements for execution.


In Selection control, a logical test is carried out, and one or more statements are usually
selected.

566
Figure 183: Selection control structure
There are 4 types of selection control structures used in most high-level programming.

languages:

a. IF – THEN
b. IF – THEN – ELSE
c. Nested IF
d. CASE – OF

IF – THEN
IF – THEN structure is used if only one option is available, i.e., it is used to perform a
certain action if the condition is true but does nothing if the condition is false.
The general format of the IF-THEN structure is:
IF < Condition > THEN
Program statement to be executed if the condition is true;
ENDIF
If the condition is TRUE, the program executes the part following the keyword ‘THEN’.
If the condition is FALSE, the statement part of the structure is ignored, and the program
continues.
with the statements below the ENDIF.
Example
In a school, the administration may decide to reward only those students who attain a mean
mark of 80% and above.

Pseudocode
IF Mark > 80 THEN
Yes Print “ Give reward”
ENDIF

IF – THEN -ELSE
The IF-THEN-ELSE structure is suitable when there are 2 available options to select from.

567
The general format of the IF-THEN-ELSE structure is:
IF < Condition > THEN
Statement 1; (called the THEN part)
ELSE
Statement 2; (called the ELSE part)
ENDIF (indicates the end of the control structure)

NESTED IF
-Nested IF structure is used where 2 or more options have to be considered to make a
selection.
The general format of the Nested IF structure is:
IF < Condition 1 > THEN
Statement 1
ELSE
IF < Condition 2 > THEN
Statement 2
ELSE

IF < Condition 3 > THEN


Statement 3
ELSE
Statement 4;
ENDIF
ENDIF
ENDIF

The CASE structures


-CASE-OF allows a particular group of statements to be chosen from several available
groups.
-It is therefore used where the response to a question involves more than two
choices/alternatives.

568
The general format of the CASE structure is:
CASE Expression OF
Label 1: statement 1
Label 2: statement 2
Label 3: statement 3
.
.
Label n: statement n
ELSE
Statement m
ENDCASE

iii. Iteration/Loop structures

-Looping refers to the repeated execution of the same sequence of statements to process

individual data.

-The program is designed to execute the same group of statements repeatedly for a specified
number of times or until a certain condition is met/satisfied.

The loop structure consists of 2 parts:

1). Loop body, which represents the statements to be repeated.

2). Loop control, which specifies the number of times the loop body is to be repeated.

Consider following the link below for further reading on Loop Structures

https://youtu.be/qUPXsPtWGoY

Subprograms

-Also called sub procedures – a group of statements that together perform a given task. They are:

569
Procedures and functions

Scope of variables –coverage /extent of a variable reference in a program.

Variable scoping can be;

 Global variables
 Local variables

Parameter passing –the parameters can be passed in two ways

 Call by value
 Call by reference

C program format

Structure of c language

The structure of the C program is as follows:

# include<stdio.h>
void main (void)
{
print (“ ”);
getch();
}

#preprocessor
This symbol directs the compiler that content on this line is already processed.

include
This directive indicates that the standard library object file has to be attached to the program.

<stdio.h>
This is a header file which contains instruction for the predefined functions of the language.

570
Standard input/output header file contains the instruction for getting and displaying data on a
screen.

Types of Header files:


Header file in angle brackets is language define ( <header file> ) and header file in double-quotes
is user define ( "header file" ).

Main Function
This directs the compiler to start the compiling from the point.

Void main (void)


The first void show we are not getting any value from the program. The second void in a
bracket called argument or parameter shows we are not giving or passing any value to the
program.

{} Delimiters
The body of the program is written in between these delimiters.

Opening brace "{" shows the start of the program.

Closing brace "}" shows the end of the program.

Body of program
Body of the program consists of statements or a set of statements. Each statement ends
with a semicolon (;) known as terminator which tells the compiler where one statement is
ended.

Printf(" ")
Printf() function is used to display content written in double-quotes on screen.

571
6.2.5.4 Learning Activities
Practical activity
Using your personal computer, perform the following activity
A class trainer designed a simple program that would help her do the following:
(a) Enter marks obtained in 4 subjects and calculate the average marks for each student.
(b) Depending on the Average mark obtained, the program should assign grade as follows:
Between 80 and 100 – A
Between 70 and 79 – B
Between 60 and 69 – C
Between 50 and 59 – D
Below 50 – E
(c) The program should then display the Average grade.
Using pseudocode and a flowchart, write an algorithm that shows the design of the program.

6.2.5.6 Self-Assessment
You are provided with the following questions for self -assessment, attempt them and
check your responses

1. What is C programming language?

2. Give five characteristics of C Programming Language

3. What do the following fundamentals mean in C programming language? Give two


examples for each

a) C keywords

b) Variables

c) C operators

d) C expressions

4. Give the difference between Sequence and Selection control structures in C programming

572
5. A lady deposits 2,000 shillings in a Microfinance company at an interest rate of
20% per annum. At the end of each year, the interest earned is added to the
deposit and the new amount becomes the deposit for that year.

Write pseudocode for a program that would track the growth of the deposits
over seven years.

6.2.5.7 Tools, Equipment, Supplies, and Materials


 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 compiler
 Digital instructional material including DVDs and CDs

6.2.5.7 References
Blignaut, A. S., Hinostroza, J. E., Els, C. J., & Brun, M. (2010). ICT in education policy and
practice in developing countries: South Africa and Chile compared through SITES 2006.
Computers & Education, 55(4), 1552–1563.

Computer Hardware. (n.d.). Retrieved September 30, 2020, from


https://web.stanford.edu/class/cs101/hardware-

KIRIHATA, Y. (2009). Information processing apparatus and method, computer-readable


recording medium, and an external storage medium (United States Patent No.
US20090241114A1).

Lehmann, S., & Schweitzer, B. (2006). Apparatus, system, and method for creating customized
workflow documentation (United States Patent No. US20060059423A1).

573
Nagar, T. (2019, December 3). What is software and types of software with examples?
YourStory.Com. https://yourstory.com/mystory/what-software-types-examples

6.2.5.8 Model answers to self -assessment

1. Give five characteristics of C Programming Language

 C is a powerful, flexible language that provides fast program execution.


 C is a Procedural Language i.e. the programmer is required to provide step-by-step
instructions for the CPU (central processing unit).
 The success of C is due to its simplicity, efficiency, flexibility and small memory
requirements.
 Low Level features: C's power and fast program execution come from its ability to access
low-level commands, similar to assembly language, but with high-level syntax.
 Portability: C programs are portable i.e. they can run on any compiler with little or no
modification. Compiler and Preprocessor make it possible for C program to run it on
different PC.
 Bit Manipulation: C Programs can be manipulated using bits and it provides a wide variety
of bit manipulation operators
 Modular Programming: It is a software design technique that increases the extent to which
software is composed of separate parts, called modules. A c program consists of different
modules that are integrated to form a complete program.
 Efficient Usage of Pointers: C supports the efficient use of pointers and pointers has direct
memory access.
2. What do the following fundamentals mean in C programming language? Give two examples
for each

e) C keywords

--Keywords are predefined, reserved words used in programming that have special meanings
to the compiler. Keywords are part of the syntax and they cannot be used as an identifier

f) Variables

574
- A variable is a named storage location Variables which is used to store information to be
referenced and manipulated in a computer program. Example of variable include height, age
etc

g) C operators

An operator is a symbol that tells the compiler to perform specific mathematical or logical
functions. Example of C operators include arithmetic operators, assignment operators,
relational operators, logical operators etc

h) C expressions

- An expression is a formula in which operands are linked to each other by the use of operators
to compute a value. An operand can be a function reference, a variable, an array element or a
constant. Examples include arithmetic expressions, logical expressions, conditional operators
etc

3. Give the difference between Sequence and Selection control structures in C


programming

- In Sequence program execution, the program statements are executed one after another in
the order in which they are written while in Selection control, a logical test is carried out, and
one or more statements are usually selected

for execution depending on whether the condition given is True or False.

4. A lady deposits 2,000 shillings in a Microfinance company at an interest rate of 20% per
annum. At the end of each year, the interest earned is added to the deposit and the new amount
becomes the deposit for that year.

Write pseudocode for a program that would track the growth of the deposits over seven years.

START NPUT Initial Deposit

INPUT Interest Rate

SET Deposit to Initial deposit (i.e., 2000)

SET Year to 0

WHILE Year <= 7 DO

575
Interest = Deposit x Interest rate

Total = Deposit + Interest

Deposit = Total {the new deposit}

Year = Year + 1

ENDWHILE

PRINT Deposit, Year

STOP

576
6.2.6 Learning Outcome 6: Perform Basic Internet programming
6.2.6.1 Introduction to the learning outcome
This learning outcome specifies the content of competencies required to perform basic internet
programming internet-based programming concepts, web programming approaches, web
programming languages, web programming interfaces, and HTML coding.
6.2.6.2 Performance Standard
6.2.6.2.1 Internet-based programming concepts are identified.
6.2.6.2.2 Web programming approaches are identified.
6.2.6.2.3 Web programming languages are identified.
6.2.6.2.4 Web programming interfaces are identified.
6.2.6.2.5 HTML coding is done.

6.2.6.3 Information Sheet

1. Basic internet programming

Concepts of internet programming

 Network concepts
 Web concepts
 Internet addresses
 Sockets
 Programming network applications

Network concepts

A network is in this respect a collection of interconnected computers and/or other kinds of


equipment Terminology:

 Inode, a machine that is connected to the network (computer, printer, bridge, vending
machine)
 host, a fully autonomous computer connected to the network

577
 address, each node has a unique address (several bytes)
 packet, modern networks are packet-based, meaning that the information is broken down
to and sent as small chunks, each chunk of information handled separately.
 protocol, rules, specifying how to perform communication.

Web services

Web Application (Webapp)

A web application (or web app), unlike standalone application, runs over the Internet. Examples
of web apps are google, amazon, eBay, Facebook and the UCT website. A web app is typically a
3-tier (or multi-tier) client-server database application run over the Internet and it comprises five
components:

Basic Concepts

• HTTP Server: E.g., Apache HTTP Server, Apache Tomcat Server, Microsoft Internet
Information Server (IIS), Nginx, Google Web Server (GWS), and others. You will learn how to
install Apache HTTP and Tomcat web servers in the next chapter.

• HTTP Client (or Web Browser): E.g., Internet Explorer (MSIE), Firefox, Chrome, Safari, and
others.

• Database: E.g., Open-source MySQL, MariaDB, Apache Derby, MySQL, SQLite, PostgreSQL,
OpenOffice's Base; Commercial Oracle, IBM DB2, SAP Sybase, MS SQL Server, MS Access;
and others.

• Client-Side Programs: could be written in HTML Form, JavaScript, VBScript, Flash, and
others.

• Server-Side Programs: could be written in Java Servlet/JSP, ASP, PHP, Perl, Python, CGI, and
others.

Programming network applications

-Alongside the technical ”evolution”, communication between the application and also between
parts of applications residing on a different computer become more and more common

578
Examples of asynchronously communicating applications: web browsers, e-mail, news.

Some other examples: Distributed databases, sound, radio, video and internet telephony.

Need for applications where the participants are aware of each other:

Shared bulletin boards, whiteboards, shared word processors, control systems (eg. robots), and
(not the least) games (like RuneScape and world of warcraft).

There is support in the networks, where we will look closer on the internet

Kinds/types of application programs

 E-mail
 News
 Web-based databases
 Client-server,
 per-to-peer
 Telephone
 Video

Internet addresses

-Internet is the most knowledgeable and most widespread network.

Designed it to be robust (errors are unusual)

First version 1969, ARPANET, designed by ARPA, a DoD unit.

In 1983 there were 562 computers on the ARPANET

In 1986 there were 5000 computers

In 1987 – 28000,

In 1989 – 100000,

In 1990 – 300000,

579
In 2009 – 1.67 billion (a rough estimate on June 30)Layers

A network is built as a set of layers

IP, Internet Protocol- the network layer protocol (the reason for the name ”Internet”)

TCP, Transport Control Protocol-a connection-based protocol which ensures correct data
exchange between two nodes

UDP, User Datagram Protocol-a protocol which allows the transmission of independent packets
from one node to another with no guarantee concerning delivery or order of delivery

Sockets

A socket is one endpoint of a two-way communication link between two programs running on the
network. A socket is bound to a port number so that the TCP layer can identify the application that
data is destined to be sent to. An endpoint is a combination of an IP address and a port number.

2. Web programming approaches

 Server-side
The Server-side is the systems that run on the server, and the client-side is the software that runs
on a user’s web browser. The basic hosting of your files is achieved through a web server whose
responsibilities are described below.
Server-side development is much more than web hosting: it involves the use of a programming
technology like PHP or ASP.NET to create scripts that dynamically generate content.
It is important to remember that when developing server-side scripts, you are writing software,
just like a C or Java programmer would do, with the major distinction that your software runs on
a web server and uses the HTTP request-response loop for most interactions with the clients. This
distinction is significant, since it invalidates many classic software development patterns, and
requires different thinking for many seemingly simple software principles like data storage
and memory management.

 Client-side

580
Client-side web development involves interactivity and displaying data, server-side is about
working behind the scenes to manage data. The idea of client-side scripting is an important one in
web development. It refers to the client machine (i.e., the browser) running code locally rather than
relying on the server to execute code and return the result. Many client-side languages have come
into use over the past decade including Flash, VBScript, Java, and JavaScript. Some of these
technologies only work in certain browsers, while others require plug-ins to function.

Web programming languages

HTML
-HTML (HyperText Markup Language) a language used to develop web pages.
Hypertext means that some text in the HTML document carries a link to a different location,
which can be on the same page or another page. On clicking this 'hot spot', the viewer is transferred
to that location.
Markup means that specific portions of a document are marked up to indicate how they should
be displayed in the browser.
-HTML simply consists of tags that are placed around elements, which then changes the properties
of these enclosed elements. There are hundreds of HTML tags and some of these are proprietary,
which means that only some browsers recognize them.

<html>
<head>
<title>Internet programming</title>

</head>
<body>
</body>
</html>
For further reading on HTML,click on the link below
https://youtu.be/UB1O30fR-EE
PHP

581
Open source
PHP not only carries all the goodness of ASP but also is more secure and handles databases more
easily. It is a known fact that PHP on Apache Web server runs faster than ASP. PHP code is
embedded inside the HTML page and can link to databases to generate dynamic HTML content.
PHP scripts can be made to run on any operating system with little or no modification.

Pros
 Can be embedded in HTML; seen as a dedicated web language.
 Deceptively simple to learn.
 Touted as a good beginner language.
 Large array of built-in functions for everything from PDF creation to credit-card
transactions to database interaction
 Available at a majority of hosting services
 Relatively good integration with apache.

Cons
 While the runtime services are good, the language itself is quite horrible
 Encourages writing bad code ^2 {too vague}'
 PHP implementation is full of bugs and might change semantics without a note, causing
constant security upgrades that break your code
 PHP encourages writing web programs in an insecure manner
 Not too fast (good for building database interfaces, not making calculations)

JAVASCRIPT
Javascript is a programming language that runs on a web browser. Jscript is Microsoft’s'
implementation of Javascript for Internet Explorer. Javascript is not a subset of Java, in fact,
the two languages share little in common. Javascript runs on the browser (client) and does not
require any server software. Thus, it is a client-side scripting language. Since all execution
takes place on the browser, Javascript is responsible for most of the interactivity on a web page.

582
Image change or text color change on mouse-over, creating mouse trails are all possible
through Javascript. The language has also been widely used for basic form validation.
Javascript is commonly embedded inside the HTML page and is thus visible to the visitor.
Javascript can also be written to run on a server and this is based on the ASP model promoted
by Microsoft.
Pros
 Most web developers familiar with language from the client-side.

Cons
 Server-side standards not settled

Consider the following video links for further reading on Javascript


https://youtu.be/uDwSnnhl1Ng
https://youtu.be/2nZiB1JItbY

3. Web Programming Interfaces

Common client interface


CCI defines is a set of interfaces and classes whose methods allow a client to perform typical data
access operations. The following CCI interfaces and classes illustrate how to use the CCI

 ConnectionFactory: Provides an application component with a Connection instance to an


EIS.
 Connection- Represents the connection to the underlying EIS.
 ConnectionSpec: Provides a means for an application component to pass connection
request-specific properties to the ConnectionFactory when making a connection request.
 Interaction: Provides a means for an application component to execute EIS functions, such
as database stored procedures.
 InteractionSpec: Holds properties about an application component's Interaction with an
EIS.
 Record: The superclass for the different kinds of record instances. Record instances may
be Mapped Record, Indexed Record, or ResultSet instances, which all inherit from the
Record interface.
 Record Factory: Provides an application component with a Record instance.

583
 Indexed Record: Represents an ordered collection of Record instances based on the java.
util.List interface.

A client or application component that uses the CCI to interact with an underlying EIS does so in
a prescribed manner. The component must establish a connection to the EIS's resource manager,
and it does so using the ConnectionFactory. The Connection object represents the actual
connection to the EIS and it is used for subsequent interactions with the EIS.

Common gateway interface


As you traverse the vast frontier of the World Wide Web, you will come across documents that
make you wonder, "How did they do this?" These documents could consist of, among other things,
forms that ask for feedback or registration information, imagemaps that allow you to click on
various parts of the image, counters that display the number of users that accessed the document,
and utilities that allow you to search databases for particular information. In most cases, you'll find
that these effects were achieved using the Common Gateway Interface, commonly known as CGI.
CGI is the part of the Web server that can communicate with other programs running on the server.
With CGI, the Web server can call up a program, while passing user-specific data to the program
(such as what host the user is connecting from, or input the user has supplied using HTML form
syntax). The program then processes that data and the server passes the program's response back
to the Web browser.

HTML
Tags
An HTML element is identified in the HTML document by tags. A tag consists of the element
name within angle brackets. The element name appears in both the beginning tag and the closing
tag, which contains a forward slash followed by the element’s name, again all enclosed within
angle brackets. The closing tag acts like an off-switch for the on-switch that is the start tag
 Parcelling
 Coding
6.2.6.4 Learning Activities
Practical activity
Instructions
In your institutions’ computer lab perform the following practicals

584
i. Write a basic structure of an HTML document and give a complete explanation of
each of the tags used
ii. Create your first web page which will print the text “Hello World!” on the screen.

6.2.6.5 Self-Assessment
1. What is a web programming language?
2. Give the meaning of the following Network Concepts.
i. Node
ii. Host
iii. Packet
iv. Protocol
3. What is the role of web programming language?
4. What is the difference between Client-side and Server-side web programming
approaches?

6.2.6.6 Tools, Equipment, Supplies and Materials


 Flow charts
 Data flow diagram
 Decision table
 Decision tree
 Web Authoring tools
 Notepad
 Computer
 Software
 Digital instructional material including DVDs and CDs
6.2.6.7 References
Alzahrani, A. A. (2020). 4GL Code Generation: A Systematic Review. (IJACSA)
International Journal of Advanced Computer Science and Applications. 6(11). Retrieved
fromhttps://www.researchgate.net/profile/Abdullah_Alzahrani13/publication/342652608

585
_4GL_Code_Generation_A_Systematic_Review/links/5f48e73892851c6cfdf046e6/4GL-
Code-Generation-A-Systematic-Review.pdf.
Connolly, R. (2015). Fundamentals of web development. Pearson Education.
Kumar, H. (2019). Programming software and Computer Languages. International journal
of advance research and innovative ideas in education. 3(5).
Selby, C. (2011). Four approaches to teaching programming. Retrieved from
Shaydulin, R., & Sybrandt, J. (2017). To agile, or not too agile: A comparison of software
development methodologies. arXiv preprint arXiv:1704.07469.

6.2.6.7 Model answers to self-assessment


1. What is web programming language
- The main difference between server-side scripting and client-side scripting is that the server
side scripting involves server for its processing. On the other hand, client-side scripting
requires browsers to run the scripts on the client machine but does not interact with the
server while processing the client-side scripts.
2. Give the meaning of the following Network Concepts
i. Node,-a machine that is connected to the network (computer, printer, bridge, vending
machine)
ii. Host -a fully autonomous computer connected to the network
iii. packet,- information that is broken down to and sent as small chunks, each chunk of
information handled separately.
iv. Protocol-rules, specifying how to perform communication in a networked environment
3. What is the role of web programming language
--The capabilities of the Internet have been enhanced and extended by using programming
languages with HTML. These languages have been responsible for the dynamic and
interactive nature of the Net. New languages and language extensions are being
developed to increase the usability of the Internet

4. Give the difference between Client-side and Server-side web programming approaches
--Client-side scripting generally refers to the class of computer programs on the web that
are executed client-side, by the user's web browser. Client-side scripts are often embedded

586
within an HTML or XHTML document (hence known as an "embedded script"), but they
may also be contained in a separate file, to which the document (or documents) that use
it make reference (hence known as an "external script") while
-server-side scripting are executed by the web server when the user requests a document.
They produce output in a format understandable by web browsers (usually HTML), which
is then sent to the user's computer.
-The user cannot see the script's source code (unless the author publishes the code
separately), and may not even be aware that a script was executed. Documents produced
by server-side scripts may, in turn, contain client-side scripts.
5. Give a brief description of the following web programming interfaces
i. Common client Interface(CCI)
ii. Common Gateway Interface (CGI)

587
CHAPTER 7: MANAGE OPERATING SYSTEM
Unit of learning code: ICT/CU/IT/CR/6/6

Related Unit of Competency in Occupational Standard: Manage Operating Systems

7.1 Introduction to the unit of learning


This unit covers competencies required to manage operating system. It involves Identifying
fundamentals of operating system, Identifying concepts of process management concepts,
Identifying concepts of Memory management, Identifying concepts of Input and Output devices,
Identifying concepts of file management, Identifying Emerging trends in Operating system.

7.2 Summary of Learning Outcomes


1. Identifying Fundamentals of operating system
2. Identifying concepts of Process management concepts
3. Identifying concepts of Memory management
4. Identifying concepts of Input and Output devices
5. Identifying concepts of file management
6. Identifying Emerging trends in Operating system

7.2.1 Learning Outcome 1: Identifying fundamentals of Operating System.


7.2.1.1 Introduction to the learning outcome
It is critical for an ICT technician to master the tenets of Operating system. Ideally a computer
system consists of programs and hardware components. Operating system is the main program that
manages all of the hardware components and all other applications installed in the computer.
Specifically, it controls every hardware device, main memory, every file, processing time, the
computer users among others. In other words, without operating system the hardware component
will not function. Understanding the fundamentals of Operating systems (Basic OS terms, concepts
of OS, Structures of OS, Types of OS and functions of OS) serves as a good foundation for any
ICT technician to be.

588
7.2.1.2 Performance Standard
7.2.1.1 Definition of Operating system is done
7.2.1.2 Concepts of operating system are identified.
7.2.1.3 Structures of operating system are described.
7.2.1.4 Types of operating system are identified.
7.2.1.5 Functions of operating system are identified.
7.2.1.3 Information Sheet
An Operating system is a set of instructions/program that manages a computer’s hardware. It acts
as an intermediary between the computer hardware and the user by providing a user interface
through which one can interact with the hardware component. It also provides a basis for
application programs to run. Majorly Operating systems are designed to be convenient or to be
efficient or combination of the two (Abraham, 2013). OS is the centre through which the system
hardware, other software, users, components work together.

Figure 184: OS vs Components

Source (CompTIA, 2013)


Identify concepts of Operating System
Operating systems are normally unique to their manufacturers and the hardware in which they are
run. Modern sophisticated devices require that operating systems meet certain specific standards,
consequently OS must perform the following main functions: -

589
1. Control of I/O operations
2. Job management
3. Memory management
4. Resource management
5. Error recovery
Operating system is a large and complex set of instruction created piece by piece. One can view it
from several perspectives for example, one can focus on the services that the system provides or
on the interface available to the users or its components and their interconnections. Most of the OS
provides basic concepts and abstractions like processes, files and address spaces which are key for
an ICT Technician to understanding them.

Processes
A process refers to a program in execution. It can also be looked at as a container that holds all the
in information needed to run a program. All processes are associated with an address space and a
list addressable memory location from 0 to a maximum value which can be read and written to by
the process. The address space constitutes the program data, the executable program and the
program stack. Each process requires a set of resources such as registers, list of open files, list of
related processes and all other information needed to run a program successfully. Ideally a process
is more than a program code (a combination of Program Code, Data and Execution status).

Files
All information stored in a computer must be in a file. There exists a number of file types such as;
data files, program files, directory files, text files etc. Each file type stores a different type of
information for example text files stores textual data while program files stores programs. thus, a
file is simply a collection of data or information that has a name/identity usually called filename

System call

590
System calls are used for hardware services, to create or execute a process and for communicating
with kernel services. It is a technique used by programs to interact with the Operating system.
Ideally, a computer program makes a system call whenever it makes a request to the kernel.

Shell
A shell is a command line interface that enables the user to interact with the computer. Examples
of shells include MS-DOS (For Windows Operating Systems), Command.com, csh, ksh and sh for
(Unix operating Systems)

Kernel
Is the first portion of the operating system to load into a protected area in the memory so as not to
be overwritten. It is responsible for key functions of the Operating system such as process
management, memory management, file management, interrupt handling and disk drive
management to mention a few.

Virtual Machines
VM is a software program that enables a host machine to support different operating systems just
like a separate computer. It is created within another computing environment (host)

Evolution of operating systems


General Motors designed the first operating system in 1956 to operate a single IBM (International
Business Machine) mainframe computer. Other owners of IBM mainframes followed suit and
developed their own operating systems.

The earliest operating systems differed wildly from one computing device to the next and although
they made it simpler to write programs, they did not allow programs to be used without a complete
rewrite on more than one mainframe machine. IBM, the first computer manufacturer to develop
an operating system began distributing operating systems with their computers in the early 1960s.
Other vendors such as GE, Digital Equipment Corporation, Xerox, Burroughs Corporation also
released mainframe operating systems in early 1960s too.

591
In the late 1960s, the first version of the Unix Operating system was developed using C language.
This version was freely available in the earliest stages and easily ported to new systems. Unix was
rapidly accepted in the market. In fact, many modern OS such as Apple OS X and all Linux
flavours trace their roots to Unix.

Microsoft Inc developed their version of operating system to run its range of personal computers
in response to IBM development of their Operating System. The first OS built by Microsoft in
1981 was called MS-DOS. The name Windows was coined in 1985 when a graphical user interface
(GUI) was created and paired with MS-DOS. Apple OS X, Microsoft Windows and the various
forms of Linux command the vast majority of the modern Operating system market.

First Generation (1940’2 to early 1950’s)


The first computers were manufactured without any operating systems. In fact, they were
manufactured to perform generally simple math calculations. All programming was done purely
in machine language by wiring of plugboards to control the machine’s functions. Generally, the
computers in generation were for solving simple math calculations.

Second Generation (1955 – 1965)


In the early 1950s, an operating system was introduced, called GMOS by General Motors produced
for the 701 IBM computer. Since the data submitted was in batches, operating systems in the 1950's
were called single-stream batch processing systems. The machines in this generation were referred
to as mainframes and were used by professional operators in large computer rooms such as
government agencies. The machines were costly.

The Third Generation (1965- 1980)


The computers manufactured during this era supported multiprogramming i.e. multiple jobs were
executed simultaneously. These new developments allowed CPU to be busy nearly 100 percent of
the time it was in use.
Minicomputers were introduced during this era and they created a whole new industry and the
development of more portable computers.

592
The Fourth Generation (1980- Present day)
Manufacturing of personal computing device occurred during this time. These computers were
very similar to the minicomputers developed in the third generation. The personal computers were
affordable compared to the previous generations. Bill Gates and Paul Allen had a vision to take
personal computing to the next level. They introduced MS-DOS (Microsoft Disk Operating
System) in 1981 very effective but challenging to understand its cryptic commands to majority of
users. Microsoft released several versions of Windows operating system such as Windows 95,
Windows 98, Windows XP, Windows 7, Windows Vista, Windows 10 etc.
In 1980’s, Steve jobs co-founder of Apple, created Apple Macintosh which was user friendly
compared to MS-DOS.

In later years, a strong rivalry between the two companies developed however windows OS was
rapidly developed and currently running in virtually all devices such as laptops, smartphones,
ATM machines, motor vehicles and all our electronic devices. As the technology progresses so is
the operating system.

Structures of Operating System


Earlier operating systems like UNIX and MS-DOS lacked a well-defined structure. For instance,
absence of CPU Execution Mode (for user and Kernel) lead to system crashes in the event of
errors. The OS structure can be described using the following six designs; monolithic systems,
layered systems, microkernels, virtual machines, exokernels and client-server systems.

1. Monolithic systems
It is the oldest and most common architecture where operating systems run as a single program in
kernel mode. The OS resides on kernel for anyone to execute. The functionality of the Operating
Systems is invoked with simple function calls (system calls) within the kernel as a single large
program.
Many CPU has two modes of operation; the kernel mode (allows all the operating system
instructions) and the user mode (for user program in which input/output devices are allowed/not

593
allowed). The I/O device drivers are loaded into the kernel and become part and parcel of the
kernel.

2. Layered Architecture
The layered approach was developed in 1960’s. This architecture splits the OS into different layers
thus increasing the modularity of the OS. The hardware layer serves as the bottom layer while the
user interface serves as the highest layer. The layers are arranged in a way that each user functions
and services of lower level layers only. Implementers can change the inner workings of the OS
using the external interface of the routines. Once the 1st layer is debugged, its correct functioning
can be assumed while the second layer is debugged up to layer N (Abraham P. G., 2013). In the
event of an error during debugging process of a particular layer, the error is assumed to be on that
layer since the layers below it is already debugged.
This approach has the advantage of simplicity of construction and debugging by programmers.
However, the main disadvantage of this approach is it makes the OS less efficient compared to
other implementations and it requires an appropriate definition of the various layers.
Figure 185: Layered OS Architecture

Source (Stallings, 2014)


3. Microkernels
This architecture structures the system by removing all non-essential parts of the kernel and
implements them as system and user level programs thus a smaller kernel. This architecture

594
has the advantage of providing a minimal process, memory management and a communication
facility.

Microkernel provides communication between the client program and the various services
running in user space. Message passing technique is used to provide communication in the OS.
For instance, if a client program wants to access a file, it must interact with the file server. The
client program and service never interact directly but indirectly through exchange of messages
with microkernel.

This approach makes it easier to extend the operating system. All new services are added to
user space and consequently do not require the kernel to be modified. The main advantage of
this architecture is that it provides more security, reliability is easier to port from one hardware
design to another.

4. Virtual machines
Virtual machine simulates the existence of a real machine within a physical machine. This
architecture enables one to install different operating machines within the virtual environment.
It supports running of several operating systems at once each on its virtual machine. Several
concepts are used to ensure multiprogramming is implemented in virtual environment and it
includes the control program (to create the virtual machine environment), conversation monitor
(to support system application features), remote spooling communication system – RSCS (to
enable virtual machine to transmit and receive file in distributed system) and the Interactive
Problem Control System - IPCS

Table 46: Virtual memory architecture


User Program 1 User Program 1
Operating System 1 Operating system N
Virtual Machine
Hardware

5. Client/Server Model in Operating system

595
The Client/Server model supports implementation of most of the OS functions in user processes
to request a service from a server. The server then responds accordingly. This model is a variation
of the microkernel system where servers are located in the middle layer.

6. Exokernels
This architecture was developed in MIT (Massachusetts Institute of Technology). It provides. It
provides protected access to the hardware through the use of abstraction layers and by putting
everything into libraries. The main advantages of exokernels include explicit allocation of
resources, separate protection and management, expose information among others. Complexity in
design of exokernel interfaces and less consistency serves as its main drawback.

Identify types of Operating System


The major types of operating system include: -

Real-Time Operating System


It’s a type of operating system in which the time interval to process and respond to inputs
(response time) is so small that it controls the environment. These systems are used in situations
where there are rigid time requirements on the operation of a processor or the flow of data and
real-time systems can be used as a control device in a dedicated application. Real-time operating
system is applied on medical imaging systems, air traffic control systems, robots, industrial control
systems, scientific experiments, etc. Real-time systems can be hard real-time systems (guarantees
that critical tasks complete on time)

Batch Operating system


This type of OS entails having an operator that takes similar jobs having same requirement and
group them into batches for faster processing of jobs. The users of a batch operating system do not
interact with the computer directly. Each user prepares their task on an off-line device such as
punch cards and submits it to the computer operator. Then main draw backs of batch systems
include; difficult in providing the desired priority, lack of interaction between the user and the job
and CPU idle item.

596
Distributed Operating System
This type of operating system utilizes multiple central processors to serve multiple real-time
applications and multiple users. The data processing jobs are distributed among the processors
using various communication lines e.g. telephone lines and high-speed buses commonly referred
to as loosely coupled systems (distributed systems). The processors sometimes referred to as sites,
nodes etc may vary in size and functions.
The advantages of distributed systems include: -
 Reduction of delays in data processing
 In the event of one site failing in a distributed system the remaining sites will continue
operating.
 Faster exchange of data
 Resource sharing facility

Time-sharing Operating System


This type of operating system enables many users located in different terminals to use a particular
computer system at the same time. Processor’s time is shared among multiple users concurrently.
The main objective of time-sharing OS is to minimize response time. Multiple jobs are executed
by the CPU through switching between jobs frequently. This ensures user can submit their
command and the response time is in few seconds.
Timesharing has the advantage of:
 Reducing CPU idle time
 Avoid duplication of software
 Quick response time

Its main drawbacks include:


 Data communication problems
 Security and integrity of user programs and data
 Reliability issues

Network Operating System

597
This type of operating system runs on server and it enables the server to manage networking
functions in a networked environment. It allows users, groups, data, security, application to be
shared in a Network. Examples of network operating system include Microsoft Windows Servers,
Unix, Mac OS X, Novell Netware, Linux and BSD.
The main advantages include:
 Strengthened security
 Easy to upgrade new technologies
 Hardware can easily be integrated into the system
 Provides remote access to servers from different locations irrespective of the type of
system.
The disadvantages include: -
 It requires regular maintenance and updates.
 Its costly to acquire and run a server system.
 When the central device fails (server) operations stops.

Identify functions of Operating System.


An Operating System apart from controlling the execution of application programs it has a number
of functions which can be thought of as having three main objectives, namely, Efficiency,
Convenience, and ability to evolve (its dynamic nature with respect to allowing effective
development, testing and introduction of new system functions). The OS provides the following
functions broadly viewed as user view and system view: -
 Provides user interface.
Through the Operating System the user is able to interact with the hardware device. Earlier
versions of OS had command-driven interface (Command Line Interface-CLI). However,
with invention of MS-Windows every operating system provides GUI (Graphical User
Interface).

 Manage I/O Operations


The OS manages input/output operations thus relieves the user from details of every input
or output devices. In other words, it relieves the user from details of input or output devices
connected in the computer system.

598
 Manage file systems.
In computer language a file is a logical concept that stores the user’s data or program. Files
are created using editor. The Operating System manages all the files created on the
computer system by enabling tasks such as saving the file, retrieving the file and accessing
the file conveniently etc.
s
 Error control and detection

When working with a computer, different types of errors are prone to be encountered. It’s
the duty of the Operating System to detect hardware errors as well as software errors.
Memory access failure or sometimes device failure occur. Irrespective of the type of error
it’s the responsibility of the Operating System to detect the error and give an alert to the
user regarding the error.

 Resource management
Computer resources are scarce and needed by most devices simultaneously. The OS
performs resource allocation especially in the event of multiple processes running. Process
creation, deletion is handled by OS. For a process to run, resources such as memory and
CPU are required. It is the job of OS to source for available memory and CPU and allocate
to the process in need of the resource. OS manages Inter Process Communication (IPC)
and synchronization i.e. a situation where multiple processes are simultaneously running
and require to communicate with other process for easy access to computer resource.

 Storage management
Main memory cannot accommodate every program or data. Secondary storage devices are
required to augment the main memory in a computer system. The OS manages free space
on storage devices; dictates how the devices will be accessed, how swapping will be done,
performs disk scheduling techniques etc.

 Process management

599
A process is a unit of work in a computer system. It also known as a program in execution.
An OS schedules processes and threads on the CPUs, creates and deletes system and user
processes, suspending and resuming processes, process synchronization and inter-process
communication.

 Memory management
Main Memory is a repository of accessing data shared by the CPU and input output devices
quickly. CPU reads and writes instructions from main memory during the fetch execute
cycle. For a program to be executed, it must be mapped to absolute addresses and loaded
into main memory after which it will be executed and later on terminates to release the
memory space for the next program to be executed.
The OS manages memory by keeping track of the parts of memory currently being used
and by who, decides which processes and data to move into and out of memory and
allocating and deallocating memory space in the computer system.

 Program Control
The OS controls all the programs running in the computer system. It protects one user’s
program from another user’s program. The OS is capable of detecting any exception
thrown by the system and notifies the user. In summary, the OS controls all the programs,
user activities, system activities and I/O access.

 Virtual Machine Manager


OS acts as an abstraction that hides the complex details of hardware from users. It is very
clumsy to interact with I/O devices, it is for this reason that the OS provides a layer on the
actual hardware device on which it performs tasks for the user such that the user feels all
the tasks are done by the hardware.

The OS implements virtual devices to lessen the burden of working with a lot of physical machines.
The virtual machine also known as extended machine is implemented in the form of virtual
processors, virtual memory and devices derived from the physical computer. Each user has an
illusion that they are using a single machine.

600
Diagram shows an example of implementation of virtual machine using VM ware workstation
running on a MS-Windows 10 Operating System. The Virtual machine has Kali Linux, Windows
10 OS and CentOS Operating system installed in the virtual platform.
Figure 186: Virtual Memory Implementation on Windows 10

Virtual Machines Implemented on Virtual hardware


the Physical PC components

Virtual Machine
Source (VMware work station, 2020) Details

 Installation of operating systems


As a computer technician it is critical that one understanding the basics of installing, configuring,
optimizing, and upgrading an operating Systems
Before installing an Operating System, you need to check the system requirements and confirm
whether your device can support the installation. OS usually have specific revisions made to the
original code identified by a number called Version. It tells you how new the product is in relation
to other versions of the product. Very minor revisions are indicated with an additional decimal
point on the revision number. Source code defines how a piece of software works. An Operating

601
system can be open source (OS can be examined and modified by users) or closed course (Users
cannot modify or examine the code)

General Steps in Installing Windows Operating System


Each version of Microsoft Windows is installed on a computer using similar steps. However, there
are steps in the installation process that differ slightly between the versions of Windows.

Step One: Check hardware compatibility


Check the minimum hardware requirements and the compatibility test for your device. Microsoft
provides a Windows compatibility product list for checking if the hardware in your computer is
compatible with thee OS you want to install. Incompatibility might lead to unsuccessful
installation of the Windows OS.

Step Two: Get a genuine MS-Windows CD, DVD, or USB thumb drive
Genuine copy of MS-OS installation disc with a product key is required at this step. The key is
required to activate Windows after installation. If one has an OEM computer (it does not have a
genuine windows CD, DVD or USB thumb drive), the Windows product key is positioned on the
back or side of the computer. Additionally, you will reinstall Windows and all the necessary
software using a hidden partition or a set of restore discs.

Step Three: Open the BIOS or CMOS setup


Insert the appropriate disk on the computer and change the boot order of the computer to either
CD, DVD disc drive or USB thumb drive as the first boot device. Once inserted the BIOS will
recognize and include the disk in the list. Save the changes and exit the BIOS.

Begin the Windows installation process by turning on the computer. Once the installation disk is
detected, a message “Press any key to boot from CD/DVD” will appear press any key on the
keyboard to have computer boot from the installation disk or drive.

Step Four: Select the type of Installation

602
One can perform a full installation, a repair or an upgrade installation. If installing for the first time
chose Full installation, if it is to rectify an already installed machine select repair, if it is to transit
to a higher/newer version of OS then select Upgrade option.
Step Five: Select the partition to install Windows onto
Select the main partition usually drive C or any other drive labeled “Unallocated partition”.
However, if upgrading, select the existing installation of Windows on the hard drive. You will be
prompted to select the option of “Format the hard drive to allow Windows OS to be installed”.
Follow the basic steps and provide appropriate information when prompted such as configuring
time zone, preferred language, name of the account you will use to access Windows

Step Six: Installation process completion


Once the installation process is complete, the computer will prompt you to log in after loading the
Windows OS. You are now free to install necessary drivers to support necessary hardware.

General Steps in Installing Linux Operating System


The steps involved in installing Windows apply for Linux installation with slight variations.
7.2.1.4 Learning Activities

Learning Activity 1
You have been tasked to prepare a brief on the Operating systems used in your College computer
laboratory. The management would like to know every basic detail regarding the operating system
installed. Prepare a 1-page document that shows the computer name you were working on, the
Operating system installed, its version and build, language configured, system manufacturer,
system model, BIOS version, Processor type and speed, page file and RAM capacity.

 Knowledge in relation to Performance Criteria given as content in the curriculum


The trainee is expected to research and run dxdiag command in order to mine information
regarding the performance criteria for this learning outcome.

 Special instructions related to learning activities


The learning activity can be used before teaching the learning outcome; trainees will be able to:

603
Demonstrate their understanding of the operating system concepts and types of operating system.
OR
It can be used at the end of teaching the learning outcome; trainees will be able to:
1. Interact with a computing device and
2. Demonstrate their understanding of the operating system concepts and types of operating
system.

Learning Activity 2
Case Study of MS Windows vs Linux
The trainer to implement virtual PC and install Linux OS as well as Windows OS together with
the trainees. During the installation, the trainer should emphasize on the following aspects: -
a) Interface designs of the two Operating Systems
b) Memory management of the two Operating Systems
c) Performance of Linux OS as well as Windows OS
d) Security of Windows OS as well as Linux OS
7.2.1.5 Self-Assessment
1. Associate the following icons with their appropriate Operating systems
1.

2.

3.

4.

2. When a user wants to open and work simultaneously on many windows on his system, what
type of OS should be chosen? ………………………..

604
3. Program which reads and interprets control statements and passes the signals to operating
system is known as…………………….
4. Examine the following conditions and find appropriate operating system for them:
a. In a LAN, users want to share some costly resources like laser printers.
b. Multiple users on a system want quick response on their terminals.
c. Washing machine.
4. Using relevant examples in each case distinguish System software and Application software

7.2.1.6 Tools, Equipment, Supplies and Materials


A functional computer with an installed OS
The Personal Computers should be connected to the Internet for research purposes

7.2.1.7 model answers to self-assessment


A. Associate the following icons with their appropriate Operating systems

1.

2. Windows
Linux

3.

4. Ubuntu
iPhone OS

B. When a user wants to open and work simultaneously on many windows on his system,
what type of OS should be chosen? Multi-tasking

605
C. Program which reads and interprets control statements and passes the signals to operating
system is known as…………… shell
D. Examine the following conditions and find appropriate operating system for them:
d. In a LAN, users want to share some costly resources like laser printers. – Network
Operating System
e. Multiple users on a system want quick response on their terminals. – Real time OS
f. Washing machine – Embedded OS such as Tizen in Linux
E. Using relevant examples in each case distinguish System software and Application
software
System software is any computer software which manages and controls computer
hardware so that application software can perform a task. Operating systems, such as
Microsoft Windows, Mac OS X or Linux, are prominent examples of system software.
Application software are programs that enable the end-user to perform specific,
productive tasks, such as word processing or image manipulation.
7.2.1.7 References

Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

606
7.2.2 Learning Outcome 2: Identifying concepts of process management.
7.2.2.1 Introduction to the learning outcome
A computer technician needs to understand how an operating system and application program
works. To do so, one needs to grasp the concept of a process since, there are a number of user and
system processes to be managed in a computer system.

One can view a process from two separate and potentially independent concepts: one relating to
resource ownership and the other one relating to execution (Stallings, 2014). Resource ownership
is where a process includes a virtual address space to hold the process image (a collection of data,
program, stack and attributes defined in the PCB). A process controls or owns resources such as
main memory, I/O channels, I/O devices and data for a while during execution.

Execution of a process entails following an execution path through one or more programs. This
execution can be connected to other processes. It is evident that a process requires a resource
during execution and in a computer system there are more than one process being executed thus
the need to understand process management.

7.2.2.2 Performance Standard


7.2.2.2.1 Concepts of processing are identified and explained.
7.2.2.2.2 Process states are described.
7.2.2.2.3 Definition of Concurrency control and types is done.
7.2.2.2.4 Explanation of Process scheduling and types of schedulers is done.
7.2.2.2.5 Definition of Deadlocks.

7.2.2.3 Information Sheet


Identify and explain concepts of processing
Process management entails creating and deleting processes and also providing mechanisms
for processes to communicate and synchronize with each other in a computer system. A process
therefore can be referred to as a job or the fundamental unit of work in an operating system. A

607
job is simply a sequence of single programs. Interestingly the term ‘program’ and ‘job’ are
used interchangeably. According to (Stallings, 2014), a thread is referred to as a unit of
dispatch or a lightweight process. On the other hand, a process or a task is referred to as the
unit of resource ownership
In the event the operating system is required to support multiple concurrent paths of execution
within a single process it is referred to as multithreading. MS-DOS supports a single user
process and a single thread. Other OS supports multiple user processes but only support one
thread process at a time.

Figure 187: Threads and process using a diagram

Source (Stallings, 2014)

608
Process control block
For an OS to implement and control processes it requires some attributes associated with the
process. These attributes are stored in a data structure called Process Control Block (PCB) also
referred to as process descriptor. The collection of user program, stack, data section and the
attributes form a process image.
Whenever a process is created in the computer system the PCB is created too since it holds all
information about the process needed for its control. The PCB contains: -

Process state

When a program is loaded into the memory and it becomes a process, it can be divided into four

sections namely stack, heap, text and data.

Stack contains temporary data such as method/function parameters and return address; Heap is a
dynamically allocated memory to a process during its runtime; Text contains current activity
represented by the value of PC (Program Counter) and contents of the processor’s registers; Data
contains global and static variables

A process exists in various states such as New, Ready, Running, Waiting, Halted

Program counter

It indicates the address of the next instruction to be executed for that particular process.

CPU registers

Accumulators, index registers, general-purpose registers, stack pointers comprise the CPU
register. In the event an interrupt occurs CPU registers and program counter information must be
saved to allow a process to be continued correctly

CPU scheduling information

It contains scheduling parameters such as process priority, pointers to scheduling queues etc.

Memory management information

It contains information such as limit registers, value of the base and the page tables/segment tables.

Accounting information

609
It contains the amount of CPU and real time used, account numbers, time limits, job or process
numbers etc.

I/O status information


It contains the list of I/O devices allocated to a particular process and a list of open files etc.

Figure 188: Process Control Block

Process State

Process ID

Program Counter

Registers

Memory limits

List of open files

………...

Process state
A process/task is created for a program that needs to be executed. The CPU executes instructions
in sequence dictated by the changing values in the program counter register. A trace is referred to
as listing the sequence of instructions that execute for that particular process. The life of a process
is bounded by its creation and termination. As a process executes, it changes state as defined by
the current activity of that process. The changing process states of a typical activity from creation
to termination is as shown in figure. Typically, activities can be removed from memory when they
are in the waiting, stopped or terminated states.
It is important to note that only one process can be running on any processor at any instant even
though processes may be ready and waiting. A process may exist in one or more of the following
states:
610
New: This is the state where a process is created. It is the transient state when the activity has just
begun.
Running: This state entails execution of instructions. Activities execute until they are interrupted
by another activity or user command. It is also referred to as Resumed state.
Waiting: It is a stop for an activity that is interrupted and ready to go into background mode. The
process is waiting for some event to occur for example I/O completion, or user starts another
application.

Ready: The process is waiting to be assigned a processor


Terminated: The process has completed the execution. Ideally the activities in this state
disappeared from the user’s view.

Figure 189: Diagram of Process State

New Terminated

Exit
Admitted

Interrupt

Ready Running

Schedular dispatch

Input/Output
Input/Output or
or event wait
event completion
Waiting

Concurrency control and control types


Inter-process communication

611
Inter-process communication (IPC) facility provides a mechanism to allow processes to
communicate and to synchronize their actions to prevent Race conditions (a condition where
several processes access and manipulate the same data concurrently and the outcome of the
execution depends on the particular order in which the access takes place).

To guard against this; certain mechanisms are necessary to ensure that only one process at a time
can be manipulating the data. The mechanisms:

1. Critical Section Problem.

It is a segment of code in which a process may be changing common variables, writing a file,
updating a table etc. Each process has its critical section while the other portion is referred to as
Reminder section.

The important feature of the system is that when one has process is executing in its critical section
no other process is to be allowed to execute its critical section. Each process must request
permission to enter its critical section. A solution to critical section problem must satisfy the
following:

 Mutual Exclusion ensures that if a process is executing its critical section, then no other
process can be executing in their critical section.
 Progress ensures that if no process is executing in its critical section and that there exist some
processes that wish to enter critical sections then those processes that are not executing in their
remainder section can be allowed.
 Bounded Waiting ensures there must exist a bound on the number of times that other
processes are allowed to enter their critical sections after a process has made a request to enter
its critical section and before that request is granted. This helps prevent Busy waiting.
NB: Busy waiting occurs when one process is being executed in its critical section and process
2 tests to confirm if process 1 is through. It is only acceptable technique when the anticipated
waits are brief; otherwise it could waste CPU cycles.

Techniques used to handle Critical section problem (Synchronization)

1. Semaphores

612
The main principle behind Semaphores is that two or more processes can operate by means of
simple signals such that a process can be forced to stop at a specified place until it has received a
special signal. Any complex coordinative requirement can be satisfied by the appropriate structure
of signals. For signaling special variables called semaphores are used.

To transmit a signal via semaphores, a process executes the primitive wait; if the corresponding
signal has not yet been transmitted the process is suspended until transmission takes place.

A semaphore can be viewed as a variable that has an integer value upon which three main
operations are defined: -

1. A semaphore may be initialized to a non-negative value


2. The wait operation decrements these semaphore value. If the value becomes negative
the process executing the wait is blocked.
3. The signal operation increments the semaphore value. If the value is not positive then
a process is blocked by await operation is unblocked

A binary semaphore accepts only two values 0 or 1. For both semaphore and binary semaphore a
queue is used to hold processes waiting on the semaphore. A strong semaphore has a mechanism
of removing processes from a queue e.g. using First In First Out (FIFO) policy. A weak semaphore
doesn’t specify the order in which processes are removed from the queue. Example of
implementation:

2. Message passing

Is a technique that provides a means for co-operating processes to communicate when they are not
using shared memory environment. System calls are used by processes generally to send and
receive messages such as: send (receiver process; message) or Receive (sender process; message).

A blocking send must wait for receiver to receive the message. A non-blocking send enables the
sender to continue with other processing even if the receiver has not yet received the message.
This requires buffering mechanisms to hold messages until the receiver receives it.
Acknowledgment protocols are used in distributed systems to pass message since communication
can be flawed sometimes. However, on some personal computers passing can be flawless.

613
One complication in distributed systems with send / receive message passing is in naming
processes unambiguously so that send and receive calls references the proper process. Process
creation and destruction can be coordinated through some centralized naming mechanisms but this
can introduce considerable transmission overhead as individual machines request permission to
use new names.

3. Monitors

It is a construct of high synchronization characterized by a collection of operations specified by


the programmer. It is made of declarations of variables and bodies of procedures or functions that
implement operations of a given type. It cannot be used directly by the various processes; ensures
that only one process at a time can be active within a monitor.

Figure 190: Schematic view of a monitor

Processes desiring to enter the monitor when it is already in use must wait. This waiting is
automatically managed by the monitor. Data inside the monitor is accessible only to the process

614
inside it. There is no way for processes outside the monitor to access monitor data. This is called
information hiding.

4. Event Counters

It is an integer counter that does not decrease. Introduced to enable process synchronization
without use of mutual exclusion. It keeps track of number of occurrences of events of a particular
class of related events. Some of the operations that allow processes to reference event counts
include; Advance event, Read event and Await event values.

Advance event signals the occurrence of an event of the class of events represented by
incrementing event count by 1.

Read event obtains value of E; because Advance (E) operations may be occurring during Read
(E) it is only guaranteed that the value will be at least as great as E was before the read started.

Await event blocks the process until the value of E becomes at least V; this avoids the need for
busy waiting.

Other techniques used include:

 Using Peterson’s algorithm,


 Dekker’s algorithm and
 Bakely’s Algorithm

Process scheduling
Process scheduling is required to enable the CPU to execute one process at a time. There are
various types of scheduler modules in the OS that execute at their appropriate time. Process
scheduling is the process of switching the CPU among processes consequently making the
computer more productive.

It is the basis of multi programmed Operating System. Normally several processes are kept in
memory and when one process has to wait, the OS takes the CPU away from that process and gives
the CPU to another process. The process scheduling modules of the OS include: -

615
 CPU Scheduler
 CPU dispatcher

CPU Schedular
The schedular selects a process from the Ready queue that is to be executed. Scheduling decisions
may take place under the following conditions:

a) When a process terminates.


b) When a process switches from Running state to the Ready state (e.g. when an interrupt
occurs)
c) When a process switches from the Waiting state to the Ready state (e.g. completion of
I/O)
d) When process switches from Running state to Waiting state (e.g. Input/Output request).
Scheduling algorithm can either be:

(i) Non pre-emptive scheme where the process keeps CPU until when it releases it.
(ii) Pre-emptive scheme where the CPU can be taken from a process when it is in the
middle of updating or processing data by another process.

Types of schedulers
The schedulers are classified according to their frequency of their use in the system. When a
schedular is invoked frequently it is referred to as short-term schedular while when the use is after
a long time it is referred to as long-term. Operating system has many schedulers but the three main
schedulers are: -

SHORT-TERM SCHEDULER
The main objective of this type of schedular is to maximize CPU utilization. It allocates processes
in the Ready queue to CPU for immediate processing. It works more frequently and faster because
it selects a process quite often and executes the process only for a few seconds before it goes for
input output operations.

MEDIUM-TERM

616
Occasionally the OS need to remove a process from the main memory as this process may be in
need of some I/O operation. So, such processes may be removed (or suspended) from the main
memory to the hard disk. Later on, these processes can be reloaded into the main memory and
continued from where it was left earlier. This saving of suspended process is said to be rolled-out.
And this swapping (in and out) is done by the medium-term scheduler.

LONG-TERM SCHEDULER
This scheduler is responsible for selecting the process from secondary storage device like a disk
and loads them into the main memory for execution. At is also known as a job scheduler. The
primary objective of long-term scheduler is to provide a balance of mix of job to increase the
number of processes in a ready queue. Long term scheduler provides a good performance by
selecting processes with a combination of I/O and CPU bound type. Long-term scheduler selects
the jobs from the batch-queue and loads them into the memory. In memory, these processes belong
to ready queue.

CPU Dispatcher
CPU dispatcher gives control of CPU to the process selected by the scheduler. Its functions
include: -

 Switching to user mode


 Switching context
 Jumping to proper location in the user program to restart that program.

Scheduling levels

Three important levels of scheduling are considered.

a) High level scheduling (Job Scheduling) – determines which jobs should be allowed to
compete actively for the resources of the system. Also called Admission Scheduling. Once
admitted jobs become processes or groups of processes.
b) Intermediate level scheduling – determines which processes shall be allowed to compete
for the CPU.
617
c) Low level scheduling – determines which ready process will be assigned the CPU when it
next becomes available and actual assigns the CPU to this process.

Various CPU scheduling algorithms are available, thus in determining which is the best is for a
particular situation, the following criteria have been suggested. They include:

(i) CPU utilization – keeps the CPU as busy as possible.


(ii) Throughput – it is the measure of work i.e. no of processes that are completed per time
unit.
(iii) Turnaround time – The interval from time of submission to time of completion. It is sum
of periods spent waiting to get into memory, waiting in the ready queue, executing in CPU
and doing I/O.
(iv) Waiting Time – Sum of periods spent waiting in ready queue.
(v) Response time – Measure of time from submission of a request by user until the first
response is produced. It is amount of time it takes to start responding but not time that it
takes to output that response.
(vi) I/O Bounded-ness of a process – when a process gets the CPU, does it use the CPU only
briefly before generating an I/O request?
(vii) CPU Bounded-ness of a process – when a process gets the CPU does it tend to use the CPU
until its time quantum expires.
Scheduling Algorithms

Scheduling algorithms are either non-preemptive or preemptive. Non-preemptive algorithms are


designed so that once a process enters the running state, it cannot be preempted until it completes
its allotted time. Resources such as CPU cycles, are allocated to the process for the limited amount
of time and then taken away, and the process is again placed back in the ready queue if that process
still has CPU burst time remaining.

Preemptive scheduling is based on priority where a scheduler may preempt a low priority running
process anytime a high priority process enters into a ready state.

When a method switches from running state to ready state or from waiting state to ready state,
preemptive scheduling is used. That process stays in ready queue till it gets next chance to execute.

618
Algorithms based on preemptive scheduling include: Shortest Remaining Time First (SRTF),
Priority (preemptive version), Round Robin (RR).

Non-Preemptive scheduling is used when a process terminates, or switches from running to


waiting state. Once the CPU has been allocated to a process, it will hold the CPU till it gets
terminated or it reaches a waiting state. Algorithms based on this scheduling technique include;
Priority (non- preemptive version) and Shortest Job First (SJF).

1. First Come First Served (FCFS) / First in First Out (FIFO) Scheduling
It is the process that request CPU first and is allocated the CPU first. Code for FCFS is simple to
write and understand. Under FCFS Average waiting time is often quite long. FCFS is non-
preemptive discipline (once a process has the CPU it runs to completion).

Example

Processes arrive at time 0, with length of the CPU-burst time given in milliseconds.

Table 47: FCFS


Process Burst Time

(Time of CPU use)

P1 24

P2 3

P3 3

If processes arrive in order P1, P2, P3; Using a Gantt chart.

P1 P2 P3

0 24 27 30

619
Average waiting Time = (0 + 24 +27) / 3 = 17 ms

If processes arrive in order P2, P3, P1


P2 P3 P1

0 3 6 30

Average waiting Time = (0 + 3 + 6) / 3 = 3 ms

From example one, the average waiting time under FCFS policy is generally not minimal and may
vary substantially if processes CPU-Burst times vary greatly. FCFS algorithm is not ideal for time
sharing systems.

2. Shortest Job First (SJF) Scheduling


When the CPU is available it is assigned to the process that has the smallest next CPU burst. If
two processes have the same length next CPU Burst, FCFS scheduling is used to break the tie. It
reduces average waiting time as compared to FCFS.

Example

Table 48: SJF


Process Burst Time
(ms)

P1 6

P2 8

P3 7

P4 3

GANTT chart for SJF:

P4 P1 P3 P2

0 3 9 16 24

620
Average waiting Time = (0 + 3 + 16 + 9) / 4 = 7 ms

The main disadvantage of SJF is knowing the next CPU request and this information is not usually
available. NB: SJF is non-preemptive in nature.

3. Shortest Remaining Tine (SRT) Scheduling


It is the preemptive counterpart of SJF and is useful in time sharing. Currently executing process
is preempted when a process with a short CPU burst is ready in a queue.

Example

Table 49: SRT


Process Arrival Time Burst Time
(ms)

P1 0 8

P2 1 4

P3 2 9

P4 3 5

Gantt chart

P1 P2 P4 P1 P3
0 1 5 10 17 26

Process Waiting Time

P1 0 + (10 – 1) = 9

P2 (1 – 1) = 0

P3 17 – 2 = 15

621
P4 5 – 3 =2

Average waiting time = (9 + 0 + 15 + 2) / 4 = 6.5ms

P1 is started at time 0 since it’s the only process in the queue. P2 arrives at time 1. The remaining
time for P1 (7ms) is larger than time for process P2 (4ms) so P1 is preempted and P2is scheduled.
Average waiting time is less as compared to non-preemptive SJF.

SRT has higher overhead than SJF since it must keep track of elapsed service time of the running
job and must handle occasional preemptions.

4. Round Robin (RR) Scheduling


Similar to FCFS scheduling but processes are given a limited amount of CPU time called time
slice or a quantum which is generally from 10 to 100ms. If the process has a CPU burst of less
than 1-time Quantum, the process itself will release the CPU voluntarily. The processes ready
queue is treated as a circular queue and CPU scheduler goes around the queue, allocating the CPU
to each process for a time of up to 1-time quantum. Using processes in example above and Time
Quantum of 4 Ms.

Gantt chart:

Table 50: Gantt chart


P1 P2 P3 P4 P1 P3 P4 P3

0 4 8 12 16 20 24 25 26

Average waiting time = (9 + 0 + 15 + 2) / 4 = 6.5ms

Process Waiting Time

P1 0 + (16 – 4) = 12

P2 4–1=3

P3 (8 – 2) + (20 – 12) + (25 – 24) = 15

P4 (12 – 3) + (24 – 16) = 17

622
RR is effective in time sharing environments. The pre-emptive overheads are kept low by efficient
context switching mechanisms and providing adequate memory for the processes to reside in main
storage.

5. Priority Scheduling
SJF is a special case of general priority scheduling algorithms. It is the most common scheduling
algorithms in batch systems. A priority is associated with each process and CPU is allocated to the
process with highest priority. Equal priority processes are scheduled in FCFS order. Priorities are
generally some fixed range of numbers e.g. 0 – 7 or 0 – 4095. Some system uses low numbers to
represent low priority; others use low numbers for high priority. Priorities can be defined either
internationally or externally.

a) For internally defined priorities the following measurable quantities are used – time limits,
memory requirements, no of open files, ration of average I/O burst to CPU burst.
b) Externally defined priorities are set by criteria that are eternal to o/s e.g. importance of
process, type and amount of funds being paid for computer use, department sponsoring the
work and other political factors.
Priority scheduling can either be preemptive or non-preemptive. Major problem is indefinite
blocking or starvation: low priority jobs may wait indefinitely for CPU. Aging technique is used
to gradually increase the priority of process that waits in the system, for a long time.

For example, consider the Processes Pa, Pb, Pc and Pd with the following priority and execution
time.

Process Arrival Time Execute Time Priority Service Time

Pa 0 5 1 9

Pb 1 3 2 6

Pc 2 8 1 14

Pd 3 6 3 0

623
Pd Pb Pa Pc

0 6 9 14 22

The wait time for each process will be as follows: -

Process Wait Time: (Service Time- Arrival Time)

Pa 9-0=9

Pb 6–1=5

Pc 14 – 2 = 12

Pd 0–0=0

The average Wait time is (9 + 5 + 12 + 0)/4 = 6.5

6. Multi-level Queue Scheduling


Used in a situation in which processes are easily classified into different groups e.g. foreground
(interactive) processes and background (batch) processes. Ready queue is divided into these
groups. Processes are permanently assigned to one queue generally based on some property of the
process such as memory size, process priority or process type.

Each queue has its own scheduling algorithm e.g. foreground -> RR, Background ->FCFS. In
addition, there must be scheduling between the queues which is commonly implemented as a fixed
priority scheduling e.g. fore ground queue may have priority over back ground queue.

7. Multi-level Feedback queue scheduling


Allows a process to move between queues. The idea is to separate processes with different CPU
burst characteristic. If a process uses too much CPU time it will be moved to a lower priority
queue. This scheme leaves I/O bound and interactive processes in the highest priority queues.
Similarly, a process that waits too long in a lower priority queue may be moved to a higher priority
queue. This form of aging prevents starvation.

624
DEADLOCKS

Occurs when several processes compete for a finite number of resources i.e. a process is waiting
for a particular event that will not occur. The event here may be resource acquisition and release.

Example of Deadlocks

Figure 191: A traffic deadlock – vehicles in a busy section of the city.

Figure 192: A simple resource Deadlock

R1
Held by Request
s
P
P 2
2
R2 Held by
Request
s

This system is deadlocked because each process holds a resource being requested by the other
process and neither process is willing to release the resource it holds. This leads to deadlock.

625
1. Deadlock in spooling systems

A spooling system is used to improve system throughput by disassociating, a program from the
slow operating speeds of devices such as printers e.g. lines of text are sent to a disk before printing
starts. If disk space is small and jobs are many a dead lock may occur.

Deadlocks Characterization

Four necessary conditions for deadlock to exist:

1. Mutual Exclusion condition – a process claims exclusive control of resources they require.
2. Wait for Condition (Hold and Wait) –Processes hold resources already allocated to them while
waiting for additional resources.
3. No preemption condition – resources cannot be removed from the processes holding them until
the resources are used to completion.
4. Circular wait condition – A circular chain of processes exists in which each process holds one
or more resources that are requested by the next process in the chain
Major areas of deadlock research in computing

a) Deadlock Detection
b) Deadlock Recovery
c) Deadlock Prevention
d) Deadlock Avoidance

Deadlock detection

This is the process of determining that a deadlock exists and of identifying the processes involved
in the deadlock i.e. determine if a circular wait exists. To facilitate detection of deadlocks resource
allocation graphs are used which indicate resource allocation and requests. These graphs change
as process request resources, acquire them and eventually release them to the OS.

Reduction of Resource Allocation Graphs is a technique used for detecting deadlocks i.e. processes
that may complete their execution and the processes that will remain deadlocked are determined.

626
If a process’s resource request may be granted then we say that a graph may be reduced by that
process (arrows connecting process and resource is removed).

If a graph can be reduced by all its processes then the irreducible processes constitute the set of
deadlocked processes in the graph.

NB: - the order in which the graph reductions are performed does not matter; the final result will
always be the same.

Notations of Resource Allocation and request graphs.

P1 R1
P1 is requesting a resource of type R1

R2
P2
1 A resource of type R2 has been allocated
to process P2

P3
R3 Process P3 is requesting resource R3 which
P4 has been allocated to process P4

R3

P3 P4 Circular wait (deadlock) process P5 has


been allocated R5 which is requested by P6
that has been allocated R4; that is being
requested by process P5
R3

Figure 193: Notations of Resource Allocation


Graph Reduction

Given the resource allocation graph can you determine the possibility of a deadlock?

627
Figure 194: Graph Reduction

R6
I. Reducing by P9
R6
P8
P8

R7
R7
P9 P7
II.P7Reducing by P9
P7

III. Reducing by P8

R6 R6

P8 P8

R7 R7
P7 P9 P7 P9

No deadlock since circular wait doesn’t exist.

NB: Deadlock detection algorithm should be invoked at less frequent intervals to reduce overhead
in computation time. If it is invoked at arbitrary points there may be many cycles in resource graph
and it would be difficult to tell which of the many deadlocked processes “caused” the deadlock.

Deadlock recovery

Once a deadlock has been detected several alternatives exist:

a) Ostrich Algorithm (Bury head in the sand and assume things would just work out).
b) Informing the operator who will deal with it manually. Let the system recover
automatically.
There are 2 options for breaking a deadlock:

1. Process termination – killing some processes/processes involved in the deadlock.


Methods available include:

628
a) Abort all deadlocked processes but at a great expense.
b) Abort one process at a time until the deadlock cycle is eliminated.
A scheduling algorithm may be necessary to identify the process to abort.

Factors that may determine which process is chosen.

 Priority of the process


 Number and type of resources the process has used (is it simple to preempt)
 No of resources it needs to complete.
 Time spent and time remaining.
 Is the process interactive or batch oriented?
2. Resource Preemption- Preempts some resources from processes and give these resources to
other processes until the deadlock cycle is broken. Issues to be addressed include: -
 Selecting a victim i.e. a resource to preempt.
 Roll Back – a process that is preempted a resource needs to be rolled back to some safe
state and restarted from that state once the deadlock is over.
 Starvation – guarantee that resources will not always be preempted from some process.
Deadlock prevention

Aims at getting rid of conditions that cause deadlock. Methods used include:

 Denying Mutual exclusion – should only be allowed on non-shareable resources. For


shareable resources e.g. read only files the processes’ attempting to open it should be
granted simultaneous access. Thus, for shareable we do not allow mutual exclusion.
 Denying Hold and wait (wait for condition) – To deny this we must guarantee that
whenever a process requests a resource it does not hold any other resources. Protocols used
include:
i) Requires each process to request and be allocated all its resources before it begins
execution. While waiting for resources to be available it should not hold any
resource – may lead to serious waste or resources.
ii) A process only requests for a resource when it has none or it has to release all
resources before getting a resource.
Disadvantages of these protocols

629
 Starvation is possible – A process that needs several popular resources may have to wait
indefinitely because at least one of the resources that it needs is always allocated to some
other process.
 Resource utilization is low since many of the resources may be allocated but unused for a
long period.
 Denying “No preemption” - If a process that is holding some resource requests another
resource that cannot be immediately allocated to it (i.e. it must wait) then all resources
currently being held are preempted. The process will be started only when it can regain its
old resources as well as the new ones that it is requesting.
 Denying Circular wait - All resources are uniquely numbered and processes must request
resources in linear ascending order. It has been implemented in many OS but has some
difficulties i.e.
- Addition of new resources required rewriting of existing program so as to give the
unique numbers.
- Jobs requiring resources in a different order from that one implemented by o/s; it
required resources to be acquired and held possibly long before they are actually
used (leads to waste)
- Affects a user’s ability to freely and easily write applications code.
Deadlock avoidance

Dijkstra’s Bankers Algorithm is the widely used deadlock avoidance technique. Its goal is to
improve less stringent (constraining) conditions than in deadlock prevention in an attempt to get
better resource utilization. Avoidance does not precondition the system to remove all possibility
of deadlock to loom, but whenever a deadlock is approached it is carefully side-stepped.

NB: it is used for same type of resources e.g. tape drives or printers.

Dijkstra’s Bankers Algorithm says allocation of a resource is only done when it results in a safe
state rather than in unsafe states. A safe state is only in which the total resource situation is such
that all users would eventually be able to finish. An unsafe state is one that might eventually lead
to a deadlock.

Example of a safe state

630
Assume a system with 12 equivalent tape drives and 3 users sharing the drives:

Table 51: State I


State I

Users Current Loan Maximum Need


User (A) 1 4
User (B) 4 6
User (C) 5 8
Available 2

The state is ‘safe’ because it is still possible for all 3 users to finish i.e. the remaining 2 drives may
be given to users (B) who may run to completion after which six tapes would be released for user
(A) and user (C). Thus, the key to a state being safe is that there is at least one way for all user to
finish.

Example of an unsafe state

Table 52: State II


Users Current Maximum
Loan Need

User (A) 8 10

User (B) 2 5

User (C) 1 3

Available 1

A 3-way deadlock could occur if indeed each process needs to request at least one more drive
before releasing any drives to the pool.

NB: An unsafe state does not imply the existence of a deadlock of a deadlock. What an unsafe
state does imply is simply that some an unfortunate of events might lead to a deadlock.

631
Example of safe state to unsafe state transition

Table 53: State III (Safe)


Users Current Maximum
User (1) 1Loan 4Need
User (2) 4 6
User (3) 5 8
Available 2
If User (3) requests an additional resource

Table 54: State IV (Unsafe)


Users Current Maximum
Loan Need
User (A) 1 4

User (B) 4 6

User (C) 6 8

Available 1

Therefore, State IV is not necessarily deadlocked but the state has gone from a safe one to an
unsafe one. Thus, Dijkstra’s Bankers Algorithm, the mutual exclusion, wait-for and No-
preemption conditions are allowed but processes do not claim exclusive use of the resources they
require.

Weaknesses in the Banker’s Algorithm

Some serious weaknesses that might cause a designer to choose another approach to the deadlock
problem.

- Requires that the population of users remain fixed


- Requires that users state their max need in advance. Sometimes this may be
difficult.
- Requires that the Banker grant all requests within a finite time.

632
- Requires a fixed no of resources to allocate and this cannot be guaranteed due to
maintenance etc.
- The algorithm requires that clients (i.e. jobs) to repay all loans (i.e. return all
resources) within a finite time.
-
7.2.2.4 Learning Activities
Viewing Status of all processes running in a Windows 10 installed computer system
Steps
1. Press “Ctrl + Alt + Delete” and then choose “Task Manager”. Alternatively press “Ctrl + Shift
+ Esc” to directly open task manager.
2. To view a list of processes that are running on your computer, click “Processes”. Scroll down
to view the list of hidden and visible programs.
Figure 195: Task Manager
CPU, Memory, Disk, Network and
Power utilization

633
3. Check the description and the name to identify each process. Check the “memory” column to
see the memory capacity consumed by each process.
4. You can get additional information by searching online for the process name.
5. You can right-click on any active process and choose “End process” to end the program.
6. Press “Windows + S” to open the search pane. Type the name of the program you are trying
to find and it should appear on the returned results. Right click the file in search results and
click “Open file location”. Browse the folder to see the program that the process belongs to.
7. If you cannot find any information about the program, use the file name to search online. Sites
such as processLibrary.com can give you information on whether the program is a virus,
adware, or a spyware.
8. One can disable startup programs to boost your computer speed.

634
7.2.2.5 Self-Assessment
A. What is the first step when installing Windows onto a system that doesn’t already have a
functioning operating system?
B. Where is the best place to find Windows hardware compatibility information?
C. Describe the method used to add new hardware to a Windows 10 system if Plug and Play
does not work?
D. There are several algorithms used to allocate processor time to processes to ensure
optimum utilization of the processor and fair distribution of processor time among
competing processes. Describe the following algorithms and using the given table,
graphically illustrate the differences in the processor scheduling using the THREE
algorithms.
a. First Come First Served (FCFS)
b. Shortest Process Next (SPN)
c. Shortest Remaining Time (SRT)

Process Arrival Time Required Service


A 0 3
Time
B 2 6
C 4 4
D 5 5
F 8 2
7.2.2.6 Tools, Equipment, Supplies and Materials
 Functional computer
 Windows operating system
 Note pad

7.2.2.7 Model answers to self-assessment


A. What is the first step when installing Windows onto a system that doesn’t already have a
functioning operating system? We Partition the disk then format it to prepare it to store
files
B. Where is the best place to find Windows hardware compatibility information?
Manufacturer’s website

635
C. Describe the method used to add new hardware to a Windows 10 system if Plug and Play
does not work?
1. Run devmgmt.msc
2. Select the hardware device you want to add e.g. Network adapters
3. then click Action menu and select scan for hardware changes
D. There are several algorithms used to allocate processor time to processes to ensure
optimum utilization of the processor and fair distribution of processor time among
competing processes. Describe the following algorithms and using the given table,
graphically illustrate the differences in the processor scheduling using the THREE
algorithms.
a. First Come First Served (FCFS)
b. Shortest Process Next (SPN)
c. Shortest Remaining Time (SRT)
Process Arrival Time Required Service
A 0 3
Time
B 2 6
C 4 4
D 5 5
F 8 2

FCFS (First Come First Served)

 Each process joins the Ready queue


 When the current process ceases to execute, the process which has been in the Ready
queue the longest is selected

636
SPN (Shortest Process Next)

 Non-preemptive policy
 Process with shortest expected processing time is selected next
 Short process jumps ahead of longer processes

Shortest Remaining Time (SRM)

 Preemptive version of shortest process next policy


 Must estimate processing time and choose the shortest

7.2.2.7 References
Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

CompTIA. (2013). CompTIA A+. (Vol. 2013, Issue December 2).


http://certification.comptia.org/getCertified/certifications/a.aspx

637
Li, A. W. A. and K. (n.d.). Virtual Memory Primitives for User Programs.pdf.

Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2017). OPERATING SYSTEM ls s s i t.

Stallings, W. (2014). Operating Systems: Internals E Designs Principles. In Journal of Chemical


Information and Modeling.

638
7.2.3 Learning Outcome 3: Identifying concepts of Memory management.
7.2.3.1 Introduction to the learning outcome
Memory is key to the operation of a modern computer system. A computer memory consists of
a large array of words or bytes, each with its own logical address. Ideally a program resides on
a disk as a binary executable file. For a program to be executed it must be brought into memory
and placed within a process. Depending on the memory management in use the process may be
moved between disk and memory during its execution. Learning memory management basics,
empowers a computer technician to understand how programs utilize memory during execution.

7.2.3.2 Performance Standard


7.2.3.2.1 Definition of memory management is done.
7.2.3.2.2 Objectives of memory management are identified.
7.2.3.2.3 Memory management techniques are identified.
7.2.3.2.4 Memory management policies are identified.

7.2.3.3 Information sheet


Memory management
Memory management is the functionality of an operating system which handles or manages
primary memory and moves processes back and forth between main memory and disk during
execution. Memory management keeps track of each and every memory location, regardless
of either it is allocated to some process or it is free. It checks how much memory is to be
allocated to processes. It decides which process will get memory at what time. It tracks
whenever some memory gets freed or unallocated and correspondingly it updates the status.
A program resides in a disk as a binary executed file and must be brought into memory and placed
within a process for it to be executed. Collection of processes on the disk that are waiting to be
brought into memory for execution forms the input queue. Two registers a base and a limit are
used to provide protection. The base register holds the smallest legal physical memory address;
the limit register specifies the range of the size. For example, if a base register holds 300040 and
the limit register is 120900, then the program can legally access all addresses from 300040 through
420939 inclusive as shown in figure 13

639
Figure 196: A base and limit register defining a logical address space

Instructions and data to memory addresses can be done during the following times: -
 Compile time where the process will reside in order to generate the absolute code
 Load time where the compiler generates a re-locatable code.
 Execution time in the event a process is moved during its execution from one memory segment
to another

Objectives of memory management


 To provide a detailed description of various ways of organizing memory hardware.
 To discuss various memory-management techniques, including paging and segmentation.
 To provide a detailed description of the Intel Pentium, which supports both pure segmentation
and segmentation with paging.

Memory management techniques


Fixed partitioning: this partitioning approach divided into a fixed number of partitions such that
one process can be loaded into one partition at the same time. Strengths of this approach: easy to
implement it and slandered method as a partitioning solution. Weaknesses of this approach
includes; -
 It is limited to largest partition size
 Insufficient use due to the internal fragmentation
 One must know the maximum number of active processes that can run
 The degree of multiprogramming is limited by the number of partitions
 Memory is wasted in the partition

640
 It must translate relative address to physical address.
 It is fixed in terms of the size of the task

Dynamic partitioning
Partitions are created dynamically, each process loaded into a partition has exactly the same size
as the process.
Strength of this approach include:
 Ensures more efficient use of the main memory and no internal fragmentation.

Weaknesses of this approach include:


 Inefficient use of processor because of the need for compaction and external fragmentation.

Virtual memory
A storage allocation scheme in which secondary memory can be addressed as though it were part
of main memory. Virtual memory allows the execution of processes which are note completely
available in memory. The addresses a program may use to reference memory are distinguished
from the addresses the memory system uses to identify physical storage sites, and program-
generated addresses are translated automatically to the corresponding machine addresses. Virtual
memory is the separation of user logical memory from physical memory. The size of virtual storage
is limited by the addressing scheme of the computer system and by the amount of secondary
memory available and not by the actual number of main storage locations.

Figure 197: Virtual Memory View

641
Thrashing
At any given time, only few pages of any process are in main memory and therefore more processes
can be maintained in memory. Furthermore, time is saved because unused pages are not swapped
in and out of memory. However, the OS must be clever about how it manages this scheme. In the
steady state practically, all of main memory will be occupied with process’s pages, so that the
processor and OS have direct access to as many processes as possible. Thus, when the OS brings
one page in, it must throw another out. If it throws out a page just before it is used, then it will just
have to get that page again almost immediately. Too much of this leads to a condition called
Thrashing. The system spends most of its time swapping pages rather than executing instructions.

Causes of Thrashing:
1. High degree of multiprogramming: If the number of processes keeps on increasing in the
memory than number of frames allocated to each process will be decreased. So, less number
of frames will be available to each process. Due to this, page fault will occur more frequently
and more CPU time will be wasted in just swapping in and out of pages and the utilization will
keep on decreasing.

642
For example:
Let free frames = 400
Case 1: Number of process = 100
Then, each process will get 4 frames.
Case 2: Number of process = 400
Each process will get 1 frame.

Case 2 is a condition of thrashing, as the number of processes are increased, frames per process
are decreased. Hence CPU time will be consumed in just swapping pages.

2. Lacks of Frames: If a process has a smaller number of frames then less pages of that process
will be able to reside in memory and hence more frequent swapping in and out will be required.
This may lead to thrashing. Hence sufficient number of frames must be allocated to each
process in order to prevent thrashing.

Recovery of Thrashing:

1. Do not allow the system to go into thrashing by instructing the long-term scheduler not to
bring the processes into memory after the threshold.
2. If the system is already in thrashing then instruct the mid-term schedular to suspend some of
the processes so that we can recover the system from thrashing.

Memory Allocation Techniques


To improve both utilization of the CPU and the speed of computer’s response to its users, it is
important for the OS to manage its resource. One of that resource is the memory. The easiest way
to manage it is by the fooling list of techniques: -

Overlays
The main problem in fixed partitioning is the size of a process has to be limited by the maximum
size of the partition, which means a process can never be span over another. To solve this problem,
earlier systems have used solution called Overlays.

643
The concept of overlays is that whenever a process is running it will not use the complete program
at the same time, it will use only some part of it. Whatever part you required, you load it on once
the part is done, then you just unload it, means just pull it back and get the new part you required
and run it. Overlays is the process of transferring a block of program code or other data into internal
memory, replacing what is already stored. Sometimes it happens that compared to the size of the
biggest partition, the size of the program will be even more, then, in that case, you should go with
overlays.

In conclusion, overlay is a technique to run a program that is bigger than the size of the physical
memory by keeping only those instructions and data that are needed at any given time. It divides
the program into modules in such a way that not all modules need to be in the memory at the same
time.

Advantages
 Reduce memory requirement
 Reduce time requirement

Disadvantages
 Overlap map must be specified by programmer
 Overlapped module must be completely disjoint
 Programmer must know memory requirement
 Programming design of overlays structure is complex and not possible in all cases

Paging
Paging is a technique in which the main memory of computer system is organized in the form of
equal sized blocks called pages. In this technique, the address of occupied pages of physical
memory are stored in a table, which is known as page table. Paging enables the operating system
to obtain data from the physical memory location without specifying lengthy memory address in
the instruction.

644
In this method, the virtual address is used to map the physical address of the data. The length of
virtual address is specified in the instruction and is smaller than physical address of the data. It
consists the address of page called virtual page in the page table and the offset value of the actual
data in the page.

Figure 198: Virtual Address Space

The above figure shows how the virtual address is used to obtain the physical address of an
occupied page of physical memory using a page table.

Segmentation
Segmentation refers to the technique of dividing the physical memory space into multiple blocks.
Each block has specific length and is known as a segment. Each segment has a starting address
called the base address. The length of the segment determines the available memory space in the
segment.
Figure 199: Organization of segment in memory unit

645
The location of data values stored in the segment can be determined by the distance of actual
position of data value from base address of the segment. Displacement or Offset value is the
distance between the actual position of data and the base address of segment. In other words, when
there is a need to obtain data from required segmented memory then the actual address of data is
calculated by adding the base address of the segment with offset value.

The base address of the segment and the offset value is specified in a program instruction itself.
The following figure shows how the actual position of an operand in a segment is obtained by
adding the base address and offset value.

Figure 200: Base address and offset value

646
Swapping
User programs do not remain in main memory until completion. In some systems one job occupies
the main storage once. That job runs then when it can no longer continue it relinquishes both
storage and CPU to the next job. Thus, the entire storage is dedicated to one job for a brief period,
it is then removed (i.e. swapped out or rolled out) and next job is brought in (swapped in or rolled
in). A job will normally be swapped in and out many times before it is completed. It guarantees
reasonable response times

Memory management policies


Memory management handles primary memory and moves processes back and forth between
memory and disk during execution. It keeps track of each and every memory location irrespective
of whether a process has been allocated to it or not. It checks how much memory is to be allocated
to a process(s). The decision of when to allocate memory to a process rests with memory
management policies.
The runtime mapping from virtual address to physical address is done by the memory management
unit (MMU) which is a hardware device. It converts a virtual address to physical address by adding
a value in the base register to every address generated by a user process.
Main memory management policy includes swapping and segmentation.

647
Swapping entails managing space on the swap device, swapping processes into and out of main
memory. Swap device is simply a block device in a configurable section of a disk. Consequently,
the swap space is allocated in form of contiguous blocks instead of single block allocation for files.
This allocation space is transitory (temporary) since a process that resides in the swap space will
eventually migrate to main memory. The kernel allocates contiguous space on the swap device
without regard for fragmentation because faster I/O transfer is critical.

The Kernel maintains free space for the swap device in a table called the map (An array where
each entry consists of an address of an allocatable resource and the number of resource units
available). Consequently, the kernel interprets the address and units according to the type of map.
At first, a map contains one entry that indicates the address and the total number of resources and
then responds appropriately as the allocation increases as shown in figure 18, 19 and 20:

Figure 201: Sample Map: Interpreted as 1000 free blocks starting from address 1

Address Units

1 1000

Figure 202: State of the Map after allocation 100 units

Address Units

101 900

648
Figure 203: State of the map after allocating 50 units

Address Units

151 850

The kernel finds the proper position in the map address every time it frees resources using the
following possible mechanisms: -
a) The freed resources fill a hole in the map completely i.e. the kernel combines the newly
freed resources and the existing two entries into one entry in the table.
b) The freed resources partially fill a hole but are not contiguous to any resources in the map
thus a new entry is created and inserted in the proper position.
c) The freed resource partially fills a hole and the kernel adjusts the address and units filed of
an appropriate entry to account for the resources just freed.

Swapping Processes Out


Swapping out occurs when the kernel requires space in memory under the following situations:

 When the fork system call must allocate space for a child process.
 When the brk system call increases the size of a process.
 When a process becomes larger by the natural growth of its stack.
 When the kernel wants to free space in memory for processes it had previously swapped out
and should now swap in.

The kernel decrements the reference count of each region in the process and swaps the region out
if its reference count drops to 0 every time it decides a process is eligible for swapping. It allocates
space on a swap device and locks in memory thus prevents swapping it out while the current swap
operation is in session. At the same time, it saves the swap address of the region in the map.

649
The buffer cache is circumvented when the kernel swaps data between the swap device and user
address space. In the event memory is organized in pages, the data to be swapped out is most likely
to be discontiguous in physical memory. The kernel gathers the page addresses of data to be
swapped out, and the disk driver may use the collection of page addresses to set up the I/O. The
swapper waits for each I/O operation to complete before swapping out other data.
Figure 204:Mapping the image of a process onto a swap device

Layout of Virtual Swap


and Physical Device
addresses

0 278K 684
Text
1K 432K
empty
.
.
Data
64 K 573K
65 K 647K
66 K 595K 690

.
Stack
.
.
128K 401K
empty

NB: The virtual address space is depicted as a linear array of page table entries, disregarding the
fact that each region usually has a separate page table.

Demand paging
A kernel that implements a demand paging algorithm (swapping memory pages between the main
memory and a swap unit) can support machines whose memory architectures are based on pages
and whose CPU has restart-able instructions.

650
Demand paging systems free processes from size confines otherwise imposed by the amount of
physical memory available on a machine. However, the kernel has a limit on the virtual size of a
process depending on the amount of virtual memory the machine can address. Demand paging is
transparent to the user except for the virtual size allowed to a process. The Text portion (contains
frequently called subroutines and program loops) forms a small subset of the total space of the
entire process. This is referred to as the principle of locality.

Segmentation refers to the technique of dividing the physical memory space into multiple blocks.
Each block has specific length and is known as a segment. Each segment has a starting address
called the base address. The length of the segment determines the availability of memory space in
the segment.

Process Address Space


It is a set of logical addresses that a process references in its code. Addresses can range from 0 to
0x7fffffffff when 32-bit addressing is in use; that is, 2^31 possible numbers, for a total theoretical
size of 2 gigabytes. The OS maps the logical addresses to physical addresses during memory
allocation to the program through: -
a) Physical address space where the loader generates the addresses at the time when a program
is loaded into the main memory.
b) Relative address space where during compilation the compiler converts symbolic addresses
into relative addresses
c) Symbolic addresses space where the variable names, constants and instruction labels are
the basic elements of the symbolic address space.
The set of all physical addresses corresponding to logical addresses is referred to as physical
address space while the set of all logical addresses generated by a program is referred to as logical
address space.

Fetch Policy
The fetch policy determines when a page should be brought into main memory. It uses either
demand paging or pre-paging. For demand paging, a page will be brought into main memory when
a reference is made to a location on that page. If this is chosen by virtual memory subsystem when

651
a process is first started, there will be a flurry of page faults. The more the pages brought in the
less likely occurrence of page faults, due to the principle of locality (the most recently visited pages
will be most likely to be visited again). The pages are already in main memory.
For pre-paging, pages are brought in even when they are not requested. This method usually takes
advantage of the characteristic of secondary memory devices. For example, a disk where pages are
stored on a track consecutively, pages aught to be read along the track where the read head of the
disk has to pass. It is often an effective method since related instructions are more likely to be
neighbors and thus stored adjacently. This policy is used when a process is first started up to avoid
frequent page fault.

Placement policy

The placement policy determines where in real memory a process piece should to reside. This
policy is an important issue only in pure segmentation systems, because with paging, a page is the
unit for main memory and virtual memory management and placement is usually irrelevant. This
is because the address translation hardware and the main memory access hardware can perform
their functions for any page-frame combination with equal efficiency. Simple algorithms can be
used in a pure segmentation, where a segment requires a contiguous space whose size is at least
same as the size of the segment. Algorithms such as first-fit algorithm

Page Replacement Policy


This policy is used to find location of page on a disk and also find a free page frame. It works by
following the following algorithms:
1. Find the location of a free page on a disk
2. Find a free page frame
1. When a free page is found, use it.
2. Otherwise, select a page frame using the page replacement algorithm
3. Write the selected page to the disk and update any necessary tables
3. Read the requested page from the disk
4. Restart the instruction.
Some of the page replacement strategies used include: -

652
1. Random page replacement where a page is chosen randomly
2. The principle of optimality where a page that will not be used most of the time in the future
is replaced
3. First in First out (FIFO) strategy where a page that has been in primary memory for long
is replaced
4. Least Recently Used (LRU) strategy where a page that has not been used for a long time is
replaced
5. Least Frequently Used (LFU) strategy where a page that is used least often is replaced

7.2.3.4 Learning Activities


Learning Activity One
Configure Virtual Memory in a Personal Computer
The size of virtual memory can sometimes be adjusted by a computer user to improve system
performance and augment the existing RAM in a computer. Using MS-Windows Operating
System, discover if you can change the size of virtual memory, how to do so, and the minimum
and maximum recommended sizes of virtual memory for the computer you are using. Cite the
steps required to retrieve the desired information. NB: Do not change the size of your virtual
memory settings. This learning activity is for research purposes only. While you are at it determine:
a) Your system configuration:
b) Examine and observe the memory demand of an executing process
c) Examine the effect of increased demand for memory resources

Learning Activity Two


Compare TWO processors currently being produced for laptop computers. Use standard industry
benchmarks for your comparison and briefly list the advantages and disadvantages of each. You
can compare different processors from different manufacturers (such as Intel and AMD) or from
same manufacturer (such as two Intel processors) or different processors.

7.2.3.5 Self-Assessment
A. Discuss the following memory placement strategies
i. First fit

653
ii. Best fit
iii. Worst fit
B. System software is computer software designed to operate the computer hardware and to
provide a platform for running application software. Elaborate on the following types of system
software:
i. Device drivers
ii. The operating system
iii. Utility software
iv. Window systems
C. In memory management and file naming convention what do the following file extension
stands for:
i. File.bak
ii. File.c
iii. File.txt
iv. File.zip
v. File.o
D. Differentiate between Paging and Segmentation as applied in memory management
E. Describe demand paging and prepaging as used in virtual memory page fetch policies. Justify
the less common in practice.

7.2.3.6 Tools, Equipment, Supplies and Materials


 Physical PC
 Memory Modules from different manufacturers, different types and sizes
 Antistatic wrist wrap
 Internet for research purposes

7.2.3.7 Model answers to self-assessment


A. Discuss the following memory placement strategies
i. First fit
 Scans memory form the beginning and chooses the first available block that is large
enough

654
 Fastest
 May have many processes loaded in the front end of memory that must be searched over
when trying to find a free block
ii. Best fit
 Chooses the block that is closest in size to the request
 Worst performer overall
 Since smallest block is found for process, the smallest amount of fragmentation is left
memory compaction must be done more often
iii. Worst fit
 More often allocate a block of memory at the end of memory where the largest block is
found
 The largest block of memory is broken up into smaller blocks
 Compaction is required to obtain a large block at the end of memory
B. System software is computer software designed to operate the computer hardware and to
provide a platform for running application software. Elaborate on the following types of
system software:
i. Device drivers
Provides basic functionality to operate and control the hardware connected to or built
into the computer such as computer BIOS and device firmware.
ii. The operating system
It allows the parts of a computer to work together by performing tasks like transferring
data between memory and disks or rendering output onto a display device. It also
provides user interface through which users interact with the system as well as a
platform to run high-level system software and application software.
iii. Utility software
This software helps to analyze, configure, optimize and maintain the computer.
iv. Window systems
They are components of a graphical user interface (GUI), and more specifically of a
desktop environment, which supports the implementation of window managers, and
provides basic support for graphics hardware, pointing devices such as mice, and
keyboards. The mouse cursor is also generally drawn by the windowing system.

655
C. In memory management and file naming convention what do the following file extension
stands for:
i. File.bak
Backup of another document often created automatically by the operating system or various
programs such as AutoCAD; Windows may create BAK files for the System.ini and Win.ini
files.
ii. File.c
Header file in C programming
iii. File.txt
Standard text document that contains unformatted text; recognized by any text editing or word
processing program; can also be processed by most other software programs.
iv. File.zip
File compressed or "zipped" using Zip compression, a common type of compression in which
every file in the archive is compressed separately; supported by most file
compression/decompression programs.
v. File.o
Object file produced by a C compiler; often created instead of a program file during the
development process.
D. Differentiate between Paging and Segmentation as applied in memory management.
Paging is a technique in which physical memory is broken into blocks of the same size
called pages (size is power of 2, between 512 bytes and 8192 bytes) while Segmentation is
a technique to break memory into logical pieces where each piece represents a group of
related information (segments).
E. Describe demand paging and preparing as used in virtual memory page fetch policies.
Justify the less common in practice.
Demand paging – is where relevant pages are loaded as page faults occur. It loads pages when
page fault occurs (fetch on demand) and it is more common than preparing.
Pre paging - try to load pages for a process before they're accessed. Wastes I/O bandwidth if
pages are loaded unnecessarily and worse if an unnecessary page kicks out a necessary page.
Pre-paging brings in more pages than needed at the moment. I/O is improved due to reading

656
large chunks but waste bandwidth if pages aren't used. Especially bad if we eject pages in
working set in order to pre-fetch unused pages. Rarely used in practice.

7.2.3.8 References

Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

CompTIA. (2013). CompTIA A+. (Vol. 2013, Issue December 2).


http://certification.comptia.org/getCertified/certifications/a.aspx

Li, A. W. A. and K. (n.d.). Virtual Memory Primitives for User Programs.pdf.

Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2017). OPERATING SYSTEM ls s s i t.

Stallings, W. (2014). Operating Systems: Internals E Designs Principles. In Journal of Chemical


Information and Modeling.

7.2.4 Learning Outcome 4 Identifying concepts of Input and Output devices


7.2.4.1 Introduction to the learning outcome
Input Output devices (I/O) provides communication between a processing system and the
users. It is critical to understand how signals or data is received by a computer system and how
they are processed and released for display using output devices. As a technician mastering

657
this concept enables you to set up a computer system, setup a video conferencing, troubleshoot
I/O devices among others.

7.2.4.2 Performance Standard


7.2.4.2.1 Definition of input and output devices is done.
7.2.4.2.2 Objectives of input/output device management are identified
7.2.4.2.3 Concepts of input and output devices are identified.
7.2.4.2.4 Input/output devices software are explained.
7.2.4.2.5 Description of disk and disk operations are done.
7.2.4.2.6 Explanation of computer clock system is done.
7.2.4.2.7 Computer terminals are identified.
7.2.4.2.8 Virtual devices are defined.

7.2.4.3 Information Sheet


Input and output devices definition.
Computers operate many types of devices including transmission devices such as network cards,
human-interface devices such as keyboard, mouse and storage devices such as tapes and disks etc.
Input devices
It is a device that transfers information outside the computer system to an internal storage location,
such as system RAM, video RAM, flash memory, or disk storage (CompTIA, 2013). Without input
devices, computers would be unable to change state from their originally manufactured intent.
Examples of input devices include Mouse, Keyboard, Barcode reader, Scanner, Digital camera,
Microphone, Joystick, Biometric devices, Touch screens, Webcam, Graphic tablet etc.
Output devices
These devices are used to put information from the computer onto a screen or paper. It receives
data from a computer and then translates that data into another form. Examples include braille
reader, printer, monitor, headphones, computer speakers, projector, Sound card, video card, speech
generating device, GPS (Global Positioning System) device etc.

Concepts of input and output devices.


I/O devices are categorized into

658
a. Human readable: - these devices are suitable for communicating with the computer user such as
video display, printers, keyboard etc.
b. Machine readable: - these devices are suitable for communicating with electronic equipment
e.g. tape drives and disk, sensors, controlled and actuators.
c. Communication devices: -these devices are suitable for communicating with remote devices
The I/O devices differ in terms of; Data rate/data transfer rates, Application (different use in the
system), Unit of transfer (as a byte, character or unit of large blocks), Data representation
(encoding schemes), Error conditions of the devices.
Device controllers
The functions of the device controllers is to move data between devices and main memory usually
performed by the CPU. The Kernel module is the one that controls a device driver.

It can be viewed as the call interface designed to handle several basic categories of hardware
devices. A computer system contains a number of I/O devices and their respective controllers for
instance Network card, Graphics adapter, Disk controller, CD/DVD -ROM controller, USB, Sound
card, serial port.

Direct Memory Access (DMA input/output)

DMA is a special control unit provided to allow transfer of a block of data directly between an
external device and the main memory without the continuous intervention of the CPU.

DMA can be used with either interrupt software and polling. This technique is useful on devices
such as disks where large number of bytes of information is transferred in a single I/O operation.
Interaction with a device controller is managed through device drivers thus part of operating
system. In Linux OS for instance devices are accessible through the /dev file system.

Figure 205: DMA Operations

659
DMA Operations
1. CPU issues DMA request to controller
2. Controller directs data transfer
3. Controller interrupts CPU

Input/Output device software.


The goal of the I/O software is to ensure device independence. It should be possible to write
programs that can access any I/O device without necessarily specifying the device in advance. It
is the duty of I/O software to take care of the challenges caused by the fact that the I/O devices are
different and require very different command sequences to read or write whether its an IDE disk
or a SCSI disk.
The I/O software should also manage uniform naming of files. The name of a file or device should
be a string or integer not dependent on the device in any manner. For example, in UNIX OS all
disks can be integrated into the file system hierarchy in arbitrary ways as such the user need not
be aware of which name corresponds to which device i.e. all devices are addressed in a similar
manner using path name.
I/O software performs error handling. It ensures errors are handled close to the hardware as
possible. Once the controller discovers an error it corrects immediately. If it can’t manage then the
device should handle it
I/O software enables buffering especially when data that come off a device cannot be stored
directly in its final destination. Packets coming from a network need a temporary storage before
being examined and accepted by the device

660
I/O enables sharing of devices and also supports dedicated devices. A disk can be accessed and
used by multiple users because of the I/O software.

Layers of the I/O software system

Figure 206: Layers of the I/O software system

User level I/O software

Device independent OS software

Device Drivers

Interrupt handlers

Hardware

Hardware constitutes the Input/ output device using a controller to communicate to a


motherboard e.g. IDE, SCSI etc.

Interrupt handlers
Interrupts should be hidden from user by the operating system, so that as little of the operating
system as possible knows about them. The ideal way to hide them is to have the driver starting
an I/O operation block until the I/O has completed and the interrupt occurs. The driver can block
itself by doing a down on a semaphore, a wait on a condition variable or a receive on a message.

Device drivers
Each I/O device attached to computer requires device specific code for controlling it. It is
generally written by the device manufactures and delivered via a disk or via manufacturers
website. Each device driver usually handles one device type, or one class of related devices. OS
classify drivers as block devices (e.g. disks) or character devices (e.g. keyboard).

661
Device-independent I/O software
In spite of some of the I/O software being device specific, a large fraction of it is device
independent. The rudimentary functions of the I/O software is to perform the I/O functions that
are common to all devices and to provide a uniform interface to the user-level software thereby
enabling uniform interfacing for device drivers, buffering, error reporting, release and allocation
of dedicated devices and providing a device-independent block size.

 Input and output software layers

The I/O software design must ensure device independent where it should be possible to write
programs that can access any I/O device without having to specify the device in advance. For
instance, a program that reads a file as an input should be able to read a file on a flash disk, on a
hard disk, or on a DVD-ROM, without having to alter the program for each different device.

The I/O software layers are categorized as: -


Hardware: This layer includes actual hardware and hardware controller which interact with the
device drivers to ensure the hardware device is functional.

User Level Libraries: This layer provides simple interface to the user program to perform input
and output functions e.g., stdio is a library provided by C and C++ programming languages.

Kernel Level Modules: This layer provides device driver to interact with the device controller
and device independent I/O modules used by the device drivers.

Interrupts
The CPU hardware has an inbuilt mechanism that the CPU senses after executing every instruction.
When the CPU detects that a controller has asserted a signal on the interrupt request line, the CPU
saves small amount of state such as the current value of the instruction pointer and it jumps to the
interrupt handler routine at a fixed address in memory.

662
Interrupt handler determines the cause of the interrupt, performs the required processing and
executes a return from interrupt instruction to return to return the CPU to the execution state prior
to the interrupt.

Sophisticated interrupt handling features need to be implemented in modern Operating System.


Features such as ability to defer interrupt handling during critical processing, efficient way of
dispatching properly interrupt handler for a device, multilevel interrupts to distinguish low level
and high-level interrupts.
CPUs can use non-maskable interrupt (reserved for unrecoverable memory errors) or maskable
interrupt (can be turned off by the CPU before the execution of critical instruction sequences that
must not be interrupted). Maskable interrupt is used by device controllers to request service.

 Principles of input and output software


 Input and output software layers

Description of disk and disk operations.


 Structure
Disk provides the largest storage of computer system. It can be considered the I/O device common
to each and every computer. Disk come in various sizes and speeds. Information inside the disk
can be stored optically or magnetically. Magnetic tape was the earlier secondary storage device
however the access time is much slower than for disks. Tapes are currently used for backup.

Modern disk drives are addressed as large one-dimensional arrays of logical blocks, where the
logical block is the smallest unit of transfer. The Operating system, the nature of the I/O channel
and disk controller hardware determines the actual details of disk I/O operation.

The basic unit of information storage is a sector stored on a flat, circular, media disk. The media
spins close to one or more read/write heads which moves from the inner section of the disk to the
outer section. During operation the disk rotates at a constant speed. The head must be positioned
at the desired track and at the beginning of the desired sector on that track electronically. In
summary, the main components of hard disk drive include: -

663
Platters: These are disk like structures present on the hard disk, stacked one above the other and
store the data
Actuator: It is a device, consisting of the read-write head that moves over the hard disk con to
save or retrieve information
Spindle: It is the spinning shaft on which holds the platters in a fixed position such that it is
feasible for the read/write arms to get the data on the disks
Head: it is a device on the arm of the hard drive that reads or writes data on the magnetic platters
mounted on the surface of the drive
Cylinder are the circular tracks on the platters of the disk drive at equal distances from the center

Figure 207: Hard Disk

Sources: Info-savvy

 Operations

664
During operation the disk rotates at constant speed and to read or write, the head must be
positioned at the desired track and sector. Selecting a track entails moving the head in a movable-
head system and the time it takes to position the head at the track is known as seek time.
Upon selection of the track, the disk controller waits until the appropriate sector rotates to line up
with the head. This is known as rotational delay/rotational latency.
The sum of the seek time and the rotational delay gives us the access time i.e. the time it takes to
get into position to read or write.

Once the head is in position, the read write operation is then performed as the sector moves under
the head a process known as transfer time i.e. (the data transfer portion of the operation; the
time required for the transfer is the transfer time)

Seek time is the time needed to move the disk arm to the required track. It consists of two key
components: the initial startup time and the time taken to traverse the tracks that have to be
crossed once the access arm is up to speed.
On average disks have a rotational delay of about 2ms. However floppy disks by virtue of rotating
between 300 and 600rpm have an average delay of between 50 and 100 ms. The transfer time to
or from the disk depends on the rotation speed of the disk as displayed by the formula below:
T = b/rN
where
T = transfer time
b = number of bytes to be transferred
N = number of bytes on a track
r = rotation speed, in revolutions per second

 Disk arm scheduling algorithms


The amount of head needed to satisfy a series of I/O request affects the disk performance. If
desired disk drive and controller are available, the request can be serviced immediately. If a
device or controller is busy, any new requests for service will be placed on the queue of pending
requests for that drive. When one request is completed, the operating system chooses which
pending request is to be serviced next.

665
Examples of scheduling algorithms include: -

a. First In First Out (FIFO)

First Come, First Served scheduling algorithm (FCFS). It is an algorithm that processes items
from the queue in a sequential order. This strategy has the advantage of being fair, because every
request is honored in the order received. With FIFO, if there are only a few processes that require
access and if many of the requests are to clustered file sectors, then we can hope for good
performance. To improve throughput and queue length the disk can take advantage of priority
(PRI) and last in first out transactions processing systems.

b. Shortest Seek Time First (SSFT)


SSFT uses a policy that selects the disk I/O request that requires the least movement of the disk
arm from its current position. The main challenge is there may always be new requests arriving
that will be chosen before an existing request SSTF provides better performance than FCFS
algorithm. Under heavy load, SSTF can prevent distant request from ever being serviced, a
phenomenon known as starvation. SSTF scheduling is essentially a form of shortest job first
scheduling. SSTF scheduling algorithm are not very popular because of two reasons.
1. Possible existence of Starvation
2. It increases higher overheads.

c. SCAN
This algorithm used the head start at track 0 and move towards the highest numbered track,
servicing all requests for a track as it passes the track. The service direction is then reserved and
the scan proceeds in the opposite direction, again picking up all requests in order. SCAN
algorithm is guaranteed to service every request in one complete pass through the disk. SCAN
algorithm behaves almost identically with the SSTF algorithm. The SCAN algorithm is also
called elevator algorithm.

d. Circular-SCAN (C-SCAN)

666
C SCAN Scheduling Algorithm restricts scanning to one direction only. Implying, when the last
track has been visited in one direction, the arm is returned to the opposite end of the disk and the
scan begins again. This reduces the maximum delay experienced by new requests.

e. LOOK
This algorithm starts with the head moving in one direction. It satisfies the request for the closest
track in that direction. When there is no more request in the direction, the head is traveling,
reverse direction and repeat. This algorithm is similar to innermost and outermost track on each
circuit.
f. Circular LOOK (C-LOOK)

It is an enhanced version of both SCAN and LOOK disk scheduling algorithms. It uses the idea
of wrapping the tracks as a circular cylinder as C-SCAN algorithm but the seek time is better than
C-SCAN algorithm. Both C-SCAN and C-LOOK are used to avoid starvation and services
requests more uniformly. In C-LOOK algorithm, the head services requests only in one
direction(either left or right) until all the requests in this direction are not serviced and then jumps
back to the farthest request on the other direction and service the remaining requests which gives
a better uniform servicing as well as avoids wasting seek time for going till the end of the disk.
Disk Management
One of the functions of the Operating system is to manage all disks connected to a computer
system.
Disk formatting is one of the activities performed during disk management. One can perform: -
a) Physical formatting or low-level formatting.
b) Logical Formatting

Physical Formatting
A disk must be formatted before storing data. Disk must be divided into sectors that the disk
controllers can read/write. Low level formatting files the disk with a special data structure for
each sector usually done at the factory.
Data structure consists of three fields: header, data area and trailer. Header and trailer contain
information used by the disk controller. Sector number and Error Correcting Codes (ECC)

667
contained in the header and trailer. For writing data to the sector – ECC is updated. For reading
data from the sector – ECC is recalculated.

Logical Formatting
After disk is partitioned, the logical formatting follows where the operating system stores the
initial file system data structures onto the disk.

 RAM disk
Boot Block
When a computer system is powered up or rebooted, a program in read only memory executes as
the diagnostic check is done first. Stage 0 boot program is executed. Boot program reads the first
sector from the boot device and contains a stage-1 boot program. Sometimes a boot sector may
not contain a boot program. For a PC to boot from hard disk, the boot sector must contain a
partition table. The code in the boot ROM instructs the disk controller to read the boot blocks
into memory and then begins executing that code.
Swap Space Management
Swap space management is low level task of the operating system with the main of providing the
best throughput for the virtual memory system.

Swap-Space Use
The operating system needs to release sufficient main memory to bring in a process that is ready
to execute. Operating system uses this swap space in various way. Paging systems may simply
store pages that have been pushed out of main memory. Unix operating system allows the use of
multiple swap space are usually put on separate disks, so the load placed on the I/O system by
paging and swapping can be spread over the systems I/O devices.

Swap Space Location


Swap space resides in two places: Separate disk partition or Normal file System. If the swap space
is simply a large file within the file system, normal file system routines can be used to create it,
name it and allocate its space. This is easy to implement but also inefficient. External
fragmentation can greatly increase swapping times.

668
Catching is used to improve the system performance. Block of information is cached in the
physical memory, and by using special tools to allocate physically continuous blocks for the swap
file.

Swap space can be created in a separate disk partition. No file system or directory structure is
placed on this space. A separate swap space storage manager is used to allocate and deallocate
the blocks. This manager uses algorithms optimized for speed. Internal fragmentation may
increase. Some operating systems are flexible and can swap both in raw partitions and in file
system space.
 RAID
Redundant Array of Independent Disks is a way of combining the storage power of more than one
hard disk for a special purpose such as increased performance or fault tolerance (CompTIA, 2013).
RAID is more commonly done with SCSI drives, but it can be done with IDE drives too.
A RAID System should provide: -
 Reliability: How many disk faults can the system tolerate?
 Availability: How available is the system for actual use?
 Performance: How good is the response time? How high is the throughput (rate of
processing work)?
 Capacity: Given a set of N disks each with B blocks, how much useful capacity is available
to the user?

There are several types of RAID. The following are the most commonly used RAID levels:
RAID 0 - disk striping.
Data is written across multiple drives, so one drive can be reading or writing while the next drive’s
read-write head is moving. This makes for faster data access. However, if any one of the drives
fails, all content is lost. Technically it is not RAID, since it doesn’t provide fault tolerance.

RAID 1 - disk mirroring. This is a technique of producing fault tolerance by writing all data
simultaneously to two separate drives.

669
when one drive fails, the other drive contains all the data and can be switched to. However, disk
mirroring doesn’t help access speed, and it is
costly compared to having a single drive.

RAID 5 Combines the benefits of both RAID 0 and RAID 1. It uses a parity block distributed
across all the drives in the array and strips the data across the disks. That way, if one drive fails,
the parity information can be used to recover what was on the failed drive.
Ideally a minimum of three drives is required.

Computer clock system.


Most computing devices have hardware clocks and timers that provide three basic functions:
1. Give the current time
2. Give the elapsed time
3. Set a timer to trigger operation X at time T
These functions are used heavily by the operating system, and also by time sensitive applications.
Programmable interval timer measures elapsed time and trigger operations.

Computer terminals.
Terminals provide a means via which devices communicate with the computer consistently.
Computer terminals can be referred to as an electronic or electromechanical hardware device that
is used for entering data into, and displaying data from, a computer or a computing system.

 Terminal hardware
Based on how the operating system communicates with them, as well as their actual hardware
features, terminals can be divided into three different categories namely: Memory-mapped
terminals (consists of a keyboard and a display hardwired to the computer), RS-232 Interface
terminals (terminals that interface the computer via a serial interface eg modems, mainframes)
and network interface terminals (eg the X terminal)

Figure 208: Terminal Types

670
Terminal

Memory- Network
RS-232
Mapped
Interface
Interface Interface

Character Intelligent X
Bit oriented Glass tty
Oriented Terminal Terminal

Memory-Mapped Terminals
These are an integral part of the computers. They consist of a display and a keyboard. Memory
mapped displays are interfaced via a special memory called a video RAM, which forms part of
the computer’s address space and is addressed by the CPU the same way as the rest of memory.
These terminals use a chip called video controller on the video RAM card to pull bytes out of the
video RAM and generate the video signal used to drive the display. Displays are usually one of
two types: CRT monitors or flat panel displays.

A CRT monitor generates a beam of electrons that scans horizontally across the screen, painting
lines on it. Typically, the screen has 480 to 1200 lines from top to bottom, with 640 to 1920 points
per line. These points are referred to as pixels.

The Flat panel monitor uses a thin panel design instead of a traditional cathode ray tube (CRT)
design. The screens are much lighter and thinner, and can be much more portable than traditional
televisions and monitors. The video controller signal modulates the intensity of the electron beam,
determining whether a given pixel will be light or dark. Color monitors have three beams, for red,
green, and blue, which are modulated independently.

RS-232 Terminals

671
RS-232 terminals are devices that communicates using a serial interface, one bit at a time. These
terminals use either a 9-pin or 25-pin connector, of which one pin is used for transmitting data,
one pin is for receiving data, and one pin is ground. The other pins are for various control
functions, most of which are not used.

To send a character to an RS-232 terminal, the computer must transmit it 1 bit at a time, prefixed
by a start bit, and followed by 1 or 2 stop bits to delimit the character. A parity bit which provides
rudimentary error detection may also be inserted preceding the stop bits, although this is
commonly required only for communication with mainframe systems.

Common transmission rates are 14,400 bits/sec (for fax) and 56,000 bits/sec (for data). RS-232
terminals are commonly used to communicate with a remote computer using a modem and a
telephone line.

 Terminal software
Terminal software makes it possible for devices to function in a computing system. For instance
the keyboard and the display are almost independent devices thus can be split into distinct drivers.

Input software
The main task is to collect input from the keyboard and pass it to user programs when they read
from the terminal. Its job is to accept input and pass it upward unmodified by getting a sequence
of ASCII codes. The can either use raw mode (Non canonical) or cooked mode (Canonical) to read
the sequence of inputs.

Output software
RS-232 terminals use output buffers associated with each terminal to display content. The buffers
may come from the same pool as the input buffers, or be dedicated, as with input. When programs
write to the terminal, the output is first copied to the buffers. Similarly, output from echoing is
also copied to the buffers. After all the output details have been copied to the buffers (or the buffers

672
are full), the first character is output, and the driver goes to sleep. When the interrupt comes in, the
next character is output, and so on.
Virtual devices.
In operating systems, a virtual device refers to a device file which has no physical hardware
associated with it. It only exists in software form. It makes the real computer believe that a
particular hardware exists when it really does not.
 Objectives of virtual device
The main objective of the virtual device is to create a virtual environment where a technician can
use to fix an error in the operating system or a bug/virus detected by supposing that an external
device is monitoring it.
There exist several virtual devices such as RAM, loopback device, pipe, socket, video and media
to mention a few.
These devices use virtual device drivers to function. These drivers allow more than one
application to access the same memory or physical device without conflict of interest.
Pipe device requires a single address at the other end, socket requires one address and one port
number at the other end to communicate.

 Spooling
A spool is a buffer that holds output for a device, such as a printer, that cannot accept interleaved
data streams. The spooling system copies the queued spool files to the printer one at a time.
system daemon process is used to handle spooling in some operating systems while in other
operating systems kernel thread is used.

 Buffering
A buffer is a memory area that stores data temporarily while they are transferred between two
devices or between a device or an application. Buffering is done for three reasons.
1. To cope with a speed mismatch between the producer and consumer of a data stream.
2. To adapt between devices that have different data transfer sizes.
3. To support copy semantics for application I/O.
 Caching

673
A cache is region of fast memory that holds copies of data. Access to the cached copy is more
efficient than access to the original memory.
Caching and buffering are two distinct functions, but sometimes a region of memory can be used
for both purposes.

7.2.4.4 Learning Activities


Learning Activity One
In this learning activity, trainees consider a number of computing devices to determine what types
of inputs and outputs they use. Groups are assigned to a computing device and based on a trainer-
provided definition of input and output, list the inputs and outputs of their device.
Earlier in the activity students are prompted to focus on more obvious physical inputs and outputs
(e.g. a keyboard as an input or a screen as an output) but later discussions lead students to consider
less obvious examples (e.g. that a touch screen is both an input and output, or the fact that the
Internet can serve as both input and output). Throughout the learning activity the trainer records
inputs and outputs that are identified on a T-Chart at the front of the room (on the whiteboard).
To conclude the lesson trainees, examine common activities they do on a computing device and
select the inputs and outputs used for that activity from the chart.
Learning Objectives
1. Identify the inputs and outputs of common computing devices
2. Select the inputs and outputs used to perform common computing tasks
Brainstorming Inputs and Outputs
Group students in to 2 or 3 then distribute copies of Input and Output activity guide to each group
Project a document where the trainer will record all th inputs and outputs students brainstorm in
this activity.
Possible Responses
Inputs Keyboard, mouse, other buttons, camera, microphone,
Outputs Screen, Speakers, Printer, Plotters
Have trainees list all of the possible inputs and outputs to a laptop.

Possible Responses
Inputs Keyboard, touchpad, USB port, trackpad, camera, microphone, Wi-Fi, Bluetooth
Outputs Screen, Speakers, Wi-Fi, Bluetooth
674
Have trainees list all of the possible inputs and outputs to a smartphone by asking them the
following questions:

1. How does the phone know where it is?


2. How does Apple know that you got the phone wet?
3. How does the phone know it has to shut down when it is too hot?
4. How does the phone know to turn off the screen when you put the phone up to your ear?
5. How does the phone know to switch from playing music through the speakers to playing
music through the headphones?

7.2.4.5 Self-Assessment
A. A hard disk with 200 tracks has disk schedulers that receives the read and write requests.
The requested tracks, in the order received by the disk scheduler, are 55, 58, 39, 18, 90, 160,
150, 38, 184. Assuming that currently the read/write head is on track 100, use diagrams to show
how the requests will be serviced using the following disk scheduling policies; First In First
Out (FIFO), Shortest Service Time First (SSTF) and the CSCAN
7.2.4.6 Tools, Equipment, Supplies and Materials
 A functional laptop
 A functional Personal Computer
 Internet
 Activity guide
7.2.4.7 Model answers to self-assessment
A. A hard disk with 200 tracks has disk schedulers that receives the read and write requests. The
requested tracks, in the order received by the disk scheduler, are 55, 58, 39, 18, 90, 160, 150, 38,
184. Assuming that currently the read/write head is on track 100, use diagrams to show how the
requests will be serviced using the following disk scheduling policies; First In First Out (FIFO),
Shortest Service Time First (SSTF) and the CSCAN

First in First Out (FIFO)

 The policy requires that an arriving process joins the rear of the queue

675
 Each process waits for its turn to process i.e. they are admitted into the processor in the
order in which they arrived

Shortest Service Time First (SSTF)

• The SSTF policy is to select the disk I/O request that requires the least movement of the
disk arm from its current position.

• Thus, we always choose to incur the minimum seek time.

C-SCAN

• The C-SCAN (circular SCAN) policy restricts scanning to one direction only

• Thus, when the last track has been visited in one direction, the arm is returned to the
opposite end of the disk and the scan begins again.

• This reduces the maximum delay experienced by new requests.

676
7.2.4.7 References
Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

CompTIA. (2013). CompTIA A+. (Vol. 2013, Issue December 2).


http://certification.comptia.org/getCertified/certifications/a.aspx

Li, A. W. A. and K. (n.d.). Virtual Memory Primitives for User Programs.pdf.

Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2017). OPERATING SYSTEM ls s s i t.

Stallings, W. (2014). Operating Systems: Internals E Designs Principles. In Journal of Chemical


Information and Modeling.

677
7.2.5 Learning Outcome 5 Identifying concepts of file management.
7.2.5.1 Introduction to the learning outcome
In the computer world, one needs to master how to efficiently manage computer files including
how to find, download, rename, recover, copy and organize files. This learning outcome helps one
learn how to administer computer system to correctly handle digital data. This improves the overall
function of an organization’s workflow.

7.2.5.2 Performance Standard


7.2.5.2.1 Definition of file system management is done.
7.2.5.2.2 system concepts are identified.
7.2.5.2.3 Objectives of file management are identified.
7.2.5.2.4 File access methods are identified.
7.2.5.2.5 Description of directory implementation is done.
7.2.5.2.6 File allocation techniques are identified.
7.2.5.2.7 File protection and security are identified.

7.2.5.3 Information Sheet

 Definitions of terms, Methods, Processes/ procedures/ guidelines, Illustrations (photographs,


pictures, videos, charts, plans, digital content links, simulations links) and case studies

 Provides additional information sources related to the learning outcome e.g. books, web links

File system management.


File system is concerned with managing secondary storage space particularly disk storage in
computer system. It consists of two distinct parts:

 A collection of files each storing related data


 A directory structure which organizes and provide information about all the files in the
system.

678
A file is a named collection of related information that is recorded on secondary storage. It is
basically an abstract data type defined and implemented by the operating system. Sometimes
referred to a sequence of logical records such as a byte, a line, or a more complex data item.

File system concepts.


 File Naming
A file is named for convenience of its human users and a name is usually a string of
characters e.g. “MemoryFile.docx”. When a file is named it becomes independent of
the process, the user and even the system that created it i.e. another user may edit the
same file and specify a different name.
 File Structure
A file has certain defined structure according to its type namely; Text file, Source file, executable
file and object file.

Terms associated with the use of file include;


Field which is the basic element of data and it contains single value
Record is a collection of related fields that can be treated as a unit
Database is a collection of related data and the database itself consists of one or more types of
files.
 File Types
OS should recognize and support different files types so that it can operate and file in reasonable
ways. Files types are implemented by including it as part of file name. The name is split into 2
parts – a Name and an Extension usually separated by a period character. The extension indicates
the type of file and type of operations that can be on that file.

File Type Usual extensions


Executable .exe , .com
Source Code .c, .p, .pas, .bas, .vbp, .prg, .java
Text .txt, .rtf, .doc
Graphics .bmp, .gpg, .mtf
Spreadsheet .xls
Archive .zip, .arc.rar (compressed files)

679
 File Management Systems
It is the set of system software that provides services to users and applications in the use of files.
The main objective of file management system is:
 To meet data management needs and requirements of the user.
 To guarantee validity of the data in the file.
 To optimize performance both from the system point of view in terms of overall
throughput
 To eliminate potential for lost or destroyed data.
 To provide I/O support for multiple users n the case of multiple user systems
 To provide input/output support for a variety of storage device types among others

 File structure
At the lowest level, device drivers communicate directly with peripheral devices or their
controllers or channels. The driver is responsible for starting I/O operations on a device and
processing the I/O request operation. Typical devices for file operations include disk and tape
drives. Device driver can be thought of as a translator thus it considered part of the operating
system. File organization module knows the type of file allocation used and the location of the file
and it translates the numbered logical block address to physical addresses (contains the data) for
the basic file system to transfer. File organization includes the free-space manager which tracks
unallocated space and avails these blocks to the module whenever requested.

The logical file system responsible for protection and security, uses the directory structure to
provide the file organization module with the information the latter needs given a symbolic file
name. To create a new file the logical file system reads the appropriate directory into memory,
updating it with the new entry and writes it back to the disk. Upon finding the file the associated
information like owner, size, access permission and data block locations are copied into a table in
memory (open file table). Open file table constitutes information about all the currently opened
files.

680
The first reference to a file causes the directory structure to be searched and the directory entry for
this file to be copied into the table of opened files. The index into this table is returned to the user
program and all further references are made through the index rather than with a symbolic name.
The index name varies with the OS; Windows refers to it as file handle, Unix as a file descriptor
and other systems as a file control block.
Once the file is closed by all users that had opened it, the updated file information is copied back
to the disk-based directory structure.

File system mounting


A file system must be mounted before it can be availed to processes on the system. The system is
given the name of the device and the location within the file structure at which to attach the file
system (mount point). The OS verifies that the device has a valid file system then notes in its
directory structure that a file system is mounted at the specified mount point. This arrangement
ensures the OS traverses its directory structure switching among file systems appropriately.
 Attributes
A part from the name other attributes of files include
Size – amount of information stored in the file
Location – Is a pointer to a device and to the location of file on the device
Protection – Access control to information in file (who can read, write, execute and so on)
Time, Date and User identification –This information is kept for creation, last modification and
last use. These data can be useful for protection, security and usage monitor.
Volatility – frequency with which additions and deletions are made to a file
Activity – Refers to the percentage of file’s records accessed during a given period of time.

File Implementation
It is concerned with issues such as file storage and access on the most common secondary storage
medium the hard disk. It explores ways to allocate disk space, to recovers freed space, to track the
locations of data and to interface other parts of the o/s to the secondary storage.
Directory implementation
The selection of directory allocation and directory management algorithms has a large effect on
the efficiency, performance and reliability of the file system.

681
Algorithms used:
 Hash Table – A linear list stores the directory entries but a hash data structure is used.
The hash table takes a value computed from the file name and returns a pointer to the
file name in the linear list.
 Linear is the simplest method of implementing a directory. It uses a linear list of
filenames with pointers to the data blocks. It requires a linear search to find a particular
entry.

Free Space Management


To keep track of free disk space the system maintains a free space list which records all disk blocks
that are free; those not allocated to some file or directory. To create a file, we search the free space
list for the required amount of space and allocate that space to the new file. This space is then
removed from the free space list. Techniques used to manage disk space include: -
 Bit vector – Free space list is implemented as a bit map or bit vector. Each block is
represented by 1 bit. If the block is free, the bit is 1; if the block is allocated, the bit 0.
 Linked List – links together all the free disk blocks, keeping a pointer to the first free block
in a special location on the disk and caching it in memory. This first block contains a pointer
to the next free disk block and so on.
 Grouping – Is a modification of free list approach and stores the addresses of n free blocks
in the first free block. The first n-1 of these blocks are actually free blocks and so on. The
importance of this implementation is that the addresses of a large number of free blocks
can be found quickly unlike in the standard linked list approach.
 Counting – it takes advantage of the fact that generally several contiguous blocks may be
allocated or freed simultaneously, particularly when space is allocated with contiguous
allocation algorithm or through clustering. Thus, rather than keeping a list of n-free disk
addresses we can keep the address of the first free block and the number n of free
contiguous blocks that follow the first block. Although each entry requires more space than
would a simple list address; the overall list will be shorter as long as the count is generally
greater than 1.

Efficiency and Performance

682
This is essential when it comes to files and directory implementation since disks tends to be a
major bottleneck in system performance (they are the slowest main computer component). To
improve performance, disk controllers are provided to include enough local memory. This creates
on-board cache that may be sufficiently large to store an entire track at a time.

File Sharing
In a multi user system there is almost a requirement for allowing files to be shared among a number
of users. Two issues arise: -
 Access rights – should provide a number of options so that the way in which a particular file
is accessed can be controlled. Access rights assigned to a particular file include: Read,
execute, append, update, delete.
 Simultaneous access – a discipline is required when access is granted to append or update a
file to more than one user. An approach can allow a user to lock the entire file when it is to
be updated.

File Operations
A File can be manipulated by operations such as:
 Open – prepare a file to be referenced
 Copy – create another version of file with a new name.
 Destroy – Remove a file
 Rename – change name of a file.
 List – Print or display contents.
 Move – change location of file
 Close – prevent further reference to a file until it is reopened
 Create – Build a new file
Individual data items within the file may be manipulated by operations such as:
 Read – Input a data item to a process from a file
 Write – Output a data item from a process to a file
 Update – modify an existing data item in a file
 Insert – Add a new data item to a file
 Delete – Remove a data item to a file
683
 Truncating – delete some data items but file retains all other attributes
File Structure
Refers to internal organization of the file. File types may indicate their structure. Certain files must
conform to a required structure that is understood by the host OS. Some Operating Systems have
file systems that do support multiple structure while others impose (and support) a minimal number
of file structures e.g. MS DOS and UNIX.
UNIX considers each file to be a sequence of 8-bit bytes. Macintosh OS supports a minimal no of
file structure and it expects executables to contain 2 parts – a resource fork and a data fork.
Resource fork contains information of importance to user e.g. labels of any buttons displayed by
program.

File access methods.


To grasp the concept of file access method it is crucial that we understand the concept of file
organization. File organization refers to the manner in which records of a file are arranged on
secondary storage device.

The most popular schemes of file organization include: -


Direct access where records are directly (randomly) accessed by their physical addresses on a
direct access by storage device (DASD). The application user places the records on DASD in any
order appropriate for a particular application.

Sequential access where records are placed in physical order. The next record is the one that
physically follows the previous record. It is used for storing and accessing records in magnetic
tape.
Indexed Sequential access where records are arranged in logical sequence according to a key
contained in each record. The system maintains an index containing the physical addresses of
certain principal records. Indexed sequential records may be accessed sequentially in key order or
they may be accessed directly by a search through the system created index. It is usually used in
disk.

Partitioned access is a file of sequential sub files. Each sequential sub file is called a member.
The starting address of each member is stored in the file directory. Partitioned files are often used
to store program libraries.
684
File allocation techniques.
Deals with how to allocate disk space to different files so that the space is utilized effectively and
files can be accessed quickly. Methods used include: -
1. Contiguous Allocation
This is where files are assigned to contiguous areas of secondary storage. A user specifies in
advance the size of area needed to hold a file to be created. If the desired amount of contiguous
space is not available the file cannot be created.
Advantages
 Speeds up access since successive logical records are normally physically adjacent to one
another
 File directories are relatively straight forward to implement for each file merely retain the
address of start of file and its length.
Disadvantages
 Difficult to find space for a new file especially if the disk is fragmented into a number of
separate holes (block). To prevent this, a user can run disk defragmenter (a repackaging
routine)
 Another difficulty is determining how much space is needed for a file since if too little
space is allocated the file cannot be extended or cannot grow.

Some Operating systems use a modified contiguous allocation scheme where a contiguous chunk
of space is allocated initially and then when that amount is not large enough, another chunk of
contiguous space, an extent is added.
2. Non-Contiguous Allocation
Files do tend to grow or shrink overtime and because users rarely know in advance how large a
file will be, non-contiguous allocation is critical. Techniques used include:

 Linked Allocation
It solves all problems of contiguous allocation. Each file is a linked list of disk blocks, the disk
blocks may be scattered anywhere on the disk. The directory contains a pointer to the first and last
disk block of the file. Each Block contains a pointer to the next block.

685
Its main advantage is that it eliminates external fragmentation. However, it is very effective only
for sequential access files i.e. where you have to access all blocks but space may be wasted for
pointers since they take 4 bytes.

The solution is to collect blocks into multiples clusters rather than blocks.
The linked allocation is not very reliable since loss or damage of pointer would lead to failure
b) Indexed Allocation
It tries to support efficient direct access which is not possible in linked allocation. Pointers to the
blocks are brought together into one location (index block). Each file has its own index block,
which is an array of disk block addresses. Its advantage is that it supports direct access without
suffering from external fragmentation. The disadvantages include wasted space due to pointer
overhead of the index block and the challenge of determining how large the index block would be.

The mechanisms to deal with this include: -


 Linked scheme – index block is normally one disk block; to allow large files we may link
together several index blocks.
 Multilevel index – use a separate index block to point to the index blocks which point to the
files blocks themselves
 Combined scheme – keeps the first say 15 pointers of the index block in the file’s index block.
The first 12 of these pointers point to direct blocks that contain addresses of blocks that contain
data of the file. The next 3 pointers point to indirect blocks which may contain address to
blocks containing data.

File protection and security.


Computer system contains many objects, and they need to be protected from tampering or misuse.
Objects such as memory, CPU time, and I/O devices or software such as files, programs and
semaphores need to be safe guarded at all times. Access right is permission to perform an operation
on an object. Processes execute in domains and may use any of the access rights in the domain to
access and manipulate objects.
File protection improves reliability by detecting any errors at the interfaces between component
systems. Early detection is critical in prevention of corruption of a file. A protection-oriented
686
system provides a mechanism for the enforcement of the policies governing utilization of the
resources. The main role of protection in a computer system is to provide a way for the enforcement
of the policies governing resource use. Some policies are fixed in the design of the system, while
others are formulated by the management of a system. Others can be defined by individual users
to protect their own files and programs.

The principle of least privilege dictates that programs, users and even systems be given just enough
privileges to perform their tasks so that failure or compromise of a component does minimum
damage. This results in a more secure computing environment. Policy decisions concerning
protection can be implemented by the access matrix. To change the contents of the access-matrix
entries requires three additional operations: copy, owner and control.

 Access control
Access rights defines the access control. To achieve a secure environment access matrix (a model
for protection is used. Access-matrix scheme provides us with the mechanism for specifying a
variety of policies i.e. it ensures that a process executing in a particular domain can access only
objects within that domain. The permissions allowed for the files include Read, Write and Execute

 Audit trail
It is a record of the changes that have been made to database file. It is a mechanism that traces the
detailed transactions relating to any process in the OS. It provides support documentation and
history that is used to authenticate security and operational actions

CASE STUDY

In this case study trainees will form groups and carry out a case study resulting in an oral
presentation with slides.

General Requirements

1. The presentation should be in English.


2. All members of the group must participate in preparing the presentation.

687
3. The presentation should be 20 to 25 minutes.
4. You should prepare and use slides PowerPoint or Google slides.
5. Each group should bring their own laptop to the presentation.
6. All members of the group must talk during the presentation.
7. Not all members of the group must talk for an equal amount of time.
8. Every presentation will end with a discussion.
9. The first slide should include the following:

a. Title of the presentation.


b. Course name, Course code and year
c. Names of the group members participating in the presentation in alphabetical order.
10. The presentation should end with a list of all referenced material such as URLs to websites,
articles etc.
CASES

Table 55: OS CASES


Operating
Case system Description
Linux is a Unix-like and mostly POSIX-compliant computer operating system
1 Linux (OS) assembled under the model of free and open-source software development
and distribution.
VxWorks is a real-time operating system (RTOS) designed for use in embedded
systems requiring real-time, deterministic performance and, in many cases, safety
2 VxWorks and security certification, for industries, such as aerospace and defense, medical
devices, industrial equipment, robotics, energy, transportation, network
infrastructure, automotive, and consumer electronics.
Android is a mobile operating system (OS) currently developed by Google, based
3 Android on the Linux kernel and designed primarily for touchscreen mobile devices such
as smartphones and tablets.
Contiki is an operating system for networked, memory-constrained systems with
4 Contiki
a focus on low-power wireless Internet of Things devices. Extant uses for Contiki

688
Operating
Case system Description
include systems for street lighting, sound monitoring for smart cities, radiation
monitoring, and alarms. It is open-source software released under a BSD license.
TinyOS is an embedded, component-based operating system and platform for low-
power wireless devices, such as those used in wireless sensor networks (WSNs),
5 TinyOS
smartdust, ubiquitous computing, personal area networks, building automation,
and smart meters.

Suggested outline of the presentation

This is just a suggestion for topics to include in your presentation and you may choose to exclude
or rearrange parts of the list and/or include other topics you find relevant in the context of your
case study.

1. Title slide (mandatory)


a. Title
b. Course name, course code and year (2018)
c. Names of the group members participating in the presentation in alphabetical order.
2. History, background and overall purpose of the OS.
3. Is it
a. Embedded OS?
b. Real-time OS?
c. Other OS?
4. Concurrent programming/execution.
a. Processes, threads or similar?
b. Inter-process communication or similar?
c. Synchronization?
5. Scheduling algorithm(s)?
6. Power management?
7. Memory management?

689
8. Example(s) of real-world usage?
9. List of references (mandatory).

7.2.5.4 Learning Activities


A. Match the following terms to the images shown below. Then state their purpose.
Useful system folders, Desktop, Desktop icons, Mouse pointer, Taskbar, Start button, Recently
used programs, Pinned area, Search box

B. Activity to make a file visible in Windows 10 OS


Follow these steps:
1. Open Windows Explorer.
2. Select the View tab, and scroll until you find the Hidden items checkbox.

Check to hide/Uncheck to hide

690
3. Alternatively Right click the Folder. Once the Folder Options dialog box is shown click on
Hidden files and folders.

Click to
display the
hidden files
and folders in
the Computer

4. Check the box to hide. Uncheck the box to unhide a file

C. File protection and security activity


Study the computer laboratories and offices in your learning institution and asses the following
details: -

691
No Physical Security Checks for rooms with Computers
Observation Checkpoints Yes No
1 Has the room or facility been constructed with full-height walls?
2 Does each secure room or facility have low visibility (e.g., no
unnecessary signs)?
3 Has the room or facility been constructed with a fireproof ceiling?
4 Are there two or fewer doorways?
5 Are doors solid and fireproof?
6 Are doors equipped with locks?
7 Are window openings to secure areas kept as small as possible?
8 Are keys and combinations to door and window locks secured
responsibly?
9 Have alternatives to traditional lock and key security measures (e.g.,
bars, anti-theft cabling, magnetic key cards, and motion detectors) been
considered?
10 Have both automatic and manual fire equipment been properly
installed?
11 Are personnel properly trained for fire emergencies?
12 Are acceptable room temperatures always maintained (i.e., between 50-
and 80-degrees Fahrenheit)?
13 Are acceptable humidity ranges always maintained (i.e., between 20 and
80 percent)?
14 Are eating, drinking, and smoking regulations in place and enforced?
15 Has all non-essential, potentially flammable, material (e.g., curtains and
stacks of computer paper) been removed from secure areas?
16 Are up-to-date records of all equipment brand names, model names, and
serial numbers kept in a secure location?
17 Have qualified technicians (staff or vendors) been identified to repair
critical equipment if and when it fails?

692
18 Has contact information for repair technicians (e.g., telephone numbers,
customer numbers, maintenance contract numbers) been stored in a
secure but accessible place?
19 Has all equipment been labeled in a covert way that only authorized
staff would know to look for (e.g., inside the cover)?
20 Have security staff been provided up-to-date lists of personnel and their
respective access authority?
21 Are surge protectors used with all equipment?
22 Are Uninterruptible Power Supplies (UPSs) in place for critical
systems?
23 Has consideration been given to the use of electrical outlets so as to
avoid overloading?
24 Are all paper copies of sensitive information shredded before being
discarded?
25 Are photocopiers, fax machines, and scanners kept in open view?
26 Are all paper copies of sensitive information shredded before being
discarded?
27 Is everything, including passwords, encrypted before leaving user
workstations?
28 Is the identity of information recipients verified before transmission?
29 Is the handling of sensitive information restricted to authorized
personnel?
30 Does staff know to communicate security concerns immediately?
In your opinion how secure is your learning institution in terms of file protection and security?
At the end of the activity the trainee is expected to write a comprehensive observation report based
on the self-assessment on the physical security checks in the trainees’ learning Institutions
Computer Labs

7.2.5.5 Self-Assessment
A. Describe the term the Desktop as used in computing?
B. Identify file attributes available to files on a FAT32 partition

693
C. Name the system tool used to configure Virtual memory
D. Which of the following partitions is specifically the partition from which the operating
system boots?
A. Active partition
B. Logical partition
C. Primary partition
D. Extended partition
E. How does the distinction between kernel mode and user mode function as a basic form of
protection (security)?

7.2.5.6 Tools, Equipment, Supplies and Materials


 Computer lab
 Written permission to conduct the exercise from the trainer charge
 Internet.

7.2.5.7 Model answers to self-assessment
A. Describe the term the Desktop as used in computing?
It is the virtual desk upon which all of your other programs and utilities run
B. Identify file attributes available to files on a FAT32 partition
Hidden, Read Only, Archive, System. Encryption and Compression are found in NTFS.
C. Name the system tool used to configure Virtual memory
System control panel or the Performance tab.

D. Which of the following partitions is specifically the partition from which the operating
system boots?
A. Active partition
B. Logical partition
C. Primary partition
D. Extended partition

694
The operating system boots from the active partition. An active partitions must be primary
partitions, even though a primary partition does not have to be active partition ( a single
hard drive can support up to four primary partitions.
E. How does the distinction between kernel mode and user mode function as a basic form of
protection (security)?
The distinction between kernel mode and user mode provides a basic form of protection in
the following manner. Certain instructions can only be executed when the CPU is in kernel
mode thus, hardware devices could be accessed only when the program is executing in
kernel mode. Control over when interrupts could be enabled or disabled is also possible
only when the CPU is in kernel mode. Consequently, the CPU has very limited capability
when executing in user mode, consequently enforcing protection of critical resources.
7.2.5.7 References

Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

CompTIA. (2013). CompTIA A+. (Vol. 2013, Issue December 2).


http://certification.comptia.org/getCertified/certifications/a.aspx

Li, A. W. A. and K. (n.d.). Virtual Memory Primitives for User Programs.pdf.

Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2017). OPERATING SYSTEM ls s s i t.

Stallings, W. (2014). Operating Systems: Internals E Designs Principles. In Journal of Chemical


Information and Modeling.

695
7.2.6 Learning Outcome 6 Identifying Emerging trends in Operating system.
7.2.6.1 Introduction to the learning outcome
Computing is a dynamic field. Devices used 10 years ago have been replaced by better versions.
Same applies to operating systems as well as application programs. A collection of recent and
innovative works in the field Network Security, Cryptography, Cloud Computing, Big Data
Analytics, Data Mining & Data Warehouse, Communication, Nanotechnology, VLSI, Image
Processing etc. requires OS that can support them. In this learning guide we are going to explain
these emerging trends in Operating Systems, challenges they pose and how to cope with these
challenges. In particular the lightweight kernels, hypervisors, microkernels, modular kernels and
building systems with a single system image.

7.2.6.2 Performance Standard


7.2.6.2.1 Explanation of emerging trends is done.

7.2.6.2.2 Challenges of emerging trends are identified.

7.2.6.2.3 Ways of coping with emerging trends are identified.

7.2.6.3 Information Sheet


Operating systems Emerging trends.
Microsoft Windows has been the dominant operating system for a while. The need to support large
number of changing standards in virtually every sector requires that we invest more on the
emerging OS trends to remain relevant. Companies developing large systems require operating
system that can support the environment. Operating System that can support scalability and at the
same time lightweight in terms of storage requirements.

Microkernels
They provide the features required to create processes, run them and communicate between
processes in a computer system. They do run in privileged mode. They enable services that would
initially be part of monolithic OS to be implemented in server processes e.g. file system.
Microkernels ensure that OS services sends request messages to server processes rather than make
direct calls to OS. The main advantages of microkernels include: -
 Provision of security through provision of a much smaller privileged code base

696
 Easy implementation since there are fewer services that must be implemented in
microkernel. This gives users advantage of implementing services that are optimized to the
needs of specific applications.
 Its possible to run full Operating system as a server on top of the microkernel eg Unix
server that ran on top of the Mach microkernel

The disadvantage of the microkernels is that it incurs 2overheads for the traditional system
calls
Hypervisors
Hypervisors were developed to run full featured operating systems as applications in physical
computers. Hypervisors construct virtual machines for each operating system you install in a
physical machine. It virtualizes hardware its goal being to run multiple Operating systems. Oracle
VMware is a good example of an application that enables one to create virtual machines.
Hypervisor provides an API for a virtual machine so that the machine is accessed using procedure
calls instead of direct manipulation of registers.

Lightweight Kernels (Operating Systems)


Lightweight kernels are based on a partitioned system architecture. The nodes on the system are
partitioned into groups to support different functional needs. The partitions include service nodes
to support logins, I/O nodes to support access to storage devices and compute nodes for running
computations. Lightweight kernels allow for specialization thus different hardware may run
different software (Maccabe et al., n.d.). Examples include Catamount, Blue Gene/L

Linux
Linux has recently emerged as the platform of choice for developing parallel scientific
applications. It provides a wide range of familiar services such as library writer as a result,
developers can reach a large percentage of their potential market when the build those applications
in Linux. Linux has the advantage of providing a large collection of device drivers meaning it can
run on virtually any platform one might want to use. Even Oracle 19c is implemented on a Linux
platform.

697
Challenges of emerging trends.
With emerging trends like; cloud technology which offers architectural solutions, resource
virtualization, performance optimization, privacy and security; Internet of Things (IOT) which
supports intelligent and self-configuring embedded devices and sensors interconnected globally.
Cloud users and service providers face a lot of challenges like encrypted data search, auditing,
security management and privacy

Coping with emerging trends


One way of coping with challenges of cloud computing is through implementation of protocols
that facilitate big data streaming from Internet of Things to the cloud and Quality of Service

7.2.6.4 Learning Activities

Research on the following trends: -


Distributed File Systems
Distributed Virtual Disks
RAID in xFS

7.2.6.5 Self-Assessment
A. Describe Block chain technology and Internet of things with respect to emerging trends in ICT
B. What is the significance of hypervisors in the world of computing?

7.2.6.6 Tools, Equipment, Supplies and Materials


 Internet
 Personal Computer

7.2.6.7 model Answers to self-assessment

A. Describe Block chain technology and Internet of things with respect to emerging trends in ICT

698
The Internet of Things (IoT) is an emerging movement of products with integrated Wi-Fi and
network connectivity capabilities. Homes, Cars, appliances, and other products can now connect
to the Internet, thus enhancing experience with activities done within the IoT environment. IoT
enables a hands-free approach with simple commands issued to objects to execute.

Block chain technology is a distributed ledger or a distributed database where multiple instances
of data records are held in several places and can be accessed only through cryptographic codes.

C. What is the significance of hypervisors in the world of computing?


Hypervisors were developed to run full featured operating systems as applications in physical
computers. They aid to construct virtual machines for each operating system you install in a
physical machine.

7.2.6.8 References

Abraham, P. a. (2013). Operating Systems Concepts. United States of America: Wiley.

Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.

CompTIA. (2013). CompTIA A+. (Vol. 2013, Issue December 2).


http://certification.comptia.org/getCertified/certifications/a.aspx

Li, A. W. A. and K. (n.d.). Virtual Memory Primitives for User Programs.pdf.

Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.

Qurat-ul-Ain, Malik & Iqbal, M. & Khan, Nauman & Nauman, & Hamza, Khan & Haider, Ali.
(2010). Modern Trends Used In Operating Systems For High Speed Computing
Applications. International Journal on Computer Science and Engineering. 2.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2017). OPERATING SYSTEM ls s s i t.

Stallings, W. (2014). Operating Systems: Internals E Designs Principles. In Journal of Chemical

699
Information and Modeling.

700

You might also like