Learning Guide ICT Level 5
Learning Guide ICT Level 5
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.
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.
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.
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
ix
CDACC Curriculum Development Assessment and Certification Council
CIDR Classless Inter Domain Routing
CPU Central processing unit
CR Core Competency
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
Khz Kilohertz
KNQA Kenya National Qualification Authority
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
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
xiv
SLA Service Level Agreement
SMS Systems Management Server
SoC System on a Chip
SSAC Sector Skills Advisory Committee
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
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
xvi
TABLE OF CONTENT
Contents
FOREWORD........................................................................................................................................ iv
PREFACE............................................................................................................................................. vi
ACKNOWLEDGEMENT ...................................................................................................................viii
xvii
1.2.2.4 Learning Activities ........................................................................................................... 28
1.2.5 Learning Outcome 5: Apply Number Systems and binary coding ........................................ 61
xviii
1.2.5.6 Tools, Equipment, Supplies and Materials ...................................................................... 99
2.2.1 Learning Outcome 1: Identify Network Type and Component ........................................ 109
xix
2.2.2.7 References ....................................................................................................................... 146
xx
3.2.1 Learning Outcome 1: Identify software to be installed. ............................................ 197
3.2.4 Learning outcome 4: Test software functionality and software maintenance ................. 243
xxi
3.2.4.2 Performance Standard ....................................................................................................... 243
xxii
3.2.2.4 Learning activities .................................................................................................................. 330
xxiii
CHAPTER 5: MANAGE DATABASE SYSTEMS (MS. Access) .................................................... 374
5.2.3 Learning Outcome 3: Create and manipulate database objects .......................................... 429
xxiv
5.2.5.3 Information Sheet .............................................................................................................. 485
6.2.1 Learning Outcome 1: Identify Programming concepts and approaches. ..................... 503
xxv
6.2.3.3 Information Sheet .............................................................................................................. 524
6.2.5 Learning Outcome 5: Perform Basic Structured programming using C language. .......... 550
xxvi
6.2.6.5 Self-Assessment .................................................................................................................. 585
xxvii
7.2.3.4 Learning Activities ............................................................................................................. 653
7.2.4 Learning Outcome 4 Identifying concepts of Input and Output devices ............................. 657
7.2.6 Learning Outcome 6 Identifying Emerging trends in Operating system. ........................... 696
xxviii
7.2.6.8 References ......................................................................................................................... 699
xxix
LIST OF FIGURES
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:
xxxviii
CHAPTER 1: BASIC ELECTRONIC SKILLS
Unit of learning code: IT/CU/ICT/CC/1/5
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.
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.
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.
Electrical Measuring
Symbol Description
Parameter Unit
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
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.
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.
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.
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
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.
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
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.
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.
e = Ldi/dt
10
The capacitive reactance is given as:
e = Ld/idt
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
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.
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.
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.
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.
16
Figure 5: Major Electronic 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
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.
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.
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.
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.
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.
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.
2. Resistors
Resistors have plenty of applications, but the three most common ones are managing current flow,
dividing voltage, and resistor-capacitor networks.
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.
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.
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.
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.
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.
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/
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?
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.
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. 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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
48
Figure 20: Classification of 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.
49
1. RAM (Random Access Memory)
2. ROM (Read Only Memory)
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.
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
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.
51
Table 4: Comparison between SRAM and DRAM
SRAM DRAM
The access time of SRAM is slow. The access time of DRAM is high.
It does not require periodic refreshing to preserve It requires periodically refreshing to preserve
the information. the information.
Advantages of RAM
Disadvantages of RAM
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.
Types of ROM
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 ROM
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.
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.
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:
Optical storage:
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.
56
* RAM (Random Access Memory): Enables Read/Write of stored contents
f) Magnetic storage
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.
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.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)
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.
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.
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.
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.
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
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:
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
1000 + 400 + 50 + 7
1457
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
Solution:
∴ (14)10 = 11102
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.
Solution:
63
2158 = 2 × 82 + 1 × 81 + 5 × 80
= 2 × 64 + 1 × 8 + 5 × 1
= 128 + 8 + 5
= 14110
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
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.
64
Octal to Binary Number System
Binary to Octal Number System
Binary to Hexadecimal Number System
Hexadecimal to Binary Number System
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
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;
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).
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.
Suppose if we have to convert decimal to binary, then divide the decimal number by 2.
66
Solution: Let us create a table based on this question.
25 ÷ 2 12 1(MSB)
12 ÷ 2` 6 0
6÷2 3 0
3÷2 1 1
1÷2 0 1(LSB)
(25)10 = (11001)2
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.
128÷8 16 0(MSB)
16÷8 2 0
2÷8 0 2(LSB)
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.
128÷16 8 0(MSB)
8÷16 0 8(LSB)
Here MSB stands for a most significant bit and LSB stands for a least significant bit.
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.
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
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.
2 x 8 1 + 2 x 80
= 16 + 2
= 18
Hexadecimal to Decimal:
= 16 x 16 + 2 x 16 + 1 x 1
= 289
To convert hexadecimal numbers to binary and vice versa is easy, you just have to memorize the
table given below.
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.
Solution: From the table, we can get the binary value of 8 and 9, hexadecimal base numbers.
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.
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
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.
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 .
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.
+ 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.
Carry 1
+ 149
274
74
Table 12: An Example of Carry for an Hexadecimal Addition
Carry 1
+ 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.
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.
Carry 1 111
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.
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.
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
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.
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’.
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’.
= 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.
84
For example binary number 1100 has a decimal equivalent of 8 + 4 + 0 + 0 = 12.
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.
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
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:
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
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.
0 0 0000 0011
1 1 0001 0100
2 10 0010 0101
3 11 0011 0110
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.
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.
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.
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.
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.
Example:2
Now let 0001 0011 is added to 0010 0110.
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.
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:-
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.
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.
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.
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.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.
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.
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.
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).
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.
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.
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.
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
Global competition and new innovations are driving prices down. Companies must continually
become more cost-efficient to remain profitable.
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.
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.
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.
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
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.
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.
108
CHAPTER 2: COMPUTER NETWORKING
Unit of learning code: IT/CU/ICT/CR/1/5
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.).
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.
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.
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.
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.
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.
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.
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:
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.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?
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
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.
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.
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.
134
Figure 44: FTP or ScTP has a metal back to ground the shield.
135
Figure 46: Single mode fiber is used outdoors and for long distances.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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
Frames packets.
Layer 2: Data link layer
Detects and corrects packet transmit errors.
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.
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.
IP Protocol: IP protocol is used in this layer, and it is the most significant part of the entire TCP/IP
suite.
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
ICMP Protocol
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.
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.
156
Figure 54: User Datagram protocol
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.
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.
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.
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.
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.
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.
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
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.
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:
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.
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.
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.
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.
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.
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.
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.
169
Figure 57: Router IP address
170
Figure 58: Login 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
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."
174
Figure 63: Router authentication
175
Figure 64: wireless router settings
176
Figure 65: connect to wireless router
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
While setting up a Local Area Network, you will need a cable router, Crossover Ethernet cables,
Ethernet cables, Ethernet switch, and Network interfaces.
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.
You'll need to connect a computer to the router via Ethernet during the setup process.
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
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).
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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/
196
CHAPTER 3: PERFORM COMPUTER SOFTWARE INSTALLATION
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.
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
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.
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.
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.
200
Photoshop/Illustrator/ Sketchup
etc
Table 26 common application package
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.
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.
.
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.
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.
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?
They include:
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.
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.
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.
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.
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.
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.
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.
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).
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
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.
210
The figure below shows the MS DOS command line 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
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.
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.
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.
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
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.
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.
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.)
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.
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.
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.
NB: Click the Media link below to follow how to How to Create Windows 10 Installation
https://www.youtube.com/watch?v=DGcWddE6c4c
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.
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.
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
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.
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.
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.
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.
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
Software installation
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
If you have an operating system preinstalled on the server, you will need to remove it before
installing a new operating system.
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.
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.
See the chapter in this document that corresponds to the operating system that you plan to install.
229
If you plan to configure your server for RAID operation, you will need to perform some setup
tasks before installing the operating system.
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.
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.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
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
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.
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:
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
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.
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.
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.
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.2 Importance and reasons for software configuration management are identified.
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.
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. 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:
Configuration Manager is the head who is Responsible for identifying configuration items.
Developer
The developer needs to change the code as per standard development activities or change requests.
He is responsible for maintaining configuration of code.
Auditor
Monitors the progress of development and recognizes issues in the SCM process.
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.5 Self-Assessment
What are the benefits of software configuration management?
Assume you are the Configuration Manager; identify configuration items, describe SCM process.
Software
Flash disk
CD/DVD
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
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.
Assume you are the Configuration Manager, you need to configure a server in your organisation,
identify configuration items.
Reason for the Request: Customer impacts if the request cannot be completed or if considerable
time passes before the request can be completed.
241
What are the steps/ processes for a software change management?
242
3.2.4 Learning outcome 4: Test software functionality and software maintenance
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.
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
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.
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:
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:
1 to 10 and 20 to 30
--- 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.,
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.
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
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.
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.
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.
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
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.
248
Table 28 state transition diagram
S1) Start S5 S2
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:
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.
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.
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.
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.
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.
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. 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.
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.
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
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.
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.
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.
259
business management
tool
Conclusion and Suggestions
Improvement suggestions, if any, can be shared with the project stakeholders by test experts in this
section.
1. Fill in the Installation checklist below after successfully installation of Applications and the
Operating System,
Department ________________________________________
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.
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.
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
Sites, G. (n.d.). Installation Testing Checklist. Retrieved Nov 14, 2020, from sites.google.com:
https://sites.google.com/site/testershelp2/installationtestingchecklist
262
3.2.4.8 Model answers to self-assessment
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.
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.
• 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.
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.
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.
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.
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.
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
Training feedback
(1 = unacceptable; 5 = outstanding)
(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
Name: (optional)
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.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
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
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
(1 = unacceptable; 5 = outstanding)
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
278
Figure 86 Hardware components of a Computer Desktop
(https://www. example.com/computer-hardware/)
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
4. Philips-Head Screwdrivers
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
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
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.
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.
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:
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):
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.
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.
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.
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.
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
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.
302
3.2.2 Learning Outcome 2: Disassemble faulty components.
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).
Part retriever: Used to retrieve parts from locations that are too small for your hand to fit.
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.
Punch-down tool: Used to terminate wire into termination blocks. Some cable connectors must be
connected to cables using a punch down tool.
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.
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.
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.
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/
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/
311
Figure 103
Web source: https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-
problems/
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
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.
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
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/
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.
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]
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.
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!
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.
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.
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.
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!
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.
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?
331
3.2.2.7 References
Christensson, P. (2018, June 25). PCI Definition. https://techterms.com
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.
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 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.
336
Vendor Services Specifics Vendors Typically Offer
Custom programming
Warranty
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.
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.
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.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.
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.
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 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:
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.
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.
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.
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.
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
3 long beeps
Beeps Meaning
357
4
10
11
continuous beeping
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.
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
Repeating short
Power supply, system board or keyboard problem
beeps
360
Beeps Meaning
5 Processor failure
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
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.
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.
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.
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.
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
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.
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.
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 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.
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 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)
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.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.
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)
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.
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.
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.
If the file structure is changed then the program code will also change.
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.
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:
Flat-file databases are created and used to migrate data from one database implementation to
another particularly in relational databases.
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.
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.
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
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)
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()
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.
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.
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
iii. Which are the five components of the DBMS environment and discuss how they relate to
each other.
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.
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
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
DOCTOR PATIENT
PHARMICST
PATIENT
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
a b
1 1
a b
2 2
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,
Treat
Takes
DOCTOR PATIENT
MEDICATIO
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
SUPPLIE
has
ORDER
From the figure above, the conceptual data model is the entities that describe the data and the
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
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.
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.
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.
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
404
T4 Fred Kariuki Letter 13/11/2012 Tom Maina
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.
406
Report
A report
Page DreamHome
1 Date: 19-02-2013
Customer Rental Details
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
Un-normalized table
Customer-No Customer- The primary key of the new table (repeating group)
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
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.
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.
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
415
SupplierID Number 8
SupplierName Text 50
Address Text 50
Street Text 50
OrderID Text 50
OrderName Text 50
Dateprepared Date/Time
SupplierID Number 8
ProductID Text 30
ProductName Text 60
Quantity Number 8
OrderID Text 50
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.
i. Hardware/Software Acquisition
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.
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:
example:
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:
The second form specifies both the column names and the values to be inserted:
Example:
INSERT INTO CUSTOMER (Customer Number, Last Name, FirstName, Area Code,
Address, Phone)
VALUES ('1000', 'Kaparo', 'John', 12, 'Nairobi', '11111111')
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:
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:
d) DELETE operation.
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:
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
Email: [email protected]
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.
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.
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.
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.
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.
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.
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.
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.
Long Text Large amounts of alphanumeric data: sentences and paragraphs – 64,000 characters
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
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.
Note: The order that you enter the field names is the order the fields will appear in 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.
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.
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).
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.
440
the Orders table:
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:
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.
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.
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
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:
445
Figure 146: customers 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
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:
448
name or click and drag it down to a column in the bottom pane. Select the fields as follows:
449
5. You should now see the result of the query. Here's mine:
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.
451
To Save the Query:
1. Click the Save icon
2. Enter a name for the query
3. Click OK
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:
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:
453
1. From Design view, click the Totals button in the Ribbon:
454
You could sort by CustomerId instead
You could use >50000 And <80000 (or any other price range)
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:
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.
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.
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.
But to perform database testing, having sound knowledge of SQL is very important.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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
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
480
5.2.4.8 Model answers to self-assessment
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.5 Self-Assessment
ii. Describe the procedure of printing a report in Ms Access.
iii. Describe the procedure of Printing Table Relationships window
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.
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
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:
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.
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. –
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.
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.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.
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
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.
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.
514
Task 2 - specify output, How do you determine the desired output?
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.
Document the program objectives, desired outputs, needed inputs, and required processing.
After these items are documented, then step 2, program design can commence.
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.
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.
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.
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
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.
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:
vi. Documentation:
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
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?
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
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.
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.
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.
https://youtu.be/aXPIxUafbM8
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.
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
Characteristics of an Algorithm
Example of an algorithm
526
2. add the ones
3. add the numbers from steps 1 and 2
II. Flowchart
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
528
Figure 179 Flowchart example
III. Pseudocode
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.
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.
To create the decision table, the developer must follow the basic four steps:
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.
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
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.
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.
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.
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.
-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
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.
535
To write program statements in Assembly language, the programmer uses a set of predefined
symbols (operation codes) called Mnemonic codes.
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.
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 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.
538
Very little training is required to develop & use 4GL programs.
They provide features for the formatting of input, processing, & instant reporting.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
C Programming Language
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
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
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
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.
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
-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
do if static while
Variables
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
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
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.
Storage size of character data type is 1. We can store only one character using 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.
1. float
2. double
Float:
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.
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
* Multiplication
/ Division
558
% Remainder after division (modulo division)
++ a; //pre increment
Assignment Operators:
1. Simple Assignment
2. Compound Assignment
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
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
== Equal to
!= Not equal to
560
5 != 3 returns true or 1
Logical Operators:
logical operators:
|| Logical OR
! Logical NOT
Conditional Operator:
561
The conditional operator takes three operands and consists of two symbols? and.
Conditional
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:
| Bitwise OR
^ Bitwise Exclusive OR
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.
Types of C Expressions
Arithmetic Expressions
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
563
6*2/(2+2/3 + 6) + 8 2 is multiplied by 1, giving value 2.
* (8/4)
Relational Expressions
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
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 ) 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
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
There are 3 control structures used in most of the structured programming languages:
i. Sequence.
ii. Selection.
iii. Iteration (looping).
-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.
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
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
-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.
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
Global variables
Local variables
Call by value
Call by reference
C program format
Structure of c language
# 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.
Main Function
This directs the compiler to start the compiling from the point.
{} Delimiters
The body of the program is written in between these delimiters.
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
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 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.
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
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
- 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
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.
SET Year to 0
575
Interest = Deposit x Interest rate
Year = Year + 1
ENDWHILE
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.
Network concepts
Web concepts
Internet addresses
Sockets
Programming network applications
Network concepts
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
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.
-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
E-mail
News
Web-based databases
Client-server,
per-to-peer
Telephone
Video
Internet addresses
In 1987 – 28000,
In 1989 – 100000,
In 1990 – 300000,
579
In 2009 – 1.67 billion (a rough estimate on June 30)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.
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.
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
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.
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?
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.
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
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.
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)
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.
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.
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
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
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.
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
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.
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.
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 Machine
Source (VMware work station, 2020) Details
601
system can be open source (OS can be examined and modified by users) or closed course (Users
cannot modify or examine the code)
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.
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.
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
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.
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
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. 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.
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.
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
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
It contains scheduling parameters such as process priority, pointers to scheduling queues etc.
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.
Process State
Process ID
Program Counter
Registers
Memory limits
………...
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.
New Terminated
Exit
Admitted
Interrupt
Ready Running
Schedular dispatch
Input/Output
Input/Output or
or event wait
event completion
Waiting
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:
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.
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: -
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
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.
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:
(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: -
Scheduling levels
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:
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).
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.
P1 24
P2 3
P3 3
P1 P2 P3
0 24 27 30
619
Average waiting Time = (0 + 24 +27) / 3 = 17 ms
0 3 6 30
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.
Example
P1 6
P2 8
P3 7
P4 3
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.
Example
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
P1 0 + (10 – 1) = 9
P2 (1 – 1) = 0
P3 17 – 2 = 15
621
P4 5 – 3 =2
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.
Gantt chart:
0 4 8 12 16 20 24 25 26
P1 0 + (16 – 4) = 12
P2 4–1=3
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.
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
Pa 9-0=9
Pb 6–1=5
Pc 14 – 2 = 12
Pd 0–0=0
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.
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
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
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.
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
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
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
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:
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.
Aims at getting rid of conditions that cause deadlock. Methods used include:
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.
630
Assume a system with 12 equivalent tape drives and 3 users sharing the drives:
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.
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
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.
Some serious weaknesses that might cause a designer to choose another approach to the deadlock
problem.
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)
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
636
SPN (Shortest Process Next)
Non-preemptive policy
Process with shortest expected processing time is selected next
Short process jumps ahead of longer processes
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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
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.
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
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.
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
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.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.
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. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.
Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.
657
this concept enables you to set up a computer system, setup a video conferencing, troubleshoot
I/O devices among others.
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.
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.
659
DMA Operations
1. CPU issues DMA request to controller
2. Controller directs data transfer
3. Controller interrupts CPU
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.
Device Drivers
Interrupt handlers
Hardware
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.
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.
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.
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
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
665
Examples of scheduling algorithms include: -
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.
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.
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 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)
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.
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:
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
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
• The SSTF policy is to select the disk I/O request that requires the least movement of the
disk arm from its current position.
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.
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.
Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.
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.
Provides additional information sources related to the learning outcome e.g. books, web links
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.
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 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.
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.
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 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
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:
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.
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.
689
8. Example(s) of real-world usage?
9. List of references (mandatory).
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
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)?
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. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.
Maccabe, A., Bridges, P., Brightwell, R., & Riesen, R. (n.d.). Recent Trends in Operating Systems
and their Applicability to.
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.
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.
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
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?
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.
7.2.6.8 References
Abraham, P. G. (2013). Operating Systems Concepts . Hoboken: John Wiley & Sons, Inc.
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.
699
Information and Modeling.
700