Study Material - B.sc. LL.B. (Hons.) [Introduction to Cyber Security and Law]-2023-24 Updated
Study Material - B.sc. LL.B. (Hons.) [Introduction to Cyber Security and Law]-2023-24 Updated
BHOPAL
Semester I
Study Material
On
Introduction to Cyber Security and Law [IC-01]
[PART-I]
Course Teachers:
Dr. Atul Kumar Pandey
Dr. Astitwa Bhargava
UNIT I Introduction 9
1.13 Registers 31
1.21 Server 46
2.11 Difference between the Windows, MAC and Linux Operating Systems. 75
2.17 Comparison between Traditional File System and Database Management System 87
UNIT- VI 187
Page 8 of 240
UNIT I
Introduction
A computer is a programmable device that stores, retrieves, and processes data. The term "computer"
was originally given to humans (human computers) who performed numerical calculations using
mechanical calculators, such as the abacus and slide rule. The term was later given to mechanical
devices as they began replacing human computers. Today's computers are electronic devices that
accept data (input), process that data, produce output, and store (storage) the results (IPOS). Below
is a picture of a computer with each of the main components. You can see the desktop computer, flat-
panel display, speakers, keyboard, and mouse in the picture below.1
Computer system2
1
Computer Hope<https://www.computerhope.com/jargon/c/computer.htm> accessed 13 July 2022
2
<https://www.computerhope.com/jargon/c/computer.htm> accessed 13 July 2022
Page 9 of 240
1.1 History of Computer
1. Abacus
The history of computer begins with the invention of abacus which is believed to be the first computer.
It is said that Chinese invented Abacus around 4,000 years ago. It was a wooden rack which has metal
rods with beads mounted on them. The beads were moved by the abacus operator according to some
rules to perform arithmetic calculations. Abacus is still used in some countries like China, Russia and
Japan. An image of this tool is shown below:
Abacus3
2. Napier’s Bones
It was a manually-operated calculating device which was invented by John Napier (1550-1617) of
Merchiston. In this calculating tool, he used 9 different ivory strips or bones marked with numbers to
multiply and divide. So, the tool became known as "Napier's Bones. It was also the first machine to
use the decimal point.
Napier’s Bones4
3
<https://www.maa.org/press/periodicals/convergence/mathematical-treasure-modern-chinese-abacus> accessed 21 July
2022
4
<https://www.youtube.com/watch?v=Ds21S3fCfYM> accessed 21 July 2022
Page 10 of 240
3. Pascaline
Pascaline is also known as Arithmetic Machine or Adding Machine. It was invented between 1642
and 1644 by a French mathematician-philosopher Blaise Pascal. It is believed that it was the first
mechanical and automatic calculator. Pascal invented this machine to help his father, a tax accountant.
It could only perform addition and subtraction. It was a wooden box with a series of gears and wheels.
When a wheel is rotated one revolution, it rotates the neighbouring wheel. A series of windows is
given on the top of the wheels to read the totals.
Pascaline Computer5
5
<https://www.computerhope.com/jargon/p/pascalin.htm> accessed 21 July 2022
Page 11 of 240
7. Tabulating Machine
It was invented in 1890, by Herman Hollerith, an American statistician. It was a mechanical tabulator
based on punch cards. It could tabulate statistics and record or sort data or information. This machine
was used in the 1890 U.S. Census. Hollerith also started the Hollerith’s Tabulating Machine Company
which later became International Business Machine (IBM) in 1924.
8. Differential Analyzer
It was the first electronic computer introduced in the United States in 1930. It was an analog device
invented by Vannevar Bush. This machine has vacuum tubes to switch electrical signals to perform
calculations. It could do 25 calculations in few minutes.
9. Mark I
The next major changes in the history of computer began in 1937 when Howard Aiken planned to
develop a machine that could perform calculations involving large numbers. In 1944, Mark I
computer was built as a partnership between IBM and Harvard. It was the first programmable digital
computer.
1.2 Generations of Computer
It had been around 16th century when the evolution of the computer started. The initial computer
faced many changes, obviously for the betterment. It continuously improved itself in terms of speed,
accuracy, size, and price to urge the form of the fashionable day computer. This long period is often
conveniently divided into the subsequent phases called computer generations:
• First Generation Computers (1940-1956)
• Second Generation Computers (1956-1963)
• Third Generation Computers (1964-1971)
• Fourth Generation Computers (1971-Present)
• Fifth Generation Computers (Present and Beyond)
First Generation Computers: Vacuum Tubes (1940-1956)
The technology behind the primary generation computers was a fragile glass device, which was called
vacuum tubes. These computers were very heavy and really large in size. These weren’t very reliable
and programming on them was a really tedious task as they used high-level programming language
and used no OS. First-generation computers were used for calculation, storage, and control purpose.
They were too bulky and large that they needed a full room and consume rot of electricity.
Main first-generation computers are:
1. ENIAC: Electronic Numerical Integrator and Computer, built by J. Presper Eckert and John
V. Mauchly was a general-purpose computer. It had been very heavy, large, and contained
18,000 vacuum tubes.
Page 12 of 240
2. EDVAC: Electronic Discrete Variable Automatic Computer was designed by von Neumann.
It could store data also as instruction and thus the speed was enhanced.
3. UNIVAC: Universal Automatic Computer was developed in 1952 by Eckert and Mauchly.
Main characteristics of first-generation computers are:
Speed and size Very slow and very large in size (often taking up
entire room)
Examples of the first generation IBM 650, IBM 701, ENIAC, UNIVAC1, etc.
Smaller in size, low power consumption, and generated less heat (in
Power and size
comparison with the first-generation computers).
Page 13 of 240
Examples of second PDP-8, IBM1400 series, IBM 7090 and 7094, UNIVAC 1107, CDC
generation 3600 etc.
Examples of third generation IBM 360, IBM 370, PDP-11, NCR 395, B6500, UNIVAC
1108, etc.
Page 14 of 240
Technologies like multiprocessing, multiprogramming, time-sharing, operating speed, and virtual
memory made it a more user-friendly and customary device. The concept of private computers and
computer networks came into being within the fourth generation.
Main characteristics of fourth generation computers are:
Examples of fourth generation IBM PC, STAR 1000, APPLE II, Apple
Macintosh, Alter 8800, etc.
Page 15 of 240
Main characteristics of fifth generation computers are:
Main electronic component Based on artificial intelligence, uses the Ultra Large-Scale
Integration (ULSI) technology and parallel processing
method (ULSI has millions of transistors on a single
microchip and Parallel processing method use two or more
microprocessors to run tasks simultaneously).
Input / output device Trackpad (or touchpad), touchscreen, pen, speech input
(recognize voice/speech), light scanner, printer, keyboard,
monitor, mouse, etc.
Page 16 of 240
• Random Access Memory (RAM): RAM is a form of data storage that allows for faster read
and write operations. RAM is also volatile, which means that if the power goes out, it loses
all of the data it has stored.
• Storage Unit: This device stores all the data and the instructions required for processing. It
keeps intermediate results of processing.6
1.4 Classification of computers
The computer systems can be classified on the following basis:
• On the basis of size.
• On the basis of functionality.
• On the basis of data handling.
Classification on the basis of size:
1. Super computers : The super computers are the most high performing system. A
supercomputer is a computer with a high level of performance compared to a general-purpose
computer. The actual Performance of a supercomputer is measured in FLOPS instead of
MIPS. All of the world’s fastest 500 supercomputers run Linux-based operating systems.
Additional research is being conducted in China, the US, the EU, Taiwan and Japan to build
even faster, more high performing and more technologically superior supercomputers.
Supercomputers actually play an important role in the field of computation, and are used for
intensive computation tasks in various fields, including quantum mechanics, weather
forecasting, climate research, oil and gas exploration, molecular modeling, and physical
simulations. and also, throughout the history, supercomputers have been essential in the field
of the cryptanalysis. E.g. PARAM, jaguar, roadrunner.
2. Mainframe computers : These are commonly called as big iron, they are usually used by big
organisations for bulk data processing such as statics, census data processing, transaction
processing and are widely used as the servers as these systems has a higher processing
capability as compared to the other classes of computers, most of these mainframe
architectures were established in 1960s, the research and development worked continuously
over the years and the mainframes of today are far more better than the earlier ones, in size,
capacity and efficiency. E.g.: IBM z Series, System z9 and System z10 servers.
3. Mini computers : These computers came into the market in mid 1960s and were sold at a
much cheaper price than the main frames, they were actually designed for control,
instrumentation, human interaction, and communication switching as distinct from calculation
6
“Components of Computer” <https://leverageedu.com/blog/components-of-computer/> accessed 13 July 2022
Page 17 of 240
and record keeping, later they became very popular for personal use. In the 60s to describe
the smaller computers that became possible with the use of transistors and core memory
technologies, minimal instructions sets and less expensive peripherals such as the ubiquitous
Teletype Model 33 ASR. They usually took up one or a few inch rack cabinets, compared
with the large mainframes that could fill a room, there was a new term “MINICOMPUTERS”
coined. E.g.: Personal Laptop, PC etc.
4. Micro computers : A microcomputer is a small, relatively inexpensive computer with a
microprocessor as its CPU. It includes a microprocessor, memory, and minimal I/O circuitry
mounted on a single printed circuit board. The previous to these computers, mainframes and
minicomputers, were comparatively much larger, hard to maintain and more expensive. They
actually formed the foundation for present day microcomputers and smart gadgets that we use
in day-to-day life. Example: Tablets, smart watches.
Classification on the basis of functionality
1. Servers : Servers are nothing but dedicated computers which are set-up to offer some services to
the clients. They are named depending on the type of service they offered. Eg: security server,
database server.
2. Workstation : Those are the computers designed to primarily to be used by single user at a time.
They run multi-user operating systems. They are the ones which we use for our day to day
personal / commercial work.
3. Information Appliance: They are the portable devices which are designed to perform a limited
set of tasks like basic calculations, playing multimedia, browsing internet etc. They are generally
referred as the mobile devices. They have very limited memory and flexibility and generally run
on “as-is” basis.
4. Embedded Computers: They are the computing devices which are used in other machines to
serve limited set of requirements. They follow instructions from the non-volatile memory and
they are not required to execute reboot or reset. The processing units used in such device work to
those basic requirements only and are different from the ones that are used in personal computer
better known as workstations.
Page 18 of 240
Classification on the basis of data handling
Computer Memory 7
7
Paul Rubens,”Types of Computer Memory"<https://www.enterprisestorageforum.com/hardware/types-of-computer-
memory/> accessed 21 July 2022
8
“Classification of computers” <https://www.geeksforgeeks.org/classification-of-computers/> accessed 13 July 2022
Page 19 of 240
1.5 Computer Architecture
Computer architecture comprises rules, methods, and procedures that describe the execution and
functionality of the entire computer system. In general terms, computer architecture refers to how a
computer system is designed using compatible technologies.
Here are the various categories of architecture that exist in our computer systems.
• Von-Neumann Architecture
• Harvard Architecture
• Instruction Set Architecture
• Micro-architecture
• System Design
1. Von-Neumann Architecture
John von Neumann coined and developed this architecture. The computer we are using nowadays
is based on the von Neumann architecture. It has some concepts. It is also known as Princeton
architecture. It renders a unique design for the electronic digital systems having the following
components:
• A Central Processing Unit (CPU) with arithmetic and logic unit (ALU) and processors with attached
registers9.
• A memory that can store data and instructions.
• External mass storage or secondary storage.
• A Control Unit (CU) with the ability to hold instructions in the program counter (PC) or instruction
register (IR).
• Input and output mechanisms and peripherals.
The von Neumann design thus constitutes the foundation of modern computing. The Harvard
architecture, a similar model, had committed data addresses and buses for reading and writing to
memory. It wins because von Neumann's architecture was easier to execute in real hardware.
9
Registers: The Registers are very fast computer memory which are used to execute programs and operations efficiently.
This does by giving access to commonly used values, i.e., the values which are in the point of operation/execution at that
time.
Page 20 of 240
Von Neumann Architecture10
2. Harvard Architecture
Harvard Architecture consists of code and data laid in distinct memory sections. It requires a separate
memory block for data and instruction. It has solely contained data storage within the Central
Processing Unit (CPU). A single collection of clock cycles is needed. Data accessibility in one
memory is done by a single memory location in the case of Harvard architecture. One typical example
is the Punch card. Moreover, modern computers may have the latest CPU processes for both methods
but disparate them in a hardware design.
Harvard Architecture11
10
Scoopskiller,”Block-Diagram of Computer”<https://scoopskiller.com/technical-materials/computer-learning/block-
diagram-computer/> accessed 21 July 2022
11
Devin Rathnayke,”Von neumann vs Harvard : Introduction to the computer architecture
Page 21 of 240
3. Instruction Set Architecture
Another notable digital computer architecture is the Instruction Set Architecture. The architecture
holds a collection of instructions that the processor renders and surmises. It consists of two
instruction sets: RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set
Computer). It enables versatile implementations of an ISA; commonly differ in features such as
performance, physical size, and monetary price. It empowers the evolution of the micro-
architectures, implementing ISA as an exclusive, higher-performance system that can run software
on preceding generations of execution.
4. Micro-architecture
Micro-architecture is the structural design of a microprocessor. This computer organization leverages
a method where the instruction set architecture holds a built-in processor. Engineers and hardware
scientists implement instruction set architecture (ISA) with various micro-architectures that vary
because of changing technology. It includes the technologies used, resources, and methods. Using
this, the processors physically devised to administer a particular instruction set. Simply, it is a logical
form of all electronic elements and data pathways present in the microprocessor, designed in a
specific way. It allows for the optimal completion of instructions. In academe, it is called computer
organization.
“<https://deveenrath.medium.com/von-neumann-vs-harvard-architecture-introduction-to-the-computer-science-
3b66228ec461> accessed 21 July 2022
12
<https://www.embedded.com/a-quick-introduction-to-instruction-set-architecture-and-extensibility/> accessed 21
July 2022
Page 22 of 240
Micro architecture in microprocessor13
5. System Design
System design itself defines a design that can serve user requirements like system architecture,
computer modules having various interfaces, and data management within a system. The term product
development is connective to the system design. It is the process by which we can take marketing
information to create a product design.14
1.6 Computer memory and its classification
Computer memory is a generic term for all of the different types of data storage technology that a
computer may use, including RAM, ROM, and flash memory. Some types of computer memory are
designed to be very fast, meaning that the central processing unit (CPU) can access data stored there
very quickly. Other types are designed to be very low cost, so that large amounts of data can be stored
there economically. Another way that computer memory can vary is that some types are non-volatile,
which means they can store data on a long-term basis even when there is no power. And some types
are volatile, which are often faster, but which lose all the data stored on them as soon as the power is
switched off. A computer system is built using a combination of these types of computer memory,
13
Architecture of 8085 microprocessor
<https://www.geeksforgeeks.org/architecture-of-8085-microprocessor/> accessed 21 July 2022
14
“Types of computer architecture”<https://www.w3schools.in/computer-fundamentals/types-of-computer-
architecture> accessed 13 July 2022
Page 23 of 240
and the exact configuration can be optimized to produce the maximum data processing speed or the
minimum cost, or some compromise between the two.
There are two most basic types of memory, primary memory, often called system memory, and
secondary memory, which is more commonly called storage.
The key difference between primary and secondary memory is speed of access.
• Primary memory includes ROM and RAM, and is located close to the CPU on the computer
motherboard, enabling the CPU to read data from primary memory very quickly indeed. It is
used to store data that the CPU needs imminently so that it does not have to wait for it to be
delivered.
• Secondary memory by contrast, is usually physically located within a separate storage
device, such as a hard disk drive or Solid-State Drive (SSD), which is connected to the
computer system either directly or over a network. The cost per gigabyte of secondary
memory is much lower, but the read and write speeds are significantly slower.15
1.7 Computer Input and Output Devices
An input device sends information to a computer system for processing, and an output device
reproduces or displays the results of that processing. Input devices only allow for input of data to a
computer and output devices only receive the output of data from another device. Most devices are
only input devices or output devices, as they can only accept data input from a user or output data
generated by a computer. However, some devices can accept input and display output, and they are
referred to as I/O devices (input/output devices). For example, a keyboard sends electrical signals,
which are received as input. Those signals are then interpreted by the computer and displayed, or
output, on the monitor as text or images. In the lower half of the image, the computer sends, or outputs,
data to a printer. Then, that data is printed onto a piece of paper, which is also considered output.
Input devices
An input device can send data to another device, but it cannot receive data from another device.
Examples of input devices include the following.
Keyboard and Mouse - Accepts input from a user and sends that data (input) to the computer. They
cannot accept or reproduce information (output) from the computer. Microphone - Receives sound
generated by an input source, and sends that sound to a computer.
Webcam - Receives images generated by whatever it is pointed at (input) and sends those images to
a computer.
15
Paul Rubens, ”Types of Computer Memory” <https://www.enterprisestorageforum.com/hardware/types-of-computer-
memory/> accessed 14 July 2022
Page 24 of 240
Input Devices16
Output devices
An output device can receive data from another device and generate output with that data, but it
cannot send data to another device. Examples of output devices include the following.
Monitor - Receives data from a computer (output) and displays that information as text and images
for users to view. It cannot accept data from a user and send that data to another device.
Projector - Receives data from a computer (output) and displays, or projects, that information as text
and images onto a surface, like a wall or screen. It cannot accept data from a user and send that data
to another device.
Speakers - Receives sound data from a computer and plays the sounds for users to hear. It cannot
accept sound generated by users and send that sound to another device.
Output Devices17
16
10 Examples of Input Devices of Computer
<https://digitalworld839.com/what-are-input-devices-examples-computers/>accessed 21 Jill 2022
17
What are the Output Devices of Computer and 10 Examples<https://digitalworld839.com/what-are-output-devices-
examples-computer/> accessed 21 July 2022
Page 25 of 240
Input/output devices
An input/output device can receive data from users, or another device (input), and send data to another
device (output). Examples of input/output devices include the following. CD-RW drive and DVD-
RW drive - Receives data from a computer (input), to copy onto a writable CD or DVD. Also, the
drive sends data contained on a CD or DVD (output) to a computer.
USB flash drive - Receives, or saves, data from a computer (input). Also, the drive sends data to a
computer or another device (output)18.
1.8 Computer Interface
An interface may refer to any of the following:
1. When referring to software, an interface19 is a program that allows a user to interact computers in
person or over a network. An interface may also refer to controls used in a program that allow the
user to interact with the program. One of the best examples of an interface is a GUI (Graphical User
Interface). This type of interface is what you are using now to navigate your computer and how you
got to this page.
2. When referring to hardware, an interface is a physical device, port, or connection that interacts
with the computer or other hardware device. For example, IDE and SATA are disk drive interfaces
for computer hard drives and ATAPI is an early interface for CD-ROM drives.
Examples of drive interfaces
The following list is a list of different internal and external interfaces that connect a drive to a
computer.
• ATA
• ATAPI
• eSATA
• FireWire
• IDE
• Parallel port
• SATA
• SCSI
• USB
18
What is the difference between an input and output device? <https://www.computerhope.com/issues/ch001355.htm>
accessed 14 July 2022
19
<https://www.igi-global.com/dictionary/computer-interface/5045> accessed 14 July 2022
Page 26 of 240
ATA Interface20 ATAPI Interface21
20
<https://www.computerhope.com/jargon/a/ata.htm> accessed 21 July 2022
21
<https://www.ioi.com.tw/products/proddetail.aspx?CatID=101&HostID=2032&DeviceID=3015&ProdID=1010111>
accessed 21 July 2022
Page 27 of 240
software that is installed with the Operating system. The Operating system and utility programs are
written in such a way to function independently because they are not user oriented. It always runs in
the background and executes all the operations in a Computer. But there are some system software’s
that are used by the end-users like a Device manager which is found on Control panel.
Application Software is a program or a group of programs designed for the end-user to perform a
specific task in a Computer. The user directly interacts with the application programs for performing
a task in a system. Some of the applications software’s are browsers, e-mail clients, word processors,
spreadsheet, database programs and many more that has various built-in functions to be used22.
1.10 Mobile Devices
A mobile device is a general term for any type of handheld computer. These devices are designed to
be extremely portable, and they can often fit in your hand. Some mobile devices like tablets, e-
readers, and smartphones are powerful enough to do many of the same things you can do with a
desktop or laptop computer.
Tablet computers
Like laptops, tablet computers are designed to be portable. However, they provide a different
computing experience. The most obvious difference is that tablet computers don't have keyboards or
touchpads. Instead, the entire screen is touch-sensitive, allowing you to type on a virtual keyboard and
use your finger as a mouse pointer. Tablet computers can't necessarily do everything traditional
computers can do. For many people, a traditional computer like a desktop or laptop is still needed in
order to use some programs. However, the convenience of a tablet computer means it may be ideal
as a second computer.
E-readers
E-book readers also called e-readers are similar to tablet computers, except they are mainly designed
for reading e-books (digital, downloadable books). Notable examples include the Amazon
Kindle, Barnes & Noble Nook, and Kobo. Most e-readers use an e-ink display, which is easier to read
than a traditional computer display.
Smartphones
A smartphone is a more powerful version of a traditional cell phone. In addition to the same basic
features phone calls, voicemail, text messaging smartphones can connect to the Internet over Wi-Fi
or a cellular network (which requires purchasing a monthly data plan). This means you can use a
22
Application and Types of Computer Applications <https://informationq.com/application-and-types-of-computer-
applications/> accessed 14 July 2022
Page 28 of 240
smartphone for the same things you would normally do on a computer, such as checking your email,
browsing the Web, or shopping online.23
23
"What is a mobile device?” <https://edu.gcfglobal.org/en/computerbasics/mobile-devices/1/> accessed 14 July 2022
24
IP address stands for internet protocol address. Every PC/Local machine is having an IP address and that IP address is
provided by the Internet Service Providers (ISP’s). These are some sets of rules which govern the flow of data whenever
a device is connected to the Internet. It differentiates computers, websites, and routers. Just like human identification
cards like Aadhaar cards, Pan cards, or any other unique identification documents. Every laptop and desktop have its own
unique IP address for identification. It’s an important part of internet technology. An IP address is displayed as a set of
four-digit like 192.154.3.29. Here each number on the set ranges from 0 to 255. Hence, the total IP address range from
0.0.0.0 to 255.255.255.255.
You can check the IP address of your Laptop or desktop by clicking on the windows start menu ->then right click and go
to network ->in that go to status and then Properties their you can see the IP address. There are four different types of IP
addresses are available:
1. Static IP address
2. Dynamic IP address
3. Private IP address
4. Public IP address
Page 29 of 240
connected to each other by means of hypertext or hypermedia links. Here, hyperlinks are known as
electronic connections that link the related data so that users can easily access the related information
and hypertext allows the user to pick a word or phrase from text, and using this keyword or word or
phrase can access other documents that contain additional information related to that word or keyword
or phrase. World wide web is a project which is created by Timothy Berner’s Lee in 1989, for
researchers to work together effectively at CERN. It is an organization, named World Wide Web
Consortium (W3C), which was developed for further development in the web.
Difference between Worldwide Web and Internet
The difference between the world wide web and the internet are:
• All the web pages and web documents are stored there on the World wide web and to find all that
stuff you will have a specific URL for each website. Whereas the internet is a global network of
computers that is accessed by the World wide web.
• World wide web is a service whereas the internet is an infrastructure.
• World wide web is a subset of the internet whereas the internet is the superset of the world wide
web.
• World wide web is software-oriented whereas the internet is hardware-oriented.
• World wide web uses HTTP whereas the internet uses IP addresses.
• The Internet can be considered as a Library whereas all the kinds of stuff like books from different
topics present over there can be considered as World Wide Web.25
1.12 Internet of Things
The Internet of Things (IoT) describes the network of physical objects “things” that are embedded
with sensors, software, and other technologies for the purpose of connecting and exchanging data
with other devices and systems over the internet. These devices range from ordinary household
objects to sophisticated industrial tools. That includes an extraordinary number of objects of all shapes
and sizes – from smart microwaves, which automatically cook your food for the right length of time,
to self-driving cars, whose complex sensors detect objects in their path. There are even connected
footballs that can track how far and fast they are thrown and record those statistics via an app for
future training purposes. IoT works in the following way:
• Devices have hardware like sensors, for example, that collect data.
25
<https://www.geeksforgeeks.org/what-is-internet-definition-uses-working-advantages-and-disadvantages/> accessed
14 July 2022
Page 30 of 240
• The data collected by the sensors is then shared via the cloud and integrated with software.
• The software then analyzes and transmits the data to users via an app or website. 26
Computer Memory
1.13 Registers
A register is a very small amount of very fast memory that is built into the CPU (central processing
unit) in order to speed up its operations by providing quick access to commonly used values. Registers
refers to semiconductor devices whose contents can be accessed (i.e., read and written to) at extremely
high speeds but which are held there only temporarily (i.e., while in use or only as long as the power
supply remains on).
Registers are the top of the memory hierarchy and are the fastest way for the system to manipulate
data. Registers are normally measured by the number of bits they can hold, for example, an 8-bit
register means it can store 8 bits of data or a 32-bit register means it can store 32 bit of data.
Registers are used to store data temporarily during the execution of a program. Some of the registers
are accessible to the user through instructions. Data and instructions must be put into the system, so
we need registers for this27.
There are different kinds of registers utilized for different reasons. Some of the commonly used
registers are:
• AC (Accumulator)
• DR (Data registers)
• AR (Address registers)
• PC (Program counter)
• MDR (Memory data registers)
• IR (Index registers)
• MBR (Memory buffer registers)
26
What is IoT? <https://builtin.com/internet-things> accessed 13 July 2022
27
<http://www.eazynotes.com/pages/computer-system-architecture/computer-registers.html> accessed 14 July 2022
Page 31 of 240
Memory Management28
These registers are utilized for playing out the different operations. When we perform some
operations, the CPU utilizes these registers to perform the operations. When we provide input to the
system for a certain operation, the provided information or the input gets stored in the registers. Once
the ALU arithmetic and logical unit process the output, the processed data is again provided to us by
the registers.
The sole reason for having a register is the quick recovery of information that the CPU will later
process. The CPU can use RAM over the hard disk to retrieve the memory, which is comparatively a
28
<https://www.geeksforgeeks.org/memory-management-in-operating-system/> accessed 21 July 2022
Page 32 of 240
much faster option, but the speed retrieved from RAM is still not enough. Therefore, we have catch
memory, which is faster than registers. These registers work with CPU memory like catch and RAM
to complete the task quickly.
Operation Performed by Registers
Following major operations performed by registers, such as:
• Fetch: The fetch operation is utilized for taking the directions by the client. The instructions that
are stored away into the main memory for later processing are fetched by registers.
• Decode: This operation is utilized for deciphering the instructions implies the instructions are
decoded the CPU will discover which operation is to be performed on the instructions.
• Execute: The CPU performs this operation. Also, results delivered by the CPU are then stored in
the memory, and after that, they are shown on the client Screen.
29
Types of Register in Computer Organization<https://www.javatpoint.com/types-of-register-in-computer-
Page 34 of 240
These registers are utilized in keeping
the record of a program that is being
executed or under execution. These
registers consist of the memory
address of the next instruction to be
fetched.
PC points to the address of the next
instruction to be fetched from the main
5 Program counter PC memory when the previous instruction
has been completed successfully.
Program Counter (PC) also functions
to count the number of instructions.
The incrementation of PC depends on
the type of architecture being used. If
we use a 32-bit architecture, the PC
gets incremented by 4 every time to
fetch the next instruction.
Page 35 of 240
These have different flags that depict
Condition code the status of operations. These registers
7
registers set the flags accordingly if the result of
operation caused zero or negative
Page 36 of 240
Stack is a set of location memory
where data is stored and retrieved in a
certain order. Also called last in first
out ( LIFO ), we can only retrieve a
stack at the second position only after
retrieving out the first one, and stack
Stack control
13 SCR control registers are mainly used to
registers
manage the stacks in the computer.
SP - BP is stack control registers. Also,
we can use DI, SI, SP, and BP as 2 byte
or 4-byte registers.
EDI, ESI, ESP, and EBP are 4 - byte
registers
Page 37 of 240
1.15 Cache Memory
Cache memory is a high-speed memory, which is small in size but faster than the main memory
(RAM). The CPU can access it more quickly than the primary memory. So, it is used to synchronize
with high-speed CPU and to improve its performance.
Cache memory can only be accessed by CPU. It can be a reserved part of the main memory or a
storage device outside the CPU. It holds the data and programs which are frequently used by the CPU.
So, it makes sure that the data is instantly available for CPU whenever the CPU needs this data. In
other words, if the CPU finds the required data or instructions in the cache memory, it doesn't need
to access the primary memory (RAM). Thus, by acting as a buffer between RAM and CPU, it speeds
up the system performance.
Types of Cache Memory:
L1: It is the first level of cache memory, which is called Level 1 cache or L1 cache. In this type of
cache memory, a small amount of memory is present inside the CPU itself. If a CPU has four cores
(quad core cpu), then each core will have its own level 1 cache. As this memory is present in the
CPU, it can work at the same speed as of the CPU. The size of this memory ranges from 2KB to 64
KB. The L1 cache further has two types of caches: Instruction cache, which stores instructions
required by the CPU, and the data cache that stores the data required by the CPU.
L2: This cache is known as Level 2 cache or L2 cache. This level 2 cache may be inside the CPU or
outside the CPU. All the cores of a CPU can have their own separate level 2 cache, or they can share
one L2 cache among themselves. In case it is outside the CPU, it is connected with the CPU with a
very high-speed bus. The memory size of this cache is in the range of 256 KB to the 512 KB. In terms
of speed, they are slower than the L1 cache.
L3: It is known as Level 3 cache or L3 cache. This cache is not present in all the processors; some
high-end processors may have this type of cache. This cache is used to enhance the performance of
Level 1 and Level 2 cache. It is located outside the CPU and is shared by all the cores of a CPU. Its
memory size ranges from 1 MB to 8 MB. Although it is slower than L1 and L2 cache, it is faster than
Random Access Memory (RAM).
How does cache memory work with CPU?
When CPU needs the data, first of all, it looks inside the L1 cache. If it does not find anything in L1,
it looks inside the L2 cache. If again, it does not find the data in L2 cache, it looks into the L3 cache.
If data is found in the cache memory, then it is known as a cache hit. On the contrary, if data is not
found inside the cache, it is called a cache miss.
If data is not available in any of the cache memories, it looks inside the Random Access Memory
(RAM). If RAM also does not have the data, then it will get that data from the Hard Disk Drive.
Page 38 of 240
So, when a computer is started for the first time, or an application is opened for the first time, data is
not available in cache memory or in RAM. In this case, the CPU gets the data directly from the hard
disk drive. Thereafter, when you start your computer or open an application, CPU can get that data
from cache memory or RAM30.
1.16 Random Access Memory (RAM)
RAM (Random Access Memory) is the internal memory of the CPU for storing data, program, and
program result. It is a read/write memory which stores data until the machine is working. As soon as
the machine is switched off, data is erased.
Access time in RAM is independent of the address, that is, each storage location inside the memory
is as easy to reach as other locations and takes the same amount of time. Data in the RAM can be
accessed randomly but it is very expensive.
RAM is volatile, i.e. data stored in it is lost when we switch off the computer or if there is a power
failure. Hence, a backup Uninterruptible Power System (UPS) is often used with computers. RAM is
small, both in terms of its physical size and in the amount of data it can hold.
RAM is of two types −
30
Cache Memory<https://www.javatpoint.com/cache-memory> accessed 14 July 2022
Page 39 of 240
6-transistors and no capacitors. Transistors do not require power to prevent leakage, so SRAM need
not be refreshed on a regular basis.
There is extra space in the matrix, hence SRAM uses more chips than DRAM for the same amount
of storage space, making the manufacturing costs higher. SRAM is thus used as cache memory and
has very fast access.
Characteristic of Static RAM
• Long life
• No need to refresh
• Faster
• Used as cache memory
• Large size
• Expensive
• High power consumption
Dynamic RAM (DRAM)
DRAM, unlike SRAM, must be continually refreshed in order to maintain the data. This is done by
placing the memory on a refresh circuit that rewrites the data several hundred times per second.
DRAM is used for most system memory as it is cheap and small. All DRAMs are made up of memory
cells, which are composed of one capacitor and one transistor.
Characteristics of Dynamic RAM
• Short data lifetime
• Needs to be refreshed continuously
• Slower as compared to SRAM
• Used as RAM
• Smaller in size
• Less expensive
• Less power consumption
1.17 Read Only Memory (ROM)
ROM stands for Read Only Memory. The memory from which we can only read but cannot write
on it. This type of memory is non-volatile. The information is stored permanently in such memories
during manufacture. A ROM stores such instructions that are required to start a computer. This
operation is referred to as bootstrap. ROM chips are not only used in the computer but also in other
electronic items like washing machine and microwave oven.
Page 40 of 240
ROM 31
Let us now discuss the various types of ROMs and their characteristics.
MROM (Masked ROM)
The very first ROMs were hard-wired devices that contained a pre-programmed set of data or
instructions. These kinds of ROMs are known as masked ROMs, which are inexpensive.
PROM (Programmable Read Only Memory)
PROM is read-only memory that can be modified only once by a user. The user buys a blank PROM
and enters the desired contents using a PROM program. Inside the PROM chip, there are small fuses
which are burnt open during programming. It can be programmed only once and is not erasable.
EPROM (Erasable and Programmable Read Only Memory)
EPROM can be erased by exposing it to ultra-violet light for a duration of up to 40 minutes. Usually,
an EPROM eraser achieves this function. During programming, an electrical charge is trapped in an
insulated gate region. The charge is retained for more than 10 years because the charge has no leakage
path. For erasing this charge, ultra-violet light is passed through a quartz crystal window (lid). This
exposure to ultra-violet light dissipates the charge. During normal use, the quartz lid is sealed with a
sticker.
EEPROM (Electrically Erasable and Programmable Read Only Memory)
EEPROM is programmed and erased electrically. It can be erased and reprogrammed about ten
thousand times. Both erasing and programming take about 4 to 10 ms (millisecond). In EEPROM,
any location can be selectively erased and programmed. EEPROMs can be erased one byte at a time,
rather than erasing the entire chip. Hence, the process of reprogramming is flexible but slow.
31
<https://www.tutorialspoint.com/computer_fundamentals/computer_rom.htm> accessed 21 July 2022
Page 41 of 240
Advantages of ROM
The advantages of ROM are as follows −
• Non-volatile in nature
• Cannot be accidentally changed
• Cheaper than RAMs
• Easy to test
• More reliable than RAMs
• Static and do not require refreshing
• Contents are always known and can be verified.32
1.18 Hard Drive
A computer hard drive (or a hard disk or HDD) is one kind of technology that stores the operating
system, applications, and data files such a documents, pictures and music that your computer uses.
The rest of the components in your computer work together to show you the applications and files
stored on your hard drive.
A hard disk drive (HDD) is composed of a platter that contains compartments to hold data. This data
is your operating system, applications, and any files you have created. There is also an accuator arm
that moves across the platter to read or write the information requested. To make this process faster,
the platter spins as the accuator arm moves across it.
The compartments that hold the data can be spread out all over the hard disk. That is, data is not
written sequentially. There is an indexing system to allow the accuator arm to find all of the pertinent
data.
The platter and the accuator arm are delicate, so they are covered by a steel case. This prevents
damage to the disk under normal circumstances.
32
Computer - Read Only Memory<https://www.tutorialspoint.com/computer_fundamentals/computer_rom.htm>
accessed 14 July 2022
Page 42 of 240
Hard Drive33
HDDs are proven technology that can hold a large amount of data (this varies by the size of the drive)
and are relatively cheap. Under normal use, they are reasonably durable and function well.
There are drawbacks, however. Hard disk drives can be slow, especially to open large applications or
files. Because they do not write data sequentially, the data can become fragmented, with empty space
within each compartment. This empty space is too small to use for data, but when the empty space is
added together it can take up a large portion of the drive.
Hard drives use a lot of power and produce a lot of heat. This makes them less useful in smaller
computers like laptops and notebooks. Under normal circumstances HDDs are durable. But when
hard drives are in portable computers that can be dropped or bumped while the platter is spinning, the
drive can be damaged so that the data on them is not retrievable by end users.
External Hard Drive
An external storage drive is a separate device that attaches to a computer, generally through a USB
port. Though it does not replace the need for an internal drive, an external drive gives you more
storage space for backup files, pictures, music, and more.
External drives are also portable; you can move them between computers. This will allow to share
things like pictures more easily.
Differences between internal and external hard drives
The computer must have at least one storage drive to function. Usually, the storage drive is an internal
drive; located inside the computer case. Internal drives come in a variety of storage sizes and can be
replaced if you don't have enough storage space.
One can set up a computer with an external drive in addition to the internal drive. An external drive
attaches to the computer, generally through a USB port. An external drive gives you more storage
space for backup files, pictures, music, or particularly large files.
External drives are also portable; can be moved between computers. This will allow to share things
like pictures more easily.34
1.19 Solid State Drive
A solid-state drive (herein after SSD) is a new generation of storage device used in computers. SSDs
use flash-based memory, which is much faster than a traditional mechanical hard disk. Upgrading to
an SSD is one of the best ways to speed up the computer.
33
Hard Drive, <https://www.crucial.in/articles/pc-builders/what-is-a-hard-drive> accessed 21 July 2022
34
<https://www.crucial.in/articles/pc-builders/what-is-a-hard-drive> accessed 14 July 2002
Page 43 of 240
SSDs store data permanently on an integrated circuit, which is a collection of electronic circuits
embedded within a silicon semiconductor cell. Sometimes referred to as semiconductor storage
devices, SSDs are more commonly known as solid-state drives, because they don’t have the moving
parts found in hard-disk drives (HDD).
Because SSD flash memory can be written, transferred, and erased electronically, SSDs run much
faster and more quietly than HDDs. But they’re also more expensive and have more limited storage
capacity than HDDs. SSDs are often used on high-end machines or as secondary storage devices on
consumer PCs.
SSDs are used in the following areas:
• Business: Companies working with huge amounts of data (such as programming environments or
data analysis) often rely on SSDs, as access times and file-transfer speeds are critical.
• Gaming: Gaming computers have always pressed the limits of current computing technology,
justifying relatively expensive equipment for the benefit of gaming performance. That is
particularly true for storage, as modern blockbuster games constantly load and write files (e.g.
textures, maps, levels, characters).
• Mobility: SSDs have low power requirements, thus contributing to better battery life in laptops and
tablets. SSDs are also shock resistant, which reduces the chances of data loss when mobile devices
are dropped.
• Servers: Enterprise servers need SSDs to get fast reads and writes in order to properly serve their
client PCs.35
1.20 Optical Disc
An optical disc is an electronic data storage medium that is also referred to as an optical disk, optical
storage, optical media, Optical disc drive, disc drive, which reads and writes data by using optical
storage techniques and technology. An optical disc, which may be used as a portable and secondary
storage device, was first developed in the late 1960s. James T. Russell invented the first optical disc,
which could store data as micron-sized light and dark dots.
An optical disc can store more data and has a longer lifespan than the preceding generation of
magnetic storage medium. To read and write to CDs and DVDs, computers use a CD writer or DVD
writer drive, and to read and write to Blu-ray discs, they require a Blu-ray drive. MO drives, such as
CD-R and DVD-R drives, are used to read and write information to discs (magneto-optic). The CDs,
Blu-ray, and DVDs are the most common types of optical media, which are usually used to:
• They are used to transfer data to various devices or computers.
35
<https://www.avast.com/c-what-is-ssd> accessed 14 July 2022
Page 44 of 240
• These media are used to deliver the software to others.
• They help users to hold large amounts of data, like videos, photos, music, and more.
• Also, optical media are used to get back up from a local machine.
With the introduction of an all-new generation of optical media, the storage capacity to store data has
increased. CDs have the potential to store 700 MB of data, whereas DVDs allow you to store up to
8.4 GB of data. Blu-ray discs, the newest type of optical media, can hold up to 50 GB of data. This
storage capacity is the most convenient benefit as compared to the floppy disk storage media, which
can store up to 1.44 MB of data.
Optical discs are impervious to most environmental threats like magnetic disturbances or power
surges; however, these discs are not expensive to manufacture. It helps optical disc storage to make
well-suited for archival storage.
Different Kinds of Optical Drives
Optical drives are disk-based drives that were introduced to the market in the 1980s to allow for
increased storage capacity and faster read and write times. There are multiple
kinds of optical media, which are discussed below:
CD-ROM
CD-ROM, short for compact disk read-only memory, was the first disk on the basis of drives for the
latest PCs. CD-ROM devices populate Compact Disk Filing System discs with data encoded in ISO
9660. To reduce noise and increase stability, most CD-ROM drives in computers run at a slower
speed, and if the drive experiences read errors, it will only speed up for larger data files. However,
the newest CD-ROM drives have the potential to achieve read speeds of 60 revolutions in a second
(60x).
CD/DVD tracks36
36
The Windows Disk Management 1
<https://www.installsetupconfig.com/win32programming/windowsdiskapis2.html> accessed 21 July 2022
Page 45 of 240
DVD-ROM
DVD-ROM drives, which stand for Digital Versatile Disk Read Only Memory and are a direct
evolution from CD-ROM drives, have significantly more performance and capacity than their CD
counterparts while maintaining the same physical dimensions. The DVD Forum is a non-profit
organization that establishes several standards for DVD functionality and construction, as well as
overseeing DVD development.
Blu-Ray
In the commercial market, Blu-ray drives are the newest drives available as of 2011. During the early
2000s, Sony developed the Blu-ray technology that was one of the founding proponents.
RW Drives
The rewritable drive types are Blu-ray drives, DVD-ROMs, and CD-ROMs. All the functionalities
of read-only counterparts are available in RW drives. Write processes are particularly sensitive to
shock and can ruin the disc beyond repair if forcibly interrupted; write speeds are slower to preserve
stability than read speeds. Writable disks come in multiple-time write and one-time write variations;
however, RW drives can write multiple times.
Advantages of Optical Disk
Only plastics and aluminum foils are used in the production of an optical disk, which makes their
manufacturing cost less expensive. Therefore, users get the advantage to purchase optical disks in
bulk, and also, the optical disk drive is included with many computers by their manufacturers, and
users can be benefited from purchasing optical disk drives separately37.
1.21 Server
A server is a computer or system that provides resources, data, services, or programs to other
computers, known as clients, over a network. In theory, whenever computers share resources with
client machines they are considered servers. There are many types of servers, including web servers,
mail servers, and virtual servers.
An individual system can provide resources and use them from another system at the same time. This
means that a device could be both a server and a client at the same time.
Some of the first servers were mainframe computers or minicomputers. Minicomputers were much
smaller than mainframe computers, hence the name. However, as technology progressed, they ended
up becoming much larger than desktop computers, which made the term microcomputer somewhat
37
<https://www.javatpoint.com/what-is-an-optical-disc> accessed 14 July 2022
Page 46 of 240
farcical.
Initially, such servers were connected to clients known as terminals that did not do any actual
computing. These terminals, referred to as dumb terminals, existed simply to accept input via a
keyboard or card reader and to return the results of any computations to a display screen or printer.
The actual computing was done on the server.
Later, servers were often single, powerful computers connected over a network to a set of less-
powerful client computers. This network architecture is often referred to as the client-server model,
in which both the client computer and the server possess computing power, but certain tasks are
delegated to servers. In previous computing models, such as the mainframe-terminal model, the
mainframe did act as a server even though it wasn’t referred to by that name.
As technology has evolved, the definition of a server has evolved with it. These days, a server may
be nothing more than software running on one or more physical computing devices. Such servers are
often referred to as virtual servers. Originally, virtual servers were used to increase the number of
server functions a single hardware server could do. Today, virtual servers are often run by a third-
party on hardware across the Internet in an arrangement called cloud computing.
A server may be designed to do a single task, such as a mail server, which accepts and stores email
and then provides it to a requesting client. Servers may also perform several tasks, such as a file and
print server, which both stores files and accepts print jobs from clients and then sends them on to a
network-attached printer.
Functioning of a Server
To function as a server, a device must be configured to listen to requests from clients on a network
connection. This functionality can exist as part of the operating system as an installed application,
role, or a combination of the two.
For example, Microsoft’s Windows Server operating system provides the functionality to listen to
and respond to client requests. Additionally, installed roles or services increase which kinds of client
requests the server can respond to. In another example, an Apache web server responds to Internet
browser requests via an additional application, Apache, installed on top of an operating system.
When a client requires data or functionality from a server, it sends a request over the network. The
server receives this request and responds with the appropriate information. This is the request and
response model of client-server networking, also known as the call and response model.
A server will often perform numerous additional tasks as part of a single request and response,
including verifying the identity of the requestor, ensuring that the client has permission to access the
data or resources requested, and properly formatting or returning the required response in an expected
way.
Page 47 of 240
Types of servers
There are many types of servers that all perform different functions. Many networks contain one or
more of the common server types:
File servers
File servers store and distribute files. Multiple clients or users may share files stored on a server. In
addition, centrally storing files offers easier backup or fault tolerance solutions than attempting to
provide security and integrity for files on every device in an organization. File server hardware can
be designed to maximize read and write speeds to improve performance.
Print servers
Print servers allow for the management and distribution of printing functionality. Rather than
attaching a printer to every workstation, a single print server can respond to printing requests from
numerous clients. Today, some larger and higher-end printers come with their own built-in print
server, which removes the need for an additional computer-based print server. This internal print
server also functions by responding to print requests from a client.
Application servers
Application servers run applications in lieu of client computers running applications locally.
Application servers often run resource-intensive applications that are shared by a large number of
users. Doing so removes the need for each client to have sufficient resources to run the applications.
It also removes the need to install and maintain software on many machines as opposed to only one.
DNS servers
Domain Name System (DNS) servers are application servers that provide name resolution to client
computers by converting names easily understood by humans into machine-readable IP addresses.
The DNS system is a widely distributed database of names and other DNS servers, each of which can
be used to request an otherwise unknown computer name. When a client needs the address of a
system, it sends a DNS request with the name of the desired resource to a DNS server. The DNS
server responds with the necessary IP address from its table of names.
Mail servers
Mail servers are a very common type of application server. Mail servers receive emails sent to a user
and store them until requested by a client on behalf of said user. Having an email server allows for a
single machine to be properly configured and attached to the network at all times. It is then ready to
send and receive messages rather than requiring every client machine to have its own email subsystem
continuously running.
Web servers
Page 48 of 240
One of the most abundant types of servers in today’s market is a web server. A web server is a special
kind of application server that hosts programs and data requested by users across the Internet or an
intranet. Web servers respond to requests from browsers running on client computers for web pages,
or other web-based services. Common web servers include Apache web servers, Microsoft Internet
Information Services (IIS) servers and Nginx servers.
Database servers
The amount of data used by companies, users, and other services is staggering. Much of that data is
stored in databases. Databases need to be accessible to multiple clients at any given time and can
require extraordinary amounts of disk space. Both of these needs lend themselves well to locating
such databases on servers. Database servers run database applications and respond to numerous
requests from clients. Common database server applications include Oracle, Microsoft SQL Server,
DB2, and Informix.
Virtual servers
Virtual servers are taking the server world by storm. Unlike traditional servers that are installed as an
operating system on machine hardware, virtual servers exist only as defined within specialized
software called hypervisor. Each hypervisor can run hundreds, or even thousands, of virtual servers
all at once. The hypervisor presents virtual hardware to the server as if it were real physical hardware.
The virtual server uses the virtual hardware as usual, and the hypervisor passes the actual computation
and storage needs onto the real hardware beneath, which is shared among all the other virtual servers.
Proxy servers
A proxy server acts as an intermediary between a client and a server. Often used to isolate either the
clients or servers for security purposes, a proxy server takes the request from the client. Instead of
responding to the client, it passes the request on to another server or process. The proxy server
receives the response from the second server and then replies to the original client as if it were
replying on its own. In this way, neither the client nor the responding server needs to directly connect
to each other.
Monitoring and management servers
Some servers exist to monitor or manage other systems and clients. There are many types of
monitoring servers. Several of them listen to the network and receive every client request and server
response, but some do not request or respond to data themselves. In this way, the monitoring server
can keep track of all the traffic on the network, as well as the requests and replies of clients and
servers, without interfering with those operations. A monitoring server will respond to requests from
monitoring clients such as those run by network administrators watching the health of the network.
Server structures
Page 49 of 240
The concept of servers is nearly as old as networking itself. After all, the point of a network is to
allow one computer to talk to another computer and distribute either work or resources. Computing
has evolved since then, resulting in several types of server structures and hardware.
Mainframe or minicomputer (AS/400)
You could say that the original servers, mainframe computers, and later, minicomputers, handled
almost all computing tasks except the interaction with the user through a screen and keyboard, which
was left to the client system.
Computer hardware server
The next major wave of servers included computer-based servers. In many respects, these servers
were nothing more than larger, more powerful desktop computers. Such servers were generally more
expensive and held far more memory and disk space than most client computers. Each server was
still a self-contained unit with its own motherboard, processor, memory, disk drives, and power
supply. Servers like this were often warehoused in air-conditioned rooms called server rooms, and
were later bolted into racks for better storage and accessibility.
Blade servers
The original computer server hardware was large and stored in racks that could hold hundreds of
pounds. Over time, however, faster means of connecting hardware resulted in parts of the server being
extracted from a single self-contained device. By removing hard drives, eliminating internal cooling,
and the ongoing miniaturization of computing parts, servers were eventually reduced to a single thin
server known as a blade server. While still stored in racks in server rooms, blade servers are smaller
and can be replaced more easily.
Combining servers
Even before virtualization, servers were being extracted from the standard model of a single server
operating system installed on a hardware machine. Technology, such as network-attached storage,
removed the need for a server to have its own storage. Other technologies, such as mirroring and
clustering, enabled pieces of hardware to be combined into larger, more powerful servers. Such a
server might consist of several blades, several attached storage devices, and an external power supply,
and each piece could be swapped out for another while the server was still running.
Virtual servers
Virtual Servers still require hardware, but that hardware now runs a different process known as a
hypervisor. In some cases, such as Microsoft’s Hyper-V, a full operating system continues to run on
the hardware itself. In other cases, so-called bare-metal hypervisors can be installed directly onto
server hardware. In both instances, the hardware itself is often spread across an array of blade servers,
Page 50 of 240
networked storage, and power supply, resulting in an environment where it is impossible to tell where
any individual server ends and another begins.38
1.22 Cloud Server
Cloud computing is a general term for anything that involves delivering hosted services over the
internet. These services are divided into three main categories or types of cloud computing:
infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).A
cloud can be private or public. A public cloud sells services to anyone on the internet. A private cloud
is a proprietary network or a data center that supplies hosted services to a limited number of people,
with certain access and permissions settings. Private or public, the goal of cloud computing is to
provide easy, scalable access to computing resources and IT services. Cloud infrastructure involves
the hardware and software components required for proper implementation of a cloud computing
model.39The cloud is commonly used to refer to several servers connected to the internet that can be
leased as part of a software or application service. Cloud-based services can include web hosting,
data hosting and sharing, and software or application use.
‘The cloud ’can also refer to cloud computing, where several servers are linked together to share the
load. This means that instead of using one single powerful machine, complex processes can be
distributed across multiple smaller computers.
One of the advantages of cloud storage is that there are many distributed resources acting as one –
often called federated storage clouds. This makes the cloud very tolerant of faults, due to the
distribution of data. Use of the cloud tends to reduce the creation of different versions of files, due to
shared access to documents, files and data.
Benefits of cloud computing:
• Increased Server Uptime
• Cost Efficiency
• Increased Security
• Scalability of Resources
• Independence of Location
• Increased Group Collaboration
• Backup and Disaster Recovery. Cloud Server40
38
<https://www.paessler.com/it-explained/server> accessed 14 July 2022
39
Wesley Chai,”Cloud Computing<https://www.techtarget.com/searchcloudcomputing/definition/cloud-computing>
accessed 20 July 2022
40 <https://www.javatpoint.com/cloud-server> accessed 21 July 2022
Page 51 of 240
Unit II
Operating System and Database Management System
2.1 Introduction to Operating System
A computer system has many resources (hardware and software), which may be required to complete
a task. The commonly required resources are input/output devices, memory, file storage space, CPU,
etc. The operating system acts as a manager of the above resources and allocates them to specific
programs and users, whenever necessary to perform a particular task. Therefore the operating system
is the resource manager i.e. it can manage the resource of a computer system internally. The resources
are processor, memory, files, and I/O devices. In simple terms, an operating system is an interface
between the computer user and the machine. The operating system mainly coordinates the use of the
hardware among the various system programs and application programs for various users.
OS is mainly designed in order to serve two basic purposes:
1. The operating system mainly controls the allocation and use of the computing System’s resources
among the various user and tasks.
2. It mainly provides an interface between the computer hardware and the programmer that
simplifies and makes feasible for coding, creation of application programs and debugging.
History of Operating Systems
• The first computer, Z1, was made in 1936 – 1938. Unfortunately, this computer ran without
an operating system.
• Twenty years later, the first-ever operating system was made in 1956.
• In the 1960s, bell labs started working on building UNIX, the first multitasking operating
system.
• In 1977 the apple series came into existence. Apple Dos 3.3 was the first disk operating
system.
• In 1981, Microsoft built the first operating system called DOS by purchasing 86 – DOS
software from a Seattle company.
• The most famous Microsoft windows came into existence in 1985 when MS-DOS was paired
with GUI, a graphics environment.
2.2 Types of Operating System
• Batch operating system
Page 52 of 240
The users of a batch operating system do not interact with the computer directly. Each user prepares
his job on an off-line device like punch cards and submits it to the computer operator. To speed up
processing, jobs with similar needs are batched together and run as a group. The programmers leave
their programs with the operator and the operator then sorts the programs with similar requirements
into batches.
The problems with Batch Systems are as follows −
Page 53 of 240
• Problem of data communication.
• Distributed operating System
Distributed systems use multiple central processors to serve multiple real-time applications and
multiple users. Data processing jobs are distributed among the processors accordingly.
The processors communicate with one another through various communication lines (such as high-
speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems.
Processors in a distributed system may vary in size and function. These processors are referred as
sites, nodes, computers, and so on.
The advantages of distributed systems are as follows −
• With resource sharing facility, a user at one site may be able to use the resources available at
another.
• Speedup the exchange of data with one another via electronic mail.
• If one site fails in a distributed system, the remaining sites can potentially continue operating.
• Better service to the customers.
• Reduction of the load on the host computer.
• Reduction of delays in data processing.
• Network operating System
A Network Operating System runs on a server and provides the server the capability to manage data,
users, groups, security, applications, and other networking functions. The primary 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.
Examples of network operating systems include Microsoft Windows Server 2003, Microsoft
Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
The advantages of network operating systems are as follows −
Page 55 of 240
The system can be assumed to work in two separate modes of operation:
• user mode and
• kernel mode (supervisor mode, system mode, or privileged mode).
A hardware bit of the computer, called the mode bit, is used to indicate the current mode: kernel (0)
or user (1). With the mode bit, we are able to distinguish between a task that is executed by the
operating system and one that is executed by the user.
When the computer system is executing a user application, the system is in user mode. When a user
application requests a service from the operating system (via a system call), the transition from user
to kernel mode takes place.
At system boot time, the hardware starts in kernel mode. The operating system is then loaded and
starts user applications in user mode. Whenever a trap or interrupt occurs, the hardware switches from
user mode to kernel mode (that is, changes the mode bit from 1 to 0). Thus, whenever the operating
system gains control of the computer, it is in kernel mode.
The dual mode of operation provides us with the means for protecting the operating system from
errant users and errant users from one another. The hardware allows privileged instructions to be
executed only in kernel mode. If an attempt is made to execute a privileged instruction in user mode,
the hardware does not execute the instruction but rather treats it as illegal and traps it to the operating
system. The instruction to switch to user mode is an example of a privileged instruction.
Initial control is within the operating system, where instructions are executed in kernel mode. When
control is given to a user application, the mode is set to user mode. Eventually, control is switched
back to the operating system via an interrupt, a trap, or a system call.
b) Timer Operating system uses timer to control the CPU. A user program cannot hold CPU for a
long time, this is prevented with the help of timer. A timer can be set to interrupt the computer after
a specified period.
The period may be fixed (for example, 1/60 second) or variable (for example, from 1 millisecond to
1 second).
Fixed timer – After a fixed time, the process under execution is interrupted
Page 56 of 240
Variable timer – Interrupt occurs after varying interval. This is implemented using a fixed-rate clock
and a counter. The operating system sets the counter. Every time the clock ticks, the counter is
decremented. When the counter reaches 0, an interrupt occurs. Before changing to the user mode, the
operating system ensures that the timer is set to interrupt. If the timer interrupts, control transfers
automatically to the operating system, which may treat the interrupt as a fatal error or may give the
program more time.
Page 57 of 240
Here, is an Architecture diagram of the Process
• Stack: The Stack stores temporary data like function parameters, returns addresses, and local
variables.
• Heap Allocates memory, which may be processed during its run time.
• Data: It contains the variable.
• Text: Text Section includes the current activity, which is represented by the value of the
Program Counter.
Process Control Blocks
PCB stands for Process Control Block. It is a data structure that is maintained by the Operating System
for every process. The PCB should be identified by an integer Process ID (PID). It helps you to store
all the information required to keep track of all the running processes.
It is also accountable for storing the contents of processor registers. These are saved when the process
moves from the running state and then returns back to it. The information is quickly updated in the
PCB by the OS as soon as the process makes the state transition.
Process States
41
<https://www.includehelp.com/operating-systems/process-state-diagram.aspx> acccessed 21July 2022
Page 58 of 240
A process state is a condition of the process at a specific instant of time. It also defines the current
position of the process.
There are mainly seven stages of a process which are:
• New: The new process is created when a specific program calls from secondary memory/ hard
disk to primary memory/ RAM
• Ready: In a ready state, the process should be loaded into the primary memory, which is ready
for execution.
• Waiting: The process is waiting for the allocation of CPU time and other resources for
execution.
• Executing: The process is an execution state.
• Blocked: It is a time interval when a process is waiting for an event like I/O operations to
complete.
• Suspended: Suspended state defines the time when a process is ready for execution but has
not been placed in the ready queue by OS.
• Terminated: Terminated state specifies the time when a process is terminated
After completing every step, all the resources are used by a process, and memory becomes free.
2.5 Memory Management in Operating System
The term Memory can be defined as a collection of data in a specific format. It is used to store
instructions and processed data. The memory comprises a large array or group of words or bytes, each
with its own location. The primary motive of a computer system is to execute programs. These
programs, along with the information they access, should be in the main memory during execution.
The CPU fetches instructions from memory according to the value of the program counter.
The main memory is central to the operation of a modern computer. Main Memory is a large array of
words or bytes, ranging in size from hundreds of thousands to billions. Main memory is a repository
of rapidly available information shared by the CPU and I/O devices. Main memory is the place where
programs and information are kept when the processor is effectively utilizing them. Main memory
is associated with the processor, so moving instructions and information into and out of the processor
is extremely fast. Main memory is also known as RAM (Random Access Memory). This memory is
a volatile memory. RAM lost its data when a power interruption occurs.
Memory Management :
In a multiprogramming computer, the operating system resides in a part of memory and the rest is
used by multiple processes. The task of subdividing the memory among different processes is called
memory management. Memory management is a method in the operating system to manage
Page 59 of 240
operations between main memory and disk during process execution. The main aim of memory
management is to achieve efficient utilization of memory.
Memory Management is required to :
• Allocate and de-allocate memory before and after process execution.
• To keep track of used memory space by processes.
• To minimize fragmentation issues.
• To proper utilization of main memory.
• To maintain data integrity while executing of process.
Now let’s discuss the concept of logical address space and Physical address space:
Logical and Physical Address Space:
Logical Address space: An address generated by the CPU is known as “Logical Address”. It is also
known as a Virtual address. Logical address space can be defined as the size of the process. A logical
address can be changed.
Physical Address space: An address seen by the memory unit (i.e the one loaded into the memory
address register of the memory) is commonly known as a “Physical Address”. A Physical address is
also known as a Real address. The set of all physical addresses corresponding to these logical
addresses is known as Physical address space. A physical address is computed by MMU. The run-
time mapping from virtual to physical addresses is done by a hardware device Memory Management
Unit (MMU). The physical address always remains constant.
Static and Dynamic Loading:
To load a process into the main memory is done by a loader. There are two different types of loading:
• Static loading: loading the entire program into a fixed address. It requires more memory
space.
• Dynamic loading: The entire program and all data of a process must be in physical
memory for the process to execute. So, the size of a process is limited to the size of physical
memory. To gain proper memory utilization, dynamic loading is used. In dynamic loading,
a routine is not loaded until it is called. All routines are residing on disk in a relocatable
load format. One of the advantages of dynamic loading is that unused routine is never
loaded. This loading is useful when a large amount of code is needed to handle it
efficiently.
Static and Dynamic linking:
To perform a linking task a linker is used. A linker is a program that takes one or more object files
generated by a compiler and combines them into a single executable file.
Page 60 of 240
• Static linking: In static linking, the linker combines all necessary program modules into a
single executable program. So there is no runtime dependency. Some operating systems
support only static linking, in which system language libraries are treated like any other
object module.
• Dynamic linking: The basic concept of dynamic linking is similar to dynamic loading. In
dynamic linking, “Stub” is included for each appropriate library routine reference. A stub
is a small piece of code. When the stub is executed, it checks whether the needed routine
is already in memory or not. If not available then the program loads the routine into
memory.
Swapping:
When a process is executed it must have resided in memory. Swapping is a process of swap a process
temporarily into a secondary memory from the main memory, which is fast as compared to secondary
memory. A swapping allows more processes to be run and can be fit into memory at one time. The
main part of swapping is transferred time and the total time directly proportional to the amount of
memory swapped. Swapping is also known as roll-out, roll in, because if a higher priority process
arrives and wants service, the memory manager can swap out the lower priority process and then load
and execute the higher priority process. After finishing higher priority work, the lower priority
process swapped back in memory and continued to the execution process.
Page 61 of 240
Contiguous Memory Allocation :
The main memory should oblige both the operating system and the different client
processes. Therefore, the allocation of memory becomes an important task in the operating
system. The memory is usually divided into two partitions: one for the resident operating system and
one for the user processes. We normally need several user processes to reside in memory
simultaneously. Therefore, we need to consider how to allocate available memory to the processes
that are in the input queue waiting to be brought into memory. In adjacent memory allotment, each
process is contained in a single contiguous segment of memory.
Page 62 of 240
Memory allocation:
To gain proper memory utilization, memory allocation must be allocated efficient manner. One of the
simplest methods for allocating memory is to divide memory into several fixed-sized partitions and
each partition contains exactly one process. Thus, the degree of multiprogramming is obtained by the
number of partitions.
Multiple partition allocation : In this method, a process is selected from the input queue and loaded
into the free partition. When the process terminates, the partition becomes available for other
processes.
Fixed partition allocation: In this method, the operating system maintains a table that indicates
which parts of memory are available and which are occupied by processes. Initially, all memory is
Page 63 of 240
available for user processes and is considered one large block of available memory. This available
memory is known as “Hole”. When the process arrives and needs memory, we search for a hole that
is large enough to store this process. If the requirement fulfills then we allocate memory to process,
otherwise keeping the rest available to satisfy future requests. While allocating a memory sometimes
dynamic storage allocation problems occur, which concerns how to satisfy a request of size n from a
list of free holes. There are some solutions to this problem:
First fit:
In the first fit, the first available free hole fulfills the requirement of the process allocated.
Here, in this diagram 40 KB memory block is the first available free hole that can store process A
(size of 25 KB), because the first two blocks did not have sufficient memory space.
Best fit
In the best fit, allocate the smallest hole that is big enough to process requirements. For this, we search
the entire list, unless the list is ordered by size.
Page 64 of 240
Here in this example, first, we traverse the complete list and find the last hole 25KB is the best suitable
hole for Process A (size 25KB).
In this method memory utilization is maximum as compared to other memory allocation techniques.
Worst fit: In the worst fit, allocate the largest available hole to process. This method produces the
largest leftover hole.
Here in this example, Process A (Size 25 KB) is allocated to the largest available memory block
which is 60KB. Inefficient memory utilization is a major issue in the worst fit.
Fragmentation:
A Fragmentation is defined as when the process is loaded and removed after execution from memory,
it creates a small free hole. These holes can-not be assigned to new processes because holes are not
combined or do not fulfill the memory requirement of the process. To achieve a degree of
Page 65 of 240
multiprogramming, we must reduce the waste of memory or fragmentation problem. In operating
system two types of fragmentation:
Internal fragmentation :
Internal fragmentation occurs when memory blocks are allocated to the process more than their
requested size. Due to this some unused space is leftover and creates an internal fragmentation
problem.
Example: Suppose there is a fixed partitioning is used for memory allocation and the different size
of block 3MB, 6MB, and 7MB space in memory. Now a new process p4 of size 2MB comes and
demand for the block of memory. It gets a memory block of 3MB but 1MB block memory is a waste,
and it can-not be allocated to other processes too. This is called internal fragmentation.
External fragmentation:
In external fragmentation, we have a free memory block, but we can-not assign it to process because
blocks are not contiguous.
Example: Suppose (consider above example) three process p1, p2, p3 comes with size 2MB, 4MB,
and 7MB respectively. Now they get memory blocks of size 3MB, 6MB, and 7MB allocated
respectively. After allocating process p1 process and p2 process left 1MB and 2MB. Suppose a new
process p4 comes and demands a 3MB block of memory, which is available, but we can-not assign it
because free memory space is not contiguous. This is called external fragmentation.
Both the first fit and best-fit systems for memory allocation affected by external fragmentation. To
overcome the external fragmentation problem Compaction is used. In the compaction technique, all
free memory space combines and makes one large block. So, this space can be used by other processes
effectively.
Another possible solution to the external fragmentation is to allow the logical address space of the
processes to be noncontiguous, thus permit a process to be allocated physical memory where ever the
latter is available.
Paging:
Paging is a memory management scheme that eliminates the need for contiguous allocation of
physical memory. This scheme permits the physical address space of a process to be non-contiguous.
• Logical Address or Virtual Address (represented in bits): An address generated by the CPU
• Logical Address Space or Virtual Address Space (represented in words or bytes): The set of all
logical addresses generated by a program
• Page number(p): Number of bits required to represent the pages in Logical Address
Space or Page number
• Page offset(d): Number of bits required to represent a particular word in a page or page
size of Logical Address Space or word number of a page or page offset.
Physical Address is divided into
• Frame number(f): Number of bits required to represent the frame of Physical Address
Space or Frame number frame
• Volume Migration
• Storage Virtualization
• Snapshot and Mirroring
• Auto-Provisioning
• Process Automation
• Disaster and Recovery
• And more…
Page 67 of 240
As mentioned before, the goal of storage management is to improve the performance of resources,
not to expand capacity.
These techniques and software will develop the ability to store data and secure it properly.
Page 68 of 240
• Speed and Flexibility: Storage management solutions should be able to work in real-time and
adapt to sudden changes in the storage resources. For example, storage replication is a managed
service that replicates stored data in real-time. Storage virtualization can also help improve
flexibility and reduce wasted storage. Virtualization can create a pool of physical storage from
multiple devices into a single logical storage device. Storage capacity can be easily relocated as
the business changes needs.
• Higher Availability: This is probably one of the biggest benefits of storage management. For
example, technologies such as Replication, Snapshot and Mirroring, Migration, and Disaster and
Recovery (DR) can help you have higher availability and reliability on data. All these storage
techniques can help backup and restore data fast, but some can also serve as primary storage.
Page 70 of 240
For example, in a proprietary (closed) Operating system, the information is packed and stored. The
same happens in the Open Source. But since the source code is visible to you (user) you can
understand the process and alter the way information is processed.
Types of Open Source Operating System
Most of the Open Source Operating Systems are Linux based.
▪ Linux Kernel is created by Linus Torvalds. It provides the core functions needed for an
Operating System like Parceling of data, processing of memory, and interactions with the
computer hardware. Linux is open-source many developers studied the source code and
created many supportive plug-ins and operating systems for their needs. Though Linux is the
heart of the operating systems, there are also some Open Source
▪ Cost-efficient – Most of the Open Source OS is free. And some of them are available at a very
cheap rate than the commercial closed products.
▪ Reliable and efficient – Most of them are monitored by thousands of eyes since the source
code is public. So, if there is any vulnerability or bugs, they are fixed by the best developers
around the world
▪ Flexibility- The great advantage is you can customize it as per your need. And there is creative
freedom.
Cons:
▪ Security risk – Though the bugs are identified, there is a risk of attacks as the source code is
available to the attackers.
▪ Complicated – It is not user-friendly as the closed ones. You need to have the minimum
technical knowledge to use this software
▪ No support – If you meet with the problem, then there is no customer support to help you out.
Page 71 of 240
2.9 Mac Operating System
The macOS is a better operating system as compared to others like Windows, Linux-based
derivatives, Debian Ubuntu & GNU, or Linux. The Unix-based OS which is developed by Apple Inc
has gained so much popularity because of its effective marketing & business strategies some
disadvantages make Mac Operating System not a competent alternative to Windows.
History of Mac OS
The desktop operating system like macOS is used in Apple products like iMacs & MacBooks. This
operating system was launched in 2001 and named it MacOS X. The history of MacOS is as follows.
macOS has been known for several years due to its simplicity, security, different accessibility
options, advanced technologies, and many more. This operating system has been used in different
Apple products so that every user can easily use and navigate.
OS X or macOS has turned into a brand for both Apple and Mac devices. After a few days, the Apple
operating system was launched, which is known as iOS. So, the growth of OS X from 2001 to current
versions in 2020 like macOS, there are different versions has been released.
Advantages of Mac OS
The advantages of Mac OS include the following.
◦ Windows Home
◦ Windows Professional
Windows Home
42
<https://informationq.com/overview-mac-os/> accessed 14 July 2022
Page 73 of 240
Windows Home is basic edition of Windows. It offers all the fundamental functions of Windows,
such as browsing the web, connecting to the Internet, playing video games, using office software,
watching videos. Furthermore, it is less expensive and comes pre-installed with many new computers.
Windows Professional
Windows Professional is also known as Window Pro or win Pro. It is an enhanced edition of
Windows, which is beneficial for power users and small to medium-size businesses. It contains all
features of Windows Home as well as the following:
◦ Remote Desktop: Windows Professional editions allow users to create a remote desktop
connection. It provides users the option to connect with another computer remotely, including
share the control of its mouse, keyboard, and view display. It is mainly accessed with the help
of port 3389. Additionally, we can also use the TeamViewer or VNC application to create a
remote desktop connection.
◦ Trusted Boot: It provides security as encrypting to the boot loader and protects the computer
from rootkits (Collection of software tools that allow users to enter another computer through
an unauthorized way known as rootkits).
◦ Bitlocker: It allows users to encrypt a storage drive by using AES (Advanced Encryption
Standard) algorithm. This feature is present in Windows 7, and Windows Vista (Only ultimate
and Enterprise versions), including Windows Server 2008.
Business laptops or computers mainly use the Bitlocker feature to protect their data on the computer.
If computer has been stolen, it is very difficult to break the Bitlocker password. It can be unlocked
by entering the correct password only. Furthermore, if you forget your Bitlocker password, it cannot
be retrieved.
◦ Group policy management: An admin can specify group policies in an organization to manage
different Windows users.
◦ It provides support for the systems that have more than 128 GB of RAM.
◦ Furthermore, it also offers more Windows update installation options as well as flexible
scheduling and postponement around 34 days.
Page 74 of 240
2.11 Difference between the Windows, MAC and Linux Operating Systems.
Page 75 of 240
File structure Windows follows a The file structure of Linux has a completely
directory structure to MAC is commonly different file structure
store the different known as MAC OS form Windows and
kinds of files of the X. If you go to dig MAC. It was
user. It has logical into your MAC’s developed with a
drives and cabinet hard disk through different code base. It
drawers. It also has the finder, you will stores data in the form
folders. Some see many of a tree. There is a
common folders like directories. The root single file tree, and all
documents, pictures, directory of MAC your drives are
music, videos, and may encounter mounted over this tree.
downloads. All these when they visit their
files can be stored in own MAC book.
these folders, and also You can explore the
new folders can be file system and
created. It also has directory structure
files which can be a by going to
spreadsheet or an directories like
application program. /Application,
It can have extensions /Developer, /sbin,
as .txt, .jpg etc. /tmp, etc.
In addition to this,
Windows also
provides a recycle bin
where all deleted files
can be stored.
Recycle bin can be
configured to
increase its size.
Page 76 of 240
Registry Windows registry is a MAC stores all Linux also does not
master database that application settings have a specific registry
is used to store all in a series of .plist of its own. All
settings on your files, which have application setting is
computer. It is the various stored on a program
responsible for preferences folder basis under the
storing all user in MAC. This .plist different users in the
information with its file contains all same hierarchy format
passwords, and properties in either of the files being
device relate plain text or binary stored. There is no
information. The format. These are centralized database
registry also has an stored at: for storing these
editor which allows details, and so periodic
you to view all keys /Library/Preference cleaning is also not
and values or even s folder required.
drivers if necessary.
Page 77 of 240
Command A terminal or MAC provides a Linux also provides a
terminal command prompt is a console as a terminal. You can find
black box ideally terminal terminal at:
used to execute application. It has a Applications ->
commands. It is also console, command System or Application
called the Windows line, prompt and s -> Utilities. In
Command Processor. terminal. A addition to this, there is
It is used to execute Command-line is also a shell prompt.
commands and used to type your The most common
different batch files. commands. Prompt shell used in bash. It
It can also be used for will provide you defines how the
administrative with some terminal will behave
functions and information and and look when it is run.
troubleshoot and also enable you to
solve all windows run commands. A
issues. terminal is an actual
interface that will
provide the modern
graphical user
interface as well.
You can find the
terminal at
Applications ->
Utilities.
Page 78 of 240
• Database management system is a software which is used to manage the database. For example:
MySQL, Oracle, etc. are a very popular commercial database which is used in different
applications.
• DBMS provides an interface to perform various operations like database creation, storing data
in it, updating data, creating a table in the database and a lot more.
• It provides protection and security to the database. In the case of multiple users, it also maintains
data consistency.
DBMS allows users the following tasks:
• Data Definition: It is used for creation, modification, and removal of definition that defines the
organization of data in the database.
• Data Updation: It is used for the insertion, modification, and deletion of the actual data in the
database.
• Data Retrieval: It is used to retrieve the data from the database which can be used by
applications for various purposes.
• User Administration: It is used for registering and monitoring users, maintain data integrity,
enforcing data security, dealing with concurrency control, monitoring performance and
recovering information corrupted by unexpected failure.
Advantages of DBMS
• Controls database redundancy: It can control data redundancy because it stores all the data in
one single database file and that recorded data is placed in the database.
• Data sharing: In DBMS, the authorized users of an organization can share the data among
multiple users.
• Easily Maintenance: It can be easily maintainable due to the centralized nature of the database
system.
• multiple user interface: It provides different types of user interfaces like graphical user
interfaces, application program interfaces.
Disadvantages of DBMS
Page 79 of 240
• Cost of Hardware and Software: It requires a high speed of data processor and large memory size
to run DBMS software.
• Size: It occupies a large space of disks and large memory to run them efficiently.
• Complexity: Database system creates additional complexity and requirements.
• Higher impact of failure: Failure is highly impacted the database because in most of the
organization, all the data stored in a single database and if the database is damaged due to electric
failure or database corruption then the data may be lost forever.
2.13 Characteristics of Database Management System
A number of characteristics distinguish the database approach from the much older approach of
programming with files.
In traditional file processing, each user defines and implements the files needed for a specific software
application as part of programming the application.
The main characteristics of the database approach versus the file-processing approach are the
following:
Page 80 of 240
• In a broader sense data integrity includes also the protection of the database from unauthorized
access (confidentiality) and unauthorized changes. Data reflect facts of the real world.
Transactions :
• A transaction is a bundle of actions which are done within a database to bring it from one
consistent state to a new consistent state. In between the data are inevitable inconsistent.
Data Persistence:
• Data persistence means that in a DBMS all data is maintained as long as it is not deleted
explicitly.
• The life span of data needs to be determined directly or indirectly be the user and must not be
dependent on system features.
• Additionally data once stored in a database must not be lost. Changes of a database which are
done by a transaction are persistent.
• When a transaction is finished even a system crash cannot put the data in danger.43
43
“Advantages of DBMS”<https://www.cseworldonline.com/dbms-tutorial/advantages-of-dbms.php> accessed 15 July
2022
Page 81 of 240
A database system can easily manage to access data. Through different queries, it can access data
from the database.
Data isolation:
Data are isolated in several fields in the same database.
Atomicity of updates:
In case of power failure, the database might lose data. So, this feature will automatically prevent data
loss.
Concurrent Access :
Users can have multiple access to the database at the same time.
Security problems:
Database systems will make the restricted access. So, the data will not be vulnerable.
Supports multiple views of data:
It can support multiple views of data to give the required view as their needs. Only database admins
can have a complete view of the database. We cannot allow the end-users to have a view of
developers.44
Database System45
2.15 Data Models
Data Model is the modeling of the data description, data semantics, and consistency constraints of
the data. It provides the conceptual tools for describing the design of a database at each level of data
abstraction. Therefore, there are following four data models used for understanding the structure of
the database:
44
Purpose of Database systems || Database Management System<https://bcisnotes.com/fourthsemester/purpose-of-
database-systems/> accessed 15 July 2022
45
<https://bcisnotes.com/fourthsemester/purpose-of-database-systems/> accessed 21 July 2022
Page 82 of 240
Data Models46
1) Relational Data Model: This type of model designs the data in the form of rows and columns
within a table. Thus, a relational model uses tables for representing data and in-between relationships.
Tables are also called relations. This model was initially described by Edgar F. Codd, in 1969. The
relational data model is the widely used model which is primarily used by commercial data processing
applications.
2) Entity-Relationship Data Model: An ER model is the logical representation of data as objects
and relationships among them. These objects are known as entities, and relationship is an association
among these entities. This model was designed by Peter Chen and published in 1976 papers. It was
widely used in database designing. A set of attributes describe the entities. For example,
student_name, student_id describes the 'student' entity. A set of the same type of entities is known as
an 'Entity set', and the set of the same type of relationships is known as 'relationship set.’
3) Object-based Data Model: An extension of the ER model with notions of functions,
encapsulation, and object identity, as well. This model supports a rich type system that includes
structured and collection types. Thus, in 1980s, various database systems following the object-
oriented approach were developed. Here, the objects are nothing but the data carrying its properties.
4) Semi-structured Data Model: This type of data model is different from the other three data
models (explained above). The semi-structured data model allows the data specifications at places
where the individual data items of the same type may have different attributes sets. The Extensible
Markup Language, also known as XML, is widely used for representing the semi-structured data.
Although XML was initially designed for including the markup information to the text document, it
gains importance because of its application in the exchange of data.47
46
Data models <https://www.javatpoint.com/data-models> accessed 21 July 2022
47
Data Models<https://www.javatpoint.com/data-models> 15 July 2022
Page 83 of 240
2.16 Database Architecture
Database architecture uses programming languages to design a particular type of software for
businesses or organizations. Database architecture focuses on the design, development,
implementation and maintenance of computer programs that store and organize information for
businesses, agencies and institutions. A database architect develops and implements software to meet
the needs of users.
The design of a DBMS depends on its architecture. It can be centralized or decentralized or
hierarchical. The architecture of a DBMS can be seen as either single tier or multi-tier. The tiers are
classified as follows:
• 1-tier architecture
• 2-tier architecture
• 3-tier architecture
• n-tier architecture
1-tier architecture
1-tier architecture:
One-tier architecture involves putting all of the required components for a software application or
technology on a single server or platform.
Basically, a one-tier architecture keeps all of the elements of an application, including the interface,
Middleware and back-end data, in one place. Developers see these types of systems as the simplest
and most direct way.
Page 84 of 240
2-tier architecture:
The two-tier is based on Client Server architecture. The two-tier architecture is like client server
application. The direct communication takes place between client and server. There is no intermediate
between client and server.
2-tier architecture
3-tier architecture:
A 3-tier architecture separates its tiers from each other based on the complexity of the users and how
they use the data present in the database. It is the most widely used architecture to design a DBMS.
3-tier architecture
Page 85 of 240
This architecture has different usages with different applications. It can be used in web applications
and distributed applications. The strength in particular is when using this architecture over distributed
systems.
• Database (Data) Tier − At this tier, the database resides along with its query processing
languages. We also have the relations that define the data and their constraints at this level.
• Application (Middle) Tier − At this tier reside the application server and the programs that
access the database. For a user, this application tier presents an abstracted view of the
database. End-users are unaware of any existence of the database beyond the application. At
the other end, the database tier is not aware of any other user beyond the application tier.
Hence, the application layer sits in the middle and acts as a mediator between the end-user
and the database.
• User (Presentation) Tier − End-users operate on this tier and they know nothing about any
existence of the database beyond this layer. At this layer, multiple views of the database can
be provided by the application. All views are generated by applications that reside in the
application tier.
n-tier architecture:
N-tier architecture would involve dividing an application into three different tiers. These would be
the logic tier,the presentation tier, and the data tier.
n-tier architecture
It is the physical separation of the different parts of the application as opposed to the usually
conceptual or logical separation of the elements in the model-view-controller (MVC) framework.
Another difference from the MVC framework is that n-tier layers are connected linearly, meaning all
Page 86 of 240
communication must go through the middle layer, which is the logic tier. In MVC, there is no actual
middle layer because the interaction is triangular; the control layer has access to both the view and
model layers and the model also accesses the view; the controller also creates a model based on the
requirements and pushes this to the view. However, they are not mutually exclusive, as the MVC
framework can be used in conjunction with the n-tier architecture, with the n-tier being the overall
architecture used and MVC used as the framework for the presentation tier.
Normalization of Database:
Database Normalisation is a technique of organizing the data in the database. Normalization is a
systematic approach of decomposing tables to eliminate data redundancy and undesirable
characteristics like Insertion, Update and Deletion Anamolies. It is a multi-step process that puts data
into tabular form by removing duplicated data from the relation tables.
Normalization is used for mainly two purpose,
48
Faysal Ahmed,"DatabaseArchitecture”<https://medium.com/oceanize-geeks/concepts-of-database-architecture-
dfdc558a93e4> accessed 21 July 2022
Page 87 of 240
to provide the specific data. In large systems, a DBMS helps users and other third-party software to
store and retrieve data.
Key Differences:
• A file system is a software that manages and organizes the files in a storage medium, whereas
DBMS is a software application that is used for accessing, creating, and managing databases.
• The file system doesn’t have a crash recovery mechanism on the other hand, DBMS provides a
crash recovery mechanism.
• Data inconsistency is higher in the file system. On the contrary Data inconsistency is low in a
database management system.
• File system does not provide support for complicated transactions, while in the DBMS system, it is
easy to implement complicated transactions using SQL.
• File system does not offer concurrency, whereas DBMS provides a concurrency facility.
Page 88 of 240
File System DBMS
A file system is a software that manages and DBMS or Database Management System is a
organizes the files in a storage medium. It software application. It is used for accessing,
controls how data is stored and retrieved. creating, and managing databases.
The file system provides the details of data DBMS gives an abstract view of data that hides
representation and storage of data. the details
Storing and retrieving of data can’t be done DBMS is efficient to use as there are a wide
efficiently in a file system. variety of methods to store and retrieve data.
It does not offer data recovery processes. There is a backup recovery for data in DBMS.
The file system doesn’t have a crash recovery DBMS provides a crash recovery mechanism
mechanism.
Protecting a file system is very difficult. DBMS offers good protection mechanism.
In a file management system, the redundancy of The redundancy of data is low in the DBMS
data is greater. system.
Data inconsistency is higher in the file system. Data inconsistency is low in a database
management system.
The file system offers lesser security. Database Management System offers high
security.
File System allows you to stores the data as Database Management System stores data as
isolated data files and entities. well as defined constraints and interrelation.
The centralization process is hard in File Centralization is easy to achieve in the DBMS
Management System. system.
It doesn’t offer backup and recovery of data if it DBMS system provides backup and recovery of
is lost. data even if it is lost.
Page 89 of 240
• Enforcement of development and maintenance standards.
• Helps you to reduce redundancy
• Avoid inconsistency across file maintenance to get the integrity of data independence.
• Firm theoretical foundation (for the relational model).
• It is more efficient and cost less than a DBMS in certain situations.
• The design of file processing is simpler than designing Database.
Advantages of DBMS system
Here, are pros/benefits of DBMS system:
• DBMS offers a variety of techniques to store & retrieve data
• Uniform administration procedures for data
• Application programmers never exposed to details of data representation and Storage.
• A DBMS uses various powerful functions to store and retrieve data efficiently.
• Offers Data Integrity and Security
• The DBMS implies integrity constraints to get a high level of protection against prohibited
access to data.
• Reduced Application Development Time
• Consume lesser space
• Reduction of redundancy
• Data Independence
Application of File system
Here, are an important application of the file system:
• Language-specific run-time libraries
• API programs using it to make requests of the file system
• It is used for data transfer and positioning.
• Helps you to update the metadata
• Managing directories.
Application of the DBMS system
Here, are important applications of the DBMS system:
• Admission System Examination System Library System
• Payroll & Personnel Management System
• Accounting System Hotel Reservation System Airline Reservation System
Page 90 of 240
• It is used in the Banking system for Customer information, account activités, Payments, déposits,
loans, etc.
• Use for Airlines for reservations and schedules
• DBMS system also used by universities to keep call records, monthly bills, maintaining balances,
etc.
• Finance for storing information about stock, sales, and purchases of financial instruments like
stocks and bonds.
Page 91 of 240
• The cost of DBMS is depended on the environment, function, or recurrent annual maintenance
cost.49
49
Richard Peterson,”File System vs DBMS: Key Differences”<https://www.guru99.com/difference-between-file-
system-and-dbms.html> 15 July 2022
50
Chaitanya Singh,”Database Applications – DBMS”<https://beginnersbook.com/2015/04/database-applications/>
accessed 15 July 2022
Page 92 of 240
2.19 Entity Relationship Diagram (ER-Diagram)
ER-Diagram is a pictorial representation of data that describes how data is communicated and related
to each other. Any object, such as entities, attributes of an entity, sets of relationship, and other
attributes of relationship, can be characterized with the help of the ER diagram.
Entities: They are represented using the rectangle-shaped box. These rectangles are named with the
entity set they represent.
ER modeling is a top-down structure to database design that begins with identifying the important
data called entities and relationships in combination with the data that must be characterized in the
model. Then database model designers can add more details such as the information they want to hold
about the entities and relationships, which are the attributes and any constraints on the entities,
relationships, and attributes. ER modeling is an important technique for any database designer to
master and forms the basis of the methodology.
• Entity type: It is a group of objects with the same properties that are identified by the
enterprise as having an independent existence. The basic concept of the ER model is the entity
type that is used to represent a group of 'objects' in the 'real world' with the same properties.
An entity type has an independent existence within a database.
• Entity occurrence: A uniquely identifiable object of an entity type.
Diagrammatic Representation of Entity Types
Each entity type is shown as a rectangle labeled with the name of the entity, which is usually a singular
noun.
Page 94 of 240
It is to be noted that multi-valued attributes are represented using double ellipse like this:
Relationships
A diamond-shaped box represents relationships. All the entities (rectangle-shaped) participating in a
relationship get connected using a line.
51
ER Model<https://www.w3schools.in/dbms/planning-design-administration> accessed 15 July 2i
Page 95 of 240
Here’s a simple example of two tables a small business might use to process orders for its products.
The first table is a customer info table, so each record includes a customer’s name, address, shipping
and billing information, phone number, and other contact information. Each bit of information (each
attribute) is in its own column, and the database assigns a unique ID (a key) to each row. In the second
table a customer order table each record includes the ID of the customer that placed the order, the
product ordered, the quantity, the selected size and color, and so on but not the customer’s name or
contact information.
These two tables have only one thing in common: the ID column (the key). But because of that
common column, the relational database can create a relationship between the two tables. Then, when
the company’s order processing application submits an order to the database, the database can go to
the customer order table, pull the correct information about the product order, and use the customer
ID from that table to look up the customer’s billing and shipping information in the customer info
table. The warehouse can then pull the correct product, the customer can receive timely delivery of
the order, and the company can get paid.
How relational databases are structured
The relational model means that the logical data structures the data tables, views, and indexes are
separate from the physical storage structures. This separation means that database administrators can
manage physical data storage without affecting access to that data as a logical structure. For example,
renaming a database file does not rename the tables stored within it.
The distinction between logical and physical also applies to database operations, which are clearly
defined actions that enable applications to manipulate the data and structures of the database. Logical
operations allow an application to specify the content it needs, and physical operations determine
how that data should be accessed and then carries out the task.
To ensure that data is always accurate and accessible, relational databases follow certain integrity
rules. For example, an integrity rule can specify that duplicate rows are not allowed in a table in order
to eliminate the potential for erroneous information entering the database.
52
RDBMS<https://www.oracle.com/in/database/what-is-a-relational-database/> accessed 15 July
Page 98 of 240
A database administrator has the responsibility of restoring a file from a backup state, when there
is a need for it.
4. Database design:
A database administrator has the responsibility of designing a database that meets the demands
of users. Hence, having knowledge of database design is crucial for an administrator.
5. Data move:
A database administrator has the responsibility of moving a database set, say from a physical
base to a cloud base, or from an existing application to a new application.
6. Database upgrade:
A database administrator has the responsibility of upgrading database software files when there
is a new update for them, as this protects software from security breaches.
7. Database patch:
In times of new upgrades for database software, the database administrator has the responsibility
of ensuring that the database system functions perfectly and works to close up any gaps in the
new update.
8. Database security:
Datasets are assets, and one major responsibility of database administrators is to protect the data
and ensure adequate security in an organization’s database.
9. Capacity planning:
A database administrator has the responsibility of planning for increased capacity, in case of
sudden growth in database need.
10. Database monitoring:
A database administrator has the responsibility of monitoring the database and the movement of
data in the database. Administrators provide access for users who require access to the database.
11. Error log review:
A database administrator has the responsibility of interpreting the error messages sent by a
database when there is a fault or bridge.
Page 99 of 240
Unit III
Computer Languages and Software
3.1 Computer Languages
The computer language is defined as code or syntax which is used to write programs or any specific
applications. It is used to communicate with computers. Broadly the computer language can be
classified into three categories: assembly language, machine language, and high-level language. The
machine language is considered as oldest computer language among all three. In machine language,
the input is directly given as binary input which is processed by the machine. Binary inputs mean one
and zero form. For computer language processing the system needs a compiler and interpreter to
convert the language into computer language so that it can be processed by a machine.
• Hardware cannot perform a task without software. Similarly, software cannot perform a task
without hardware.
53
<https://www.educba.com/types-of-computer-language/> accessed 15 July 2022
• Software can be easily created, changed or deleted, whereas switching out hardware takes greater
skill and is typically more expensive to do.54
3.6 Types of Software
3.6.1 System Software
A system software aids the user and the hardware to function and interact with each other.
Basically, it is a software to manage computer hardware behavior so as to provide basic
functionalities that are required by the user. In simple words, we can say that system software is
an intermediator or a middle layer between the user and the hardware. The computer software
sanctions a platform or environment for the other software to work in. This is the reason why
system software is very important in managing the entire computer system. When you first turn
on the computer, it is the system software that gets initialized and gets loaded in the memory of
the system. The system software runs in the background and is not used by the end-users. This is
the reason why system software is also known as ‘low-level software’.
Some common system software examples are:
• Operating System: It is the most prominent example of System Software. It is a collection of
software that handles resources and provides general services for the other applications that
run over them. Although each Operating System is different, most of them provide a Graphical
User Interface through which a user can manage the files and folders and perform other tasks.
Every device, whether a desktop, laptop or mobile phone requires an operating system to
provide the basic functionality to it. As an OS essentially determines how a user interacts with
the system, therefore many users prefer to use one specific OS for their device. There are
various types of operating system such as real-time, embedded, distributed, multiuser, single-
user, internet, mobile, and many more. It is important to consider the hardware specifications
before choosing an operating system. Some examples of Operating systems given below:
◦ Android
◦ CentOS
◦ iOS
◦ Linux
◦ Mac OS
54
Abby Braden,”Software”<https://www.webopedia.com/definitions/software/> accessed 16 July 2022
Page 103 of 240
◦ MS Windows
◦ Ubuntu
◦ Unix
• Device Drivers: It is a type of software that controls particular hardware which is attached to
the system. Hardware devices that need a driver to connect to a system include displays, sound
cards, printers, mice and hard disks. Further, there are two types of device drivers: Kernel
Device Drivers and User Device Driver. Some examples of device drivers are:
◦ BIOS Driver
◦ Display Drivers
◦ Motherboard Drivers
◦ Printer Drivers
◦ ROM Drivers
◦ Sound card Driver
◦ USB Drivers
◦ USB Drivers
◦ VGA Drivers
◦ VGA Drivers
◦ Virtual Device Drivers
3.6.2 Application Software
Application Software, also known as end-user programs or productivity programs are software that
helps the user in completing tasks such as doing online research, jotting down notes, setting an alarm,
designing graphics, keeping an account log, doing calculations or even playing games. They lie above
the system software. Unlike system software, they are used by the end-user and are specific in their
functionality or tasks and do the job that they are designed to do. For example, a browser is an
application designed specifically for browsing the internet or MS PowerPoint is an application used
specifically for making presentations. Application Software or simply apps can also be referred to as
non-essential software as their requirement is highly subjective and their absence does not affect the
functioning of the system. All the apps that we see on our mobile phones are also examples of
Application Software. There is certain software that is exclusively made for app development like
Meteor and Flutter. These are examples of Application software too.
There are various types of application software:
• Word Processors: These applications for documentation. Along with that it also helps I
storing, formatting and printing of these documents. Some examples of word processors are:
Page 104 of 240
• Abiword
• Apple iWork- Pages
• Corel WordPerfect
• Google Docs
• MS Word
• Database Software: This software is used to create and manage a database. It is also known
as the Database Management System or DBMS. They help with the organization of data.
Some examples of DBMS are:
• Clipper
• dBase
• FileMaker
• FoxPro
• MS Access
• MySQL
• Multimedia Software: It is the software that is able to play, create or record images, audio or
video files. They are used for video editing, animation, graphics, and image editing, Some
examples of Multimedia Software are:
• Adobe Photoshop
• Inkscape
• Media Monkey
• Picasa
• VLC Media Player
• Windows Media Player
• Windows Movie Maker
• Education and Reference Software: These types of software are specifically designed to
facilitate learning on a particular subject. There are various kinds of tutorial software that fall
under this category. They are also termed as academic software. Some examples are:
• Delta Drawing
• GCompris
• Jumpstart titles
• KidPix
• MindPlay
Page 105 of 240
• Tux Paint
• Graphics Software: As the name suggests, Graphics Software has been devised to work with
graphics as it helps the user to edit or make changes in visual data or images. It comprises of
picture editors and illustration software. Some examples are:
• Adobe Photoshop
• Autodesk Maya
• Blender
• Carrara
• CorelDRAW
• GIMP
• Modo
• PaintShop Pro
• Web Browsers: These applications are used to browse the internet. They help the user in
locating and retrieving data across the web. Some examples of web browsers are:
• Google Chrome
• Internet Explorer
• Microsoft Edge
• Mozilla Firefox
• Opera
• Safari
• UC Browser
3.6.3 Open Source Software
These kinds of software are available to users with the source code which means that a user can freely
distribute and modify the software and add additional features to the software. Open-Source software
can either be free or chargeable. Some examples of open-source software are:
• Apache Web Server
• GNU Compiler Collection
• Moodle
• Mozilla Firefox
• Thunderbird
3.6.5 Shareware
It is a software that is freely distributed to users on a trial basis. It usually comes with a time limit
and when the time limit expires, the user is asked to pay for the continued services. There are
various types of shareware like Adware, Donationware, Nagware, Freemium, and Demoware
(Cripplewareand Trialware). Some examples of shareware are:
• Adobe Acrobat
• Getright
• PHP Debugger
• Winzip55
3.7 Program Language Translators
A translator is a programming language processor that converts a computer program from one
language to another. It takes a program written in source code and converts it into machine code. It
discovers and identifies the error during translation. It translates a high-level language program into
a machine language program that the central processing unit (CPU) can understand. It also detects
errors in the program.
55
” Different types of softwares”<https://squareboat.com/blog/different-types-of-software-with-examples> accessed 16
July 2022
Page 107 of 240
Different Types of Translators
There are 3 different types of translators as follows:
3.7.1 Compiler
A compiler is a translator used to convert high-level programming language to low-level
programming language. It converts the whole program in one session and reports errors detected
after the conversion. The compiler takes time to do its work as it translates high-level code to lower-
level code all at once and then saves it to memory.
A compiler is processor-dependent and platform-dependent. But it has been addressed by a special
compiler, a cross-compiler and a source-to-source compiler. Before choosing a compiler, the user
has to identify first the Instruction Set Architecture (ISA), the operating system (OS), and the
programming language that will be used to ensure that it will be compatible.
3.7.2 Interpreter
Just like a compiler, is a translator used to convert high-level programming language to low-level
programming language. It converts the program one at a time and reports errors detected at once
while doing the conversion. With this, it is easier to detect errors than in a compiler. An interpreter
is faster than a compiler as it immediately executes the code upon reading the code.
It is often used as a debugging tool for software development as it can execute a single line of code
at a time. An interpreter is also more portable than a compiler as it is not processor-dependent, you
can work between hardware architectures.
3.7.3 Assembler
An assembler is is a translator used to translate assembly language to machine language. It is like a
compiler for the assembly language but interactive like an interpreter. Assembly language is difficult
to understand as it is a low-level programming language. An assembler translates a low-level
language, an assembly language to an even lower-level language, which is the machine code. The
machine code can be directly understood by the CPU.
Examples of Translators
Here are some examples of translators per type:
Translator Examples
56
“Translators” <https://teachcomputerscience.com/translators/> accessed 16 July 2022
Page 109 of 240
File System
3.8 Introduction to File System
A file system in OS dictates how the contents of a storage medium are stored and organized. These
storage media (such as secondary memory, external drives, etc.) could be computer secondary
memory, flash memory, etc. The contents are either files or directories. Most of the time, a storage
device has a number of partitions. Each of these partitions is formatted with an empty filesystem for
that device. A filesystem helps in separating the data on the storage into comparatively smaller and
simpler segments. These chunks are files and directories. The filesystem also provides for storing
data related to files, such as their name, extension, permissions, etc.
File System57
Properties of a Filesystem
• Files are stored on a storage medium such as disk and do not vanish when a user logs out of the
computer system.
• With each file are associated access permissions, which permit controlled sharing of that file.
• Files may form arranged or complex structures according to the relationship among them.
• Several files can be grouped together under a directory.
• A directory also referred to as a folder also has attributes similar to those of a file, such as a name,
size, location, access permissions, etc.
• A file system also provides several features such as a crash recovery mechanism, data
loss/corruption prevention, etc.
57
<https://www.scaler.com/topics/file-systems-in-os/> accessed 21 July 2022
Page 110 of 240
3.9 Organization of File System
File organization refers to the way data is stored in a file. File organization is very important because
it determines the methods of access, efficiency, flexibility and storage devices to use. There are four
methods of organizing files on a storage media. This include:
• sequential,
• random,
• serial and
• indexed-sequential
Sequential file organization
Records are stored and accessed in a particular order sorted using a key field. Retrieval requires
searching sequentially through the entire file record by record to the end. Because the record in a file
are sorted in a particular order are sorted, it is possible to know in which half of the file a particular
record being searched is located. Hence, this method repeatedly divides the set of records in the file
into two halves and searches only the half on which the records is found.
For example, of the file has records with key fields 20, 30, 40, 50, 60 and the computer is searching
for a record with key field 50, it starts at 40 upwards in its search, ignoring the first half of the set.
Advantages of sequential file organization
The sorting makes it easy to access records.
, better file searching methods like the binary search technique can be used to reduce the time used
for searching a file.
Since the records
The binary chop technique can be used to reduce record search time by as much as half the time taken.
Disadvantages of sequential file organization
The sorting does not remove the need to access other records as the search looks for particular records.
Sequential records cannot support modern technologies that require fast access to stored records.
The requirement that all records be of the same size is sometimes difficult to enforce.
Random or direct file organization
Records are stored randomly but accessed directly.
To access a file stored randomly, a record key is used to determine where a record is stored on the
storage media.
Magnetic and optical disks allow data to be stored and accessed randomly.
Advantages of random file access
Quick retrieval of records.
The records can be of different sizes.
58
“ File System Organisation”<https://peda.net/kenya/css/subjects/computer-studies/form-three/driac2/data-
processing/fom> accessed 16 July 2022
Page 112 of 240
2. Directories
A directory in the filesystem is a structure that contains references to other files and possibly other
directories. Files could be arranged by storing related files in the same directory. Directories are
supported by both Windows as well as UNIX-based operating systems.
3. Character Special Files
A character special file provides access to an I/O device. Examples of character special files include
a terminal file, a system console file, a NULL file, a file descriptor file, etc.
Each character special file has a device major number and a device minor number. The device major
number associated with a character special file identifies the device type. The device minor number
associated with a character special file identifies a specific device of a given device type. Character
special files are supported by UNIX-based operating systems.
4. Block Special Files
Block special files enable buffered access to hardware devices They also provide some abstraction
from their specifics. Unlike character special files, block special files always allow the programmer
to read and write a block of any size or alignment. Block special files are supported by UNIX-based
operating systems.
Functions of a File
• They are used for storing data in a computer.
• They enable the separation of data according to some criteria.
• They enable efficient, simple, organized access to data.
• They help in isolating sensitive or important data from the rest of the data.
• They enable locating particular data items in the storage medium.
3.10.1 Flash File System
A flash file system is one that is comprised of a type of electronically erasable programmable read-
only memory (EEPROM) called flash memory. It is one of the most popular methods of storing data
and is non-volatile, meaning it retains information even when there is no power. Found in datacenter
servers as well as mobile phones and handheld computers, a flash file system is arranged in blocks of
data, each which have to be erased in full before being written to. The standard erase block holds
about 128 kilobytes of data, and some blocks can store as much as 2,048 kilobytes.
The memory in a flash file system cannot be stored for an infinite amount of time. After a certain
number of write and erase cycles, data become corrupted and sections of the memory can no longer
be used. Wear leveling is used to create a balance between parts of the flash that are frequently used
and others that are not. The process of dynamic wear leveling can lead to large blocks of a disk with
59
Andrew Kirmayer, “what is the flash file system” <https://www.easytechjunkie.com/what-is-a-flash-file-system.htm>
accessed 16 July 2022
Page 114 of 240
Tape requires linear motion to wind and unwind potentially very long reels of media. This tape motion
may take several seconds to several minutes to move the read/write head from one end of the tape to
the other.
Consequently, a master file directory and usage map can be extremely slow and inefficient with tape.
Writing typically involves reading the block usage map to find free blocks for writing, updating the
usage map and directory to add the data, and then advancing the tape to write the data in the correct
spot. Each additional file write requires updating the map and directory and writing the data, which
may take several seconds to occur for each file.
Tape file systems instead typically allow for the file directory to be spread across the tape intermixed
with the data, referred to as streaming, so that time-consuming and repeated tape motions are not
required to write new data.
However, a side effect of this design is that reading the file directory of a tape usually requires
scanning the entire tape to read all the scattered directory entries. Most data archiving software that
works with tape storage will store a local copy of the tape catalog on a disk file system, so that adding
files to a tape can be done quickly without having to rescan the tape media. The local tape catalog
copy is usually discarded if not used for a specified period of time, at which point the tape must be
re-scanned if it is to be used in the future.
IBM has developed a file system for tape called the Linear Tape File System. The IBM
implementation of this file system has been released as the open-source. The Linear Tape File System
uses a separate partition on the tape to record the index meta-data, thereby avoiding the problems
associated with scattering directory entries across the entire tape.
3.10.4 Network File System
Network File System (NFS) is a networking protocol for distributed file sharing. A file
system defines the way data in the form of files is stored and retrieved from storage devices, such as
hard disk drives, solid-state drives and tape drives. NFS is a network file sharing protocol that defines
the way files are stored and retrieved from storage devices across networks.
The NFS protocol defines a network file system, originally developed for local file sharing
among Unix systems and released by Sun Microsystems in 1984. The NFS protocol specification was
first published by the Internet Engineering Task Force (IETF) as an internet protocol in RFC 1094 in
1989. The current version of the NFS protocol is documented in RFC 7530, which documents the
NFS version 4 (NFSv4) Protocol.
NFS enables system administrators to share all or a portion of a file system on a networked server to
make it accessible to remote computer users. Clients with authorization to access the shared file
system can mount NFS shares, also known as shared file systems. NFS uses Remote Procedure Calls
(RPCs) to route requests between clients and servers.
Page 115 of 240
NFS is one of the most widely used protocols for file servers. NFS implementations are available for
most modern operating systems (OSes), including the following:
• Hewlett Packard Enterprise HP-UX
• IBM AIX
• Microsoft Windows
• Linux
• Oracle Solaris
Cloud vendors also implement the NFS protocol for cloud storage, including Amazon Elastic File
System, NFS file shares in Microsoft Azure and Google Cloud File store.
Any device that can be attached to an NFS host file system can be shared through NFS. This includes
hard disks, solid state drives, tape drives, printers and other peripherals. Users with appropriate
permissions can access resources from their client machines as if those resources are mounted locally.
3.10.5 Minimal filesystem
An init application, which is the first user space application started by the kernel after mounting the
root filesystem
The kernel tries to run /sbin/init, /bin/init, /etc/init and /bin/sh.
In the case of an initramfs, it will only look for /init. Another path can be supplied by the rdinit kernel
argument.
If none of them are found, the kernel panics and the boot process is stopped.
The init application is responsible for starting all other user space applications and services
A shell, to implement scripts, automate tasks, and allow a user to interact with the system
Basic Unix applications, to copy files, move files, list files (commands like mv, cp, mkdir, cat, etc.)
These basic components have to be integrated into the root filesystem to make it usable
60
<https://hugh712.gitbooks.io/embeddedsystem/minimal_filesystem.html> accessed 21 July 2022
61
<https://hugh712.gitbooks.io/embeddedsystem/minimal_filesystem.html> accessed 21 July 2022
Page 117 of 240
3.11 File Allocation Table (FAT)
The File Allocation Table (FAT) file system is a simple file system originally designed for small
disks and simple folder structures.
The FAT file system is named for its method of organization, the file allocation table, which resides
at the beginning of the volume. To protect the volume, two copies of the table are kept, in case one
becomes damaged.
In addition, the file allocation tables and the root folder must be stored in a fixed location so that the
files needed to start the system can be correctly located.
A volume formatted with the FAT file system is allocated in clusters. The default cluster size is
determined by the size of the volume. For the FAT file system, the cluster number must fit in 16 bits
and must be a power of two.
A FAT file system has four different sections, each as a structure in the FAT partition. The four
sections are:
• Boot Sector: This is also known as the reserved sector; it is located on the first part of the disc. It
contains: the OS's necessary boot loader code to start a PC system, the partition table known as the
master boot record (MRB) that describes how the drive is organized, and the BIOS parameter block
(BPB) which describes the physical outline of the data storage volume.
• FAT Region: This region generally encompasses two copies of the File Allocation Table which is
for redundancy checking and specifies how the clusters are assigned.
• Data Region: This is where the directory data and existing files are stored. It uses up the majority
of the partition.
• Root Directory Region: This region is a directory table that contains the information about the
directories and files. It is used with FAT16 and FAT12 but not with other FAT file systems. It has
a fixed maximum size that is configured when created. FAT32 usually stores the root directory in
the data region so it can be expanded if needed.62
Structure of a FAT Volume
The figure below illustrates how the FAT file system organizes a volume.
62
FAT<https://www.techopedia.com/definition/1369/file-allocation-table-
fat#:~:text=A%20file%20allocation%20table%20(FAT,drives%20and%20other%20computer%20systems.> accessed
16 July 2022
Page 118 of 240
FAT System63
The first widely used version of the FAT file system, FAT12, was introduced in 1980, right along
with the first versions of DOS.
FAT12 was the primary file system for Microsoft operating systems up through MS-DOS 3.30 but
was also used in most systems up through MS-DOS 4.0. It's still the file system used on the occasional
floppy disk you'll find today.
This file system supports drive sizes and file sizes of up to 16 MB using 4 KB clusters or 32 MB
using 8 KB ones, with a maximum number of 4,084 files on a single volume (when using 8KB
clusters).File names under FAT12 cannot exceed the maximum character limit of 8 characters, plus
three for the extension. A number of file attributes were first introduced in FAT12,
including hidden, read-only, system, and volume label.FAT8, introduced in 1977, was the first true
version of the FAT file system but had limited use only on some terminal-style computer systems of
the time.
FAT16 (16-bit File Allocation Table)
The second implementation of FAT was FAT16, first introduced in 1984 in PC DOS 3.0 and MS-
DOS 3.0.A slightly more improved version of FAT16, called FAT16B, was the primary file system
for MS-DOS 4.0 up through MS-DOS 6.22. Beginning with MS-DOS 7.0 and Windows 95, a further
improved version, called FAT16X, was used instead. Depending on the operating system and the
63
The FAT File System
<http://www.c-jump.com/CIS24/Slides/FAT/lecture.html> 21 July 2022
Page 119 of 240
cluster size used, the maximum drive size a FAT16-formatted drive can be ranges from 2 GB up to
16 GB, the latter only in Windows NT 4 with 256 KB clusters. File sizes on FAT16 drives max out
at 4 GB with Large File Support enabled, or 2 GB without it. The maximum number of files that can
be held on a FAT16 volume is 65,536. Just like with FAT12, file names were limited to 8+3 characters
but was extended to 255 characters starting with Windows 95.The archive file attribute was
introduced in FAT16.
FAT32 (32-bit File Allocation Table)
FAT32 is the latest version of the FAT file system. It was introduced in 1996 for Windows 95 OSR2
/ MS-DOS 7.1 users and was the primary file system for consumer Windows versions through
Windows ME.
It supports basic drive sizes up to 2 TB or even as high as 16 TB with 64 KB clusters.
Like with FAT16, drive file sizes max out at 4 GB with Large File Support turned on or 2 GB without
it. A modified version of this file system, called FAT32+, supports files close to 256 GB in size!
Up to 268,173,300 files can be contained on a FAT32 volume, so long as it's using 32 KB clusters.
64
<https://www.lifewire.com/what-is-file-allocation-table-fat-2625877> accessed 16 July 2022
Page 121 of 240
and Windows 10, according to Microsoft. The theoretical limit for the individual file size NTFS can
support is 16 exbibytes minus 1 kilobyte (KB).
How NTFS works?
When installing an OS, the user chooses a file system. When formatting an SSD or an HDD, users
choose the file system they'll use. The process of formatting each type of drive is slightly different,
but both are compatible with NTFS.
When an HDD is formatted or initialized, it is divided into partitions. Partitions are the major
divisions of the hard drive's physical space. Within each partition, the OS keeps track of all the files
it stores. Each file is stored on the HDD in one or more clusters or disk spaces of a predefined uniform
size.
Using NTFS, the sizes of the clusters range from 512 bytes to 64 KB. Windows NT provides a
recommended default cluster size for each drive size. For example, a 4 gigabyte (GB) drive has a
default cluster size of 4 KB. The clusters are indivisible, so even the smallest file takes up one cluster,
and a 4.1 KB file takes up two clusters, or 8 KB, on a 4 KB cluster system.
Cluster sizes are determined based on balancing a tradeoff between maximizing use of disk space and
minimizing the number of disk accesses required to get a file. With NTFS, generally, the larger the
drive, the larger the default cluster size, because it's assumed that a system user will prefer to have
fewer disk accesses and better performance at the expense of less efficient use of space.
When a file is created using NTFS, a record about the file is created in the Master File Table (MFT).
The record is used to locate a file's possibly scattered clusters. NTFS looks for a storage space that
will hold all the clusters of the file, but it isn't always able to find one space all together.
Along with its data content, each file contains its metadata, which is a description of its attributes.
NTFS features
One distinguishing characteristic of NTFS, compared with FAT, is that it allows for file permissions
and encryption. Notable features of NTFS include the following:
• Organizational efficiency. NTFS uses a b-tree directory scheme to keep track of file clusters.
This is significant because it allows for efficient sorting and organization of files.
• Accessible data. It stores data about a file's clusters and other data in the MFT, not just in an
overall governing table as with FAT.
• File size. NTFS supports very large files.
• User permissions. It has an access control list that lets a server administrator control who can
access specific files.
• Compression. Integrated file compression shrinks file sizes and provides more storage space.
FAT16 The amount of data clusters is between 4087 and 65526 clusters, inclusive.
FAT32 The amount of data clusters is between 65526 and 268,435,456 clusters, inclusive.
65
NT File system<https://www.techtarget.com/searchwindowsserver/definition/NTFS> accessed 16 July 2022
Page 124 of 240
3.13 Difference between FAT 32 and NTFS
Full-Form The term FAT32 is an The term NTFS is an acronym for New
acronym for File Allocation Technology File System.
Table 32.
Structure FAT32 has a very simple NTFS comes with a very complex
structure. structure.
Maximum Size FAT32 has a maximum file NTFS has a maximum file size of 16 TB.
of Files size of 4 GB.
Security It comes with only network- It comes with both- network type and local
type security. securities.
Encryption It does not come encrypted. It comes encrypted with the EFS
(Encrypting File System).
Fault Tolerance The FAT32 does not provide NTFS comes with the system of automatic
fault tolerance. troubleshooting.
Conversions FAT32 allows conversions. NTFS does not allow any conversions.
protocol address or an IP address. IP addresses are essential for computers to find each other.
4.2 ARPANET
The U.S. Advanced Research Projects Agency Network (ARPANET) was the first public packet-
switched computer network. It was first used in 1969 and finally decommissioned in 1989.
ARPANET's main use was for academic and research purposes.Many of the protocols used by
computer networks today were developed for ARPANET, and it is considered the forerunner of the
modern internet.
History of ARPANET
ARPANET was introduced in the year 1969 by Advanced Research Projects Agency (ARPA) of US
Department of Defense. It was established using a bunch of PCs at various colleges and sharing of
information and messages was done. It was for playing as long separation diversions and individuals
were asked to share their perspectives. In the year 1980, ARPANET was handed over to different
military network, Defense Data Network.
Characteristics of ARPANET :
In the first year after Mosaic was released the number of WWW servers grew from 100 to 7000. The
growth is expected to be exponential in the years to come and will probably be the force driving the
technology and use of the Internet into every walk of life of human beings.
All the Web servers on the Internet are collectively referred to as the World Wide Web. The @3
Consortium is the closest anyone gets to setting the standards for and enforcing rules about the
Worldwide Web. you can visit the Consortium's home page at http:/www.w3.org/. the second group
of organizations that influences the Web is the browser developers themselves, most notably Netscape
communications Corporation and Microsoft Corporation of USA.
To access the Web server, we use client software called a browser program. with a browser, we can
choose an element on the Web page, which can then cross-link us to computer animation, or play
sound, or show another Web page. The browser can even contact another Web server located across
the world.
Features of WWW:
• HyperText Information System
• Cross-Platform
• Distributed
• Open Standards and Open Source
• Uses Web Browsers to provide a single interface for many services
• Dynamic, Interactive and Evolving.
• “Web 2.0”
66
<https://www.youtube.com/watch?v=kyOyBE8qVw4> accessed 21 July 2022
Page 129 of 240
Components of the Web: There are 3 components of the web:
Uniform Resource Locator (URL): serves as a system for resources on the web.
1. HyperText Transfer Protocol (HTTP): specifies communication of browser and server.
2. Hyper Text Markup Language (HTML): defines the structure, organisation and content of a
webpage67.
4.4 Web Server
Web server is a computer where the web content is stored. Basically, web server is used to host the
web sites but there exists other web servers also such as gaming, storage, FTP, email etc.
Web site is collection of web pages while web server is a software that respond to the request for web
resources.
Web Server Working
Web server respond to the client request in either of the following two ways:
• Sending the file to the client associated with the requested URL.
• Generating response by invoking a script and communicating with database
Web Server 68
Key Points
• When client sends request for a web page, the web server search for the requested page if requested
page is found then it will send it to client with an HTTP response.
67
<https://www.geeksforgeeks.org/world-wide-web-www/> accessed 17 July 2022
68
<https://www.tutorialspoint.com/internet_technologies/web_servers.htm> accessed 21 July 2022
Page 130 of 240
• If the requested web page is not found, web server will the send an HTTP response: Error 404
Not found.
• If client has requested for some other resources then the web server will contact to the application
server and data store to construct the HTTP response.
Architecture
Web Server Architecture follows the following two approaches:
• Concurrent Approach
• Single-Process-Event-Driven Approach.
Concurrent Approach
Concurrent approach allows the web server to handle multiple client requests at the same time. It can
be achieved by following methods:
• Multi-process
• Multi-threaded
• Hybrid method.
* Multi-processing
In this a single process (parent process) initiates several single-threaded child processes and distribute
incoming requests to these child processes. Each of the child processes are responsible for handling
single request.
It is the responsibility of parent process to monitor the load and decide if processes should be killed
or forked.
* Multi-threaded
Unlike Multi-process, it creates multiple single-threaded process.
* Hybrid
It is combination of above two approaches. In this approach multiple process are created and each
process initiates multiple threads. Each of the threads handles one connection. Using multiple threads
in single process results in less load on system resources.69
4.5 Web Browser
The web browser is an application software to explore www (World Wide Web). It provides an
interface between the server and the client and requests to the server for web documents and services.
It works as a compiler to render HTML which is used to design a webpage. Whenever we search
anything on the internet, the browser loads a web page written in HTML, including text, links, images,
69
“Web Server”<https://www.tutorialspoint.com/internet_technologies/web_servers.htm> accessed 17 July 2022
Page 131 of 240
and other items such as style sheets and JavaScript functions. Google Chrome, Microsoft Edge,
Mozilla Firefox, Safari are examples of web browsers.
History of the web browser
The first web browser WorldWideWeb was invented in the year of 1990 by Tim Berners-Lee. Later,
it becomes Nexus. In the year of 1993, a new browser Mosaic was invented by Mark Andressen and
their team. It was the first browser to display text and images at a time on the device screen. He also
invents another browser Netscape in 1994. Next year Microsoft launched a web browser Internet
Explorer which was already installed in Windows operating system. After this many browsers were
invented with various features like Mozilla Firefox, Google Chrome, Safari, Opera, etc.
How does a web browser work?
A web browser helps to find information anywhere on the internet. It is installed on the client
computer and requests information from the webserver such a type of working model is called a
client-server model. Client-server model. The browser receives information through HTTP protocol.
In which transmission of data is defined. When the browser received data from the server, it is
rendered by HTML to user-readable form and, information displayed on the device screen.
Website Cookies: When we visited any website over the internet our web browser stores information
about us in small files called cookies. Cookies are designed to remember stateful information about
our browsing history. Some more cookies are used to remember about us like our interests, our
browsing patterns, etc. Websites show us ads based on our interests using cookies.
Some popular Web Browsers. There are some popular and most used web browsers like Google
Chrome, Mozilla Firefox, Microsoft Edge, Safari, etc.
Google Chrome - Google Chrome is the world’s most used web browser. In 77% of devices, Google
Chrome is used. This browser developed by Google in 2008 for Microsoft Windows. Later it used in
macOS, Linux, Android, iOS operating systems. It is a very reliable browser and available in 47
languages. The installation process of Google Chrome is very easy and free for everyone.
Mozilla Firefox - Mozilla Firefox also knows as the Firefox browser developed by the Mozilla
Foundation and the Mozilla Corporation in 2002. It is available on Linux, Microsoft Windows,
Android, and iOS operating systems. In the Linux system, the Mozilla Firefox is the default installed
browser.
4.6 Web Application
A web application is a computer program that utilizes web browsers and web technology to perform
tasks over the Internet. Millions of businesses use the Internet as a cost-effective communications
channel. It lets them exchange information with their target market and make fast, secure transactions.
However, effective engagement is only possible when the business is able to capture and store all the
necessary data, and have a means of processing this information and presenting the results to the user.
Page 132 of 240
Web applications use a combination of server-side scripts (PHP and ASP) to handle the storage and
retrieval of the information, and client-side scripts (JavaScript and HTML) to present information to
users. This allows users to interact with the company using online forms, content management
systems, shopping carts and more. In addition, the applications allow employees to create documents,
share information, collaborate on projects, and work on common documents regardless of location or
device.
The web application requires a web server to manage requests from the client, an application server
to perform the tasks requested, and, sometimes, a database to store the information. Application server
technology ranges from ASP.NET, ASP and ColdFusion, to PHP and JSP.
Flow of Web Application
1. User triggers a request to the web server over the Internet, either through a web browser or
the application’s user interface.
2. Web server forwards this request to the appropriate web application server.
3. Web application server performs the requested task – such as querying the database or
processing the data – then generates the results of the requested data.
4. Web application server sends results to the web server with the requested information or
processed data.
5. Web server responds back to the client with the requested information that then appears on
the user’s display.
Examples of a web application
Web applications include online forms, shopping carts, word processors, spreadsheets, video and
photo editing, file conversion, file scanning, and email programs such as Gmail, Yahoo and AOL.
Popular applications include Google Apps and Microsoft 365.
Google Apps for Work has Gmail, Google Docs, Google Sheets, Google Slides, online storage and
more. Other functionalities include online sharing of documents and calendars. This lets all team
members access the same version of a document simultaneously.
Benefits of a web application
• Web applications run on multiple platforms regardless of OS or device as long as the browser
is compatible
• All users access the same version, eliminating any compatibility issues
• They are not installed on the hard drive, thus eliminating space limitations
• They reduce software piracy in subscription-based web applications (i.e. SaaS)
• They reduce costs for both the business and end user as there is less support and maintenance
required by the business and lower requirements for the end user’s computer
70
Web service <https://www.tutorialspoint.com/webservices/what_are_web_services.htm> accessed 17 July 2022
Page 135 of 240
Although it is sometimes called “web page,” this definition is wrong, since a website consists of
several webpages. A website is also known as a “web presence” or simply “site”.
Websites come in a nearly endless variety, including educational sites, news sites, porn sites, forums,
social media sites, e-commerce sites, and so on. The pages within a website are usually a mix of text
and other media. That said, there are no rules dictating the form of a website.
A person could create a website of nothing but black and white photos of roses, or the word "cat"
linked to another Web page with the word "mouse." However, many sites follow a standard pattern
of a homepage that links off to other categories and content within the website.
The homepage (or simply "home”) represents the main page of the site itself. Frequently, the
homepage is a sort of “hub” from which all other pages can be accessed. An internal web page to
which several other pages are linked in a coherent structure (such as a specific category of topics) is
instead called a “parent page.”
Every page is a single HTML document, and all of them are connected through hyperlinks (or simply
“link”) which can be combined in a navigation bar for ease of use.
The navigation bar is displayed on every page rather than just the homepage, and allows the user to
quickly move across the main website’s structure.
Another important section of most websites is the footer, which is another recurring section that is
found at the bottom of every page. Usually the footer contains external links pointing to similar
websites and other external resources, together with other vital info such as disclaimers, links to the
terms of service, privacy policy and contact pages, as well as the physical address of the company
that owns the site.
Websites are hosted on servers, and require a web browser such as Chrome, Firefox, or Internet
Explorer to be visited (either on a computer or mobile device).
A website can be accessed directly by entering its URL address or by searching it on a search engine
such as Google or Bing.
Originally, websites were categorized by their top-level domains. Some examples include:
• Government agency websites = .gov
• Educational institutions websites = .edu
• Nonprofit organizations’websites = .org
• Commercial websites = .com
• Information sites = .info
Although these top-level domains extensions still exist, they say little about a website's actual content.
In modern days ’internet, the ".com" extension is by far the most popular domain, together with many
other country-specific extensions (.it, de.co.uk, .fr, etc.).
71
Website<https://www.techopedia.com/definition/5411/website> accessed 17 July 2022
72
<https://www.tutorialspoint.com/internet_technologies/images/internet-static_web_page.jpg> accessed 21 July 2022
Page 137 of 240
Client-side dynamic web page
It is processed using client-side scripting such as JavaScript. And then passed in to Document Object
Model (DOM).
73
<https://www.tutorialspoint.com/internet_technologies/web_pages.htm> accessen 21 July 2022
Page 138 of 240
Following table describes commonly used Client-Side scripting languages:
JavaScript
1 It is a prototype based scripting language. It inherits its naming conventions from java. All
java script files are stored in file having .js extension.
ActionScript
2 It is an object oriented programming language used for the development of websites and
software targeting Adobe flash player.
Dart
3 It is an open source web programming language developed by Google. It relies on source-to-
source compiler to JavaScript.
VBScript
4 It is an open source web programming language developed by Microsoft. It is superset of
JavaScript and adds optional static typing class-based object oriented programming.
Server-side Scripting
Sever-side scripting acts as an interface for the client and also limit the user access the resources on
web server. It can also collects the user’s characteristics in order to customize response.
ASP
Active Server Pages (ASP)is server-side script engine to create dynamic web pages. It
1
supports Component Object Model (COM) which enables ASP web sites to access
functionality of libraries such as DLL.
ActiveVFP
2 It is similar to PHP and also used for creating dynamic web pages. It uses native Visual
Foxpro language and database.
ASP.net
3
It is used to develop dynamic websites, web applications, and web services.
Java
4 Java Server Pages are used for creating dynamic web applications. The Java code is
compiled into byte code and run by Java Virtual Machine (JVM).
Python
It supports multiple programming paradigms such as object-oriented, and functional
5
programming. It can also be used as non-scripting language using third party tools such as
Py2exe or Pyinstaller.
WebDNA
6
It is also a server-side scripting language with an embedded database system.
74
Web pages<https://www.tutorialspoint.com/internet_technologies/web_pages.htm> accessed 17 July 2022
Page 140 of 240
How HTML works?
HTML is a text file containing specific syntax, file and naming conventions that show the computer
and the web server that it is in HTML and should be read as such. By applying these HTML
conventions to a text file in virtually any text editor, a user can write and design a basic webpage, and
then upload it to the internet.
The most basic of HTML conventions is the inclusion of a document type declaration at the beginning
of the text file. This always comes first in the document, because it is the piece that affirmatively
informs a computer that this is an HTML file. The document header typically looks like this:
<!DOCTYPE html>. It should always be written that way, without any content inside it or breaking
it up. Any content that comes before this declaration will not be recognized as HTML by a computer.
Doctypes are not just used for HTML, they can apply to the creation of any document that uses
SGML (Standard Generalized Markup Language). SGML is a standard for specifying a specific
markup language being used. HTML is one of several markup languages that SGML and doctype
declarations apply to.
The other critical requirement for creating an HTML file is saving it with a .html file extension.
Whereas the doctype declaration signals HTML to the computer from the inside of the file, the file
extension signals HTML to the computer from the outside of the file. By having both, a computer can
tell that it's an HTML file whether it's reading the file or not. This becomes especially important when
uploading the files to the web, because the web server needs to know what to do with the files before
it can send them to a client computer for the inner contents to be read.
After writing the doctype and saving as an HTML file, a user can implement all the other syntactic
tools of HTML to customize a web page. Once finished, they will likely have several HTML files
corresponding to various pages of the website. It's important that the user uploads these files in the
same hierarchy that they saved them in, as each page references the specific file paths of the other
pages, enabling links between them. Uploading them in a different order will cause links to break and
pages to be lost, because the specified file paths will not match the pages.
Basic elements of HTML?
Using HTML, a text file is further marked up with additional text describing how the document should
be displayed. To keep the markup separate from the actual content of the HTML file, there is a special,
distinguishing HTML syntax that is used. These special components are known as HTML tags. The
tags can contain name-value pairs known as attributes, and a piece of content that is enclosed within
a tag is referred to as an HTML element.
HTML elements always have opening tags, content in the middle and closing tags. Attributes can
provide additional information about the element and are included in the opening tag. Elements can
be described in one of two ways:
Page 141 of 240
• Block-level elements start on a new line in the document and take up their own space.
Examples of these elements include headings and paragraph tags.
• Inline elements do not start on a new line in the document and only take up necessary space.
These elements usually format the contents of block-level elements. Examples of inline
elements include hyperlinks and text format tags.
watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.
</div></div>
Pros and cons of HTML
Pros of using HTML include:
• Is widely adopted with a large amount of resources available.
• Is natively run on every browser.
• Is relatively easy to learn.
• Has a clean and consistent source code.
• Is open source and free to use.
• Can be integrated with other backend programming languages such as PHP.
A few cons to consider are:
• Does not have very dynamic functionality and is mainly used for static web pages.
• All components must be created separately even if they use similar elements.
• Browser behavior can be unpredictable. For example, older browsers may not be compatible
with newer features.
Commonly used HTML tags
HTML tags dictate the overall structure of a page and how the elements within them will be displayed
in the browser. Commonly used HTML tags include:
• <h1> which describes a top-level heading.
• <h2> which describes a second-level heading.
• <p> which describes a paragraph.
• <table> which describes tabular data.
• <ol> which describes an ordered list of information.
• <ul> which describes an unordered list of information.
As mentioned, there are opening and closing tags that surround the content they are augmenting. An
opening tag looks like this: <p>. A closing tag is the same but contains a backslash in it to indicate
that it's the end of the given HTML element. Closing tags look like this: </p>.
Features of HTML5
HTML5 introduces several elements to increase interactivity, multimedia capabilities and semantic
efficiency. Instead of using plugins, multimedia can be placed within the HTML code. These elements
include:
• Graphics elements:
• <canvas>, which creates a blank rectangular space in which web designers can draw using
JavaScript.
75
Ben Lutkevich,,”HTML”<https://www.theserverside.com/definition/HTML-Hypertext-Markup-Language> accessed
17 Jul 2022
Page 147 of 240
Following example shows how XML markup looks, when embedded in a piece of text −
<message>
<text>Hello, world!</text>
</message>
This snippet includes the markup symbols, or the tags such as <message>...</message> and <text>...
</text>. The tags <message> and </message> mark the start and the end of the XML code fragment.
The tags <text> and </text> surround the text Hello, world!.
Is XML a Programming Language?
A programming language consists of grammar rules and its own vocabulary which is used to create
computer programs. These programs instruct the computer to perform specific tasks. XML does not
qualify to be a programming language as it does not perform any computation or algorithms. It is
usually stored in a simple text file and is processed by special software that is capable of interpreting
XML.76
4.12 Hypertext Transfer Protocol Secure (HTTPS)
Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary
protocol used to send data between a web browser and a website. HTTPS is encrypted in order to
increase security of data transfer. This is particularly important when users transmit sensitive data,
such as by logging into a bank account, email service, or health insurance provider.
Any website, especially those that require login credentials, should use HTTPS. In modern web
browsers such as Chrome, websites that do not use HTTPS are marked differently than those that are.
Look for a green padlock in the URL bar to signify the webpage is secure. Web browsers take HTTPS
seriously; Google Chrome and other browsers flag all non-HTTPS websites as not secure.
You can use the Cloudflare Diagnostic Center to check if a website is using HTTPS.
76
XML<https://www.tutorialspoint.com/xml/xml_overview.htm> accessed 17 July 2022
Page 148 of 240
secures communications by using what’s known as an asymmetric public key infrastructure. This type
of security system uses two different keys to encrypt communications between two parties:
• The private key - this key is controlled by the owner of a website and it’s kept, as the reader
may have speculated, private. This key lives on a web server and is used to decrypt
information encrypted by the public key.
• The public key - this key is available to everyone who wants to interact with the server in a
way that’s secure. Information that’s encrypted by the public key can only be decrypted by the
private key.
If websites without HTTPS, it is possible for Internet service providers (ISPs) or other intermediaries
to inject content into webpages without the approval of the website owner. This commonly takes the
form of advertising, where an ISP looking to increase revenue injects paid advertising into the
webpages of their customers. Unsurprisingly, when this occurs, the profits for the advertisements and
the quality control of those advertisements are in no way shared with the website owner. HTTPS
eliminates the ability of unmoderated third parties to inject advertising into web content77.
77
“What is HTTPS?”<https://www.cloudflare.com/en-in/learning/ssl/what-is-https/> accessed 17 July 2022
Page 149 of 240
4.13 Universal Resource Locator
A Uniform Resource Locator (URL), otherwise known as a Universal Resource Locator, is the
address of a resource on the Internet and the protocol used to access it.
It indicates the location of a web resource like a street address indicates where a person lives
physically because of this, an URL is often referred to as: “web address”.
A URL contains the following information:
• The protocol used to access the resource.
• The location of the server (whether by IP address or domain name).
• The port number on the server (optional).
• The location of the resource in the directory structure of the server.
• A fragment identifier (Optional).
So, the format will look like this:
scheme://location:port/file-on-server.htm?querystring=1
This looks more complex than it actually is. The most common schemes (protocols) are HTTP and
HTTPS, which any www-user will recognize. The location of the server is generally a domain name,
such as Google.com.
Given this, the following URLs are much simpler to understand:
http://www.google.com/default.htm
https://www.google.com/default.htm
Both these URLs indicate that there is a file named default.htm on a server with the address of
"google.com". One uses regular HTTP, while the other uses a secure version of this scheme.
Two common elements of confusion about URLs:
The "www" isn’t always part of the technical protocol. Websites just started using this to indicate the
user is using the World Wide Web. This is why if you go to http://google.com, it redirects to
http://www.google.com. However, how the domain name is set up is based on how the web server
and network administrators set it up in the backend.
Most users access the internet via a web browser, which inserts port 80 on HTTP connections behind
the scenes. This is why if you go to http://www.google.com:80, you will see the same website as if
there were no port number. A different network port could still be specified to make the connection
to a particular destination. You can append user input, query parameters, or values to a URL
depending on the configuration of the web server where that particular resource is hosted on.
Finally, the following URL demonstrates a fragment identifier, more commonly known as a query
string:
<http://www.google.com/some-page?search=hello>
78
Anju Tai,”Uniform Resource Locator”<https://www.techopedia.com/definition/1352/uniform-resource-locator-url>
accessed 17 July 2022
Page 151 of 240
How does DNS match domain names to IP addresses?
Nobody types IP addresses into a browser search field; we use domain names like Network World,
CNN or Twitter. The Domain Name System, or DNS, another part of the Internet protocol suite,
makes sure that requests made using domain names reach the correct IP address.
You can think of DNS as representing a more user-friendly layer on top of the IP-address
infrastructure. However, the IP address remains the fundamental way that internet-connected devices
are found, and in some circumstances a domain name can correspond to multiple servers with
different IP addresses.
IPv6 was designed to support stateless IP address autoconfiguration (SLAAC), in which a device
itself essentially grabs an address from the available pool when it connects to the network. However,
there’s also DHCPv6, an updated version of the DHCP protocol that keeps more control in the hands
of network providers.
What are public vs. private IP addresses?
So far, we have been talking about IP addresses and potentially running out of them as if there were
one set of addresses for the entire planet, with no repeats. But that’s not strictly true. In fact, it’s
probably not true for most devices you use in a day-to-day basis and not all of the 4.3 billion IPv4
addresses are available to publicly connected devices.
A typical home or corporate network connects to the public internet via a router, and it’s this router
that’s assigned an IP address by the ISP. From the perspective of the outside world, all traffic from
devices on that local network are coming from that public IP address; but inside the network, each
device (including the router) has a local private IP address, usually assigned by the router via DHCP.
These addresses are considered private because they’re only used for directing packets within the
local, private network, and can’t be seen by anyone outside the network. As result, the same IP address
can be used on an infinite number of private networks without causing confusion. In fact, there are
blocks of IP addresses specifically set aside for use on these private networks. (For small home
networks, addresses starting with 192.168 are quite common.)
The job of the router is to alter the origin and destination IP addresses in each packet’s headers as
needed as it passes between the private network and the public internet, a process known as network
address translation, or NAT.
There are several methods for doing this. One common way is to associate each device on the internal
network with a network port that is listed in the packet header. That port information determines the
Generic Domains79
79
<https://www.javatpoint.com/computer-network-dns> accessed 21 July 2022
Page 154 of 240
• It uses three-character labels, and these labels describe the organization type.
Label Description
80
<https://www.tutorialride.com/images/computer-network/country-domain.jpeg> accessed 21 July 2022
Page 156 of 240
server does not contain the IP address associated with a hostname, then it forwards the request to
another DNS server. If IP address has arrived at the resolver, which in turn completes the request
over the internet protocol.81
4.16 Search Engine
Search Engine refers to a huge database of internet resources such as web pages, newsgroups,
programs, images etc. It helps to locate information on World Wide Web.
User can search for any information by passing query in form of keywords or phrase. It then searches
for relevant information in its database and return to the user.
Search Engine
81
“DNS”<https://www.javatpoint.com/computer-network-dns> accessed on 17 July 2022
Page 157 of 240
Search Interfaces
This component is an interface between user and the database. It helps the user to search through the
database.
Search Engine Working
Web crawler, database and the search interface are the major component of a search engine that
actually makes search engine to work. Search engines make use of Boolean expression AND, OR,
NOT to restrict and widen the results of a search. Following are the steps that are performed by the
search engine:
• The search engine looks for the keyword in the index for predefined database instead of going
directly to the web to search for the keyword.
• It then uses software to search for the information in the database. This software component
is known as web crawler.
• Once web crawler finds the pages, the search engine then shows the relevant web pages as a
result. These retrieved web pages generally include title of page, size of text portion, first
several sentences etc.
• User can click on any of the search results to open it.
These search criteria may vary from one search engine to the other. The retrieved information is
ranked according to various factors such as frequency of keywords, relevancy of information, links
etc.
Architecture
The search engine architecture comprises of the three basic layers listed below:
• Content collection and refinement.
• Search core
• User and application interfaces
Indexing Process
Indexing process comprises of the following three tasks:
• Text acquisition
• Text transformation
• Index creation
Text acquisition
It identifies and stores documents for indexing.
Text Transformation
It transforms document into index terms or features.
Index Creation
It takes index terms created by text transformations and create data structures to suport
fast searching.
Query Process
Query process comprises of the following three tasks:
• User interaction
82
<https://www.tutorialspoint.com/internet_technologies/search_engines.htm> accessed 21 July 2022
Page 159 of 240
• Ranking
• Evaluation
User interaction
It supports creation and refinement of user query and displays the results.
Ranking
It uses query and indexes to create ranked list of documents.
Evaluation
It monitors and measures the effectiveness and efficiency. It is done offline.
Examples
Google, Alta Vista, ASK etc.83
4.17 Electronic Mails
Electronic mail, commonly shortened to “email,” is a communication method that uses electronic
devices to deliver messages across computer networks. "Email" refers to both the delivery system
and individual messages that are sent and received.
Email has existed in some form since the 1970s, when programmer Ray Tomlinson created a way to
transmit messages between computer systems on the Advanced Research Projects Agency Network
(ARPANET). Modern forms of email became available for widespread public use with the
development of email client software (e.g. Outlook) and web browsers, the latter of which enables
users to send and receive messages over the Internet using web-based email clients (e.g. Gmail).
Today, email is one of the most popular methods of digital communication. Its prevalence and
security vulnerabilities also make it an appealing vehicle for cyber-attacks like phishing, domain
spoofing, and business email compromise (BEC).
83
<https://www.tutorialspoint.com/internet_technologies/search_engines.htm> accessed 17 July 2022
Page 160 of 240
• The SMTP checks the email envelope data — the text that tells the server where to send a message
— for the recipient’s email address, then uses the Domain Name System (DNS) to translate the
domain name into an IP address.
• The SMTP looks for a mail exchange (MX) server associated with the recipient’s domain name. If
one exists, the email is forwarded to the recipient’s mail server.
• The email is stored on the recipient’s mail server and may be accessed via the Post Office Protocol
(POP)* or Internet Message Access Protocol (IMAP). These two protocols function slightly
differently: POP downloads the email to the recipient’s device and deletes it from the mail server,
while IMAP stores the email within the email client, allowing the recipient to access it from any
connected device.
• To continue the postal system analogy, imagine Alice writes a thank-you note to Bob. She hands
the letter to the mail carrier (MTA), who brings it to the post office to be sorted. At the post office,
a processing clerk (SMTP) verifies the address written on the envelope. If the address appears to
be written correctly and corresponds to a location that can receive mail (MX server), another mail
carrier delivers the letter to Bob’s mailbox. After picking up the mail, Bob might keep the note in
his desk drawer, where he can only access it at that location (POP) or put it in his pocket to read at
any location (IMAP).
*The current version of the POP protocol is named POP3.
• The ‘Date’ field contains the date the email is sent. This is a mandatory header field.
• The ‘From’ field contains the email address of the sender. If the email address is associated with
a display name, that may be shown in this field as well. This is also a mandatory header field.
• The ‘To’ field contains the email address of the recipient. If the email address is associated with
a display name, that may be shown in this field as well.
• The ‘Subject’ field contains any contextual information about the message the sender wants to
include. It is displayed as a separate line above the body of an email.
• The ‘Cc ’(carbon copy) field allows the sender to send a copy of the email to additional
recipients. The recipients marked in the ‘To ’field can see the email address(es) listed in the ‘Cc ’
field.
• The ‘Bcc ’(blind carbon copy) field allows the sender to send a copy of the email to additional
recipients. The recipients marked in the ‘To ’field cannot see the email address(es) listed in the
‘Bcc ’field.
Body
The body of an email contains any information the sender wishes to send: text, images, links, videos,
and/or other file attachments, provided that they do not exceed the email client’s size restrictions.
Alternatively, an email can be sent without any information in the body field.
Depending on the options provided by the email client, the body of an email can be formatted in plain
text or HTML. Plain text emails do not contain any special formatting (like non-black font colors) or
multimedia (like images). They are compatible with all devices and email clients. HTML emails do
allow formatting and multimedia within the body field, though some HTML elements may get flagged
as spam by email filtering systems or may not display properly on incompatible devices or clients.
What is an email client?
An email client is a software program or web application* that enables users to send, receive, and
store emails. Popular email clients include Outlook, Gmail, and Apple Mail.
Software- and web-based email clients each have advantages and disadvantages. Desktop email
clients often come with more robust security capabilities, streamline email management across
multiple accounts, provide offline access, and allow users to back up emails to their computers. By
contrast, web-based clients are usually cheaper and easier to access — since users can log in to their
*Originally, ‘email ’referred to desktop email clients and ‘webmail ’referred to web-based email
clients. Today, the term ‘email ’encompasses both systems.
Domain
The domain may be a domain name, like example.com, or an IP address, like 192.0.2.0. In the former
case, the SMTP protocol uses DNS to translate a domain name into its IP address before delivering
the message to the next server.
Like the local-part, the domain also has to adhere to certain formatting requirements established by
the Internet Engineering Task Force (IETF). Approved domain names may include a combination of
uppercase and lowercase letters, numbers, and hyphens. An email address can also be formatted with
an IP address in brackets instead of a domain name, although this is rare. The character limit for a
domain name is 63.
Is email secure?
Although email is often used to exchange confidential information, it is not a secure system by design.
This makes it an attractive target for attackers, who may intercept an unencrypted message, spread
malware, or impersonate legitimate organizations. Other email security threats include social
engineering, domain spoofing, ransomware, spam, and more.
Page 163 of 240
One of email’s most significant vulnerabilities is its lack of built-in encryption, leaving the contents
of an email visible to any unauthorized party that might intercept or otherwise gain access to the
message.
In an attempt to make email more secure, many email clients offer one of two basic encryption
capabilities: Transport Layer Security encryption (or ‘TLS encryption’) and end-to-end encryption (or
'E2EE'). During TLS encryption, messages are encrypted during transit (from user to server or server
to user), and the email service provider retains possession of the private key used to set up this
encryption. The email service provider can therefore see the unencrypted contents of the email.
During end-to-end encryption (from user to user), messages can only be decrypted by the sender and
recipient of the email.
4.18 Web 2.0
Web 2.0, or participative/participatory and social web, “refers to websites that emphasize user-
generated content, ease of use, participatory culture, and interoperability for end users.” Web 2.0 is a
relatively new term, having only come into popular use about twenty years ago, in 1999. It was first
coined by Darcy DiNucci and then became popularized by Tim O’Reilly and Dale Doughtery at a
conference in 2004. It is important to note that Web 2.0 frameworks only deal with the design and
use of websites, without placing technical demands on designers.
This article will not get into the history of Web 2.0, but instead discuss how Web 2.0 works and the
roles/potential roles it can play in your business.
Web 2.084
84
Community, S. D. (2019, February 25). Web 2.0: An Introduction. Medium. <
https://medium.com/@SoftwareDevelopmentCommunity/web-2-0-an-introduction-8230eb8fa6ce> accessed 22 July
2022
Page 164 of 240
Characteristics Of Web 2.0
One of the main characteristics of a Web 2.0 site is that users are encouraged and invited to contribute
content, instead of simply reading what’s already there. An example of a Web 2.0 site is Medium, a
blogging platform where users contribute articles that they have written, as well as interact with
content that other users have shared. Social networking sites, such as Facebook and Instagram, are
also great examples of Web 2.0.
However, this open contribution forum can lead to internet trolls who leave spam comments or leave
nasty comments on the work contributed by others. When people say “don’t read the comments,” it’s
often best to heed that advice. The comment sections, particularly on news forums like The New York
Times or The Washington Post, can get especially nasty and the trolls are often out in full force. These
trolls prevent important discussion from happening because people who have something to contribute
to the conversation are often afraid to post for fear of being trolled or spammed.
Other key features of Web 2.0 include:
Folksonomy: a way to classify information, such as through tagging photos, websites, or links;
tagging enables users to find information in an organized fashion
Rich user experience: dynamic, interactive content (for example, a user can click on an image of a
plant to get more information about that plant i.e. growth conditions, nutrient requirements, and more)
User participation: helps with the flow of information between the user and the owner of a certain
website (for example, Wikipedia allows users to create new pages and edit existing pages to keep
information up to date)
Software as a Service (Saas): Sites classified as Web 2.0 use APIs for automated usage
Mass participation: we have nearly universal web access that leads to differentiation of concerns,
from a traditional internet user to a wider variety of users
Concepts Of Web 2.0
Web 2.0 might sound complex and overwhelming, but it is easily broken down into three
technologies: Rich internet application, web-oriented architecture, and social web. Because of these
technologies, Web 2.0 combines client and server-side software to “provide users with information
storage, creation, and dissemination capabilities. None of these things were available in Web 1.0.
First, rich internet application is defined as the user experience from desktop (or laptop) to browser,
from both a graphics standpoint and an interactivity point of view.
Second, web-oriented architecture relates to the functionality of Web 2.0 applications to leverage a
much richer set of applications. An example of web-oriented architecture is RSS feeds, which is a
method of aggregating information, such as a blog or podcast feed.
Third, social web works to make the end user feel like they are a part of the community. This sense
of community can be accomplished via social networking sites like Facebook and Instagram, where
Page 165 of 240
users interact with each other, or via the comment sections on news sites, where users can respond to
articles that have been posted, creating discussion among all users of the site.
Web 2.0 has a few other features and techniques, known as SLATES, a term that was coined by
Andrew McAfee. SLATES stands for Search, Links to other websites, Authoring, Tags, Extensions,
and Signals. Search refers to finding content via keyword search, while Links to other websites refers
to connecting information sources together via the Web model. Authoring refers to the collaborative
nature of people bringing their work together, as well as comment systems that allow people to share
their viewpoints. Tags refers to the categorization of information, via one or two word phrases, that
aids in searching for specific keywords to find information. Extensions are used to make the Web an
application platform and document server all in one. Examples of extensions include Adobe Reader,
QuickTime, and Windows Media. Finally, Signals refers to the use of extension technology, such as
an RSS feed.
Web As Platform
Using the web as a platform goes back to rich user experiences, which we talked about briefly earlier
in this article. The best example of using the web as a platform is Google, for myriad reasons. The
first reason is that Google can be accessed on multiple devices, whether you use a PC or a Mac. You
can also access Google via a mobile device, such as a cell phone or tablet. Not only that, Google is a
free and readily available service; all you need is a strong wifi connection to access it. Google is also
a seamless product — its search engine and database work in conjunction with one another; this
essentially means you can’t have one with the other.
The web uses applications, sometimes called applets, to make the experience of using the internet
that much more enjoyable. Take Twitter, for example. On the surface, the concept is simple: you use
the interface to send a message via a tweet to your followers, but an Application Programming
Interface (API) allows you to go even deeper and use apps that have been created by third party
developers, such as Twitterific, which allows users to tweet directly from their desktops rather than
using the internet site.
Web 2.0 And Collective Intelligence
When a new website is added to the internet, it is “bound into the structure of the web by other users
discovering the content and linking to it.” Because of this linking and use of content, the web grows
organically and becomes stronger with each website that is added.
Another strong example of collective intelligence is Amazon. Amazon sells much more than just
books and they often sell products that can be found on other websites. Since the products are the
same, the content about those products (i.e. product descriptions, product images, and more) is the
same as what other vendors receive. What makes Amazon stand out from the crowd is that they’ve
nailed the science of engagement. On Amazon, user activity creates better search results. When you
Page 166 of 240
visit Amazon at any given point during the day, you’ll see the most popular products on the home
page; those decisions are made based on real-time sales and interactions from other users. This
particular mechanism is called “flow” by Amazon insiders.85
85
<https://medium.com/@SoftwareDevelopmentCommunity/web-2-0-an-introduction-8230eb8fa6ce> accessed 17 July
2022
Page 167 of 240
Unit V
Cyber Security KEY Terminologies
86
“CIA Triad”<https://intellipaat.com/blog/the-cia-triad/#2> accessed 20 July 2022
Page 169 of 240
Availability: Security controls ensure that assets or data are available to those who need it. Therefore,
effective security controls should prevent attacks that attempt to obstruct access, such as Denial of
Service attacks (DoS).
Combining Security Controls
In many cases, it is best to deploy security controls in a layered approach as they are insufficient when
deployed individually. Consider the effectiveness of a fence built around a perimeter as a preventative
measure against unauthorized access. Although effective against many types of penetration, it cannot
prevent an adversary from digging under it or destroying it to access the asset you mean to protect. A
combination of several controls, set up according to strategic specifications, is required to actually
secure the perimeter. This may require adding a CCTV to detect risks and deploying a security team
to counteract breaches.
Information security works along similar lines. In most cases, placing a single security control cannot
address all of the risks enterprises face, especially when the protected assets in question are also
dynamic in nature (given that data is usually subject to constant change). This means that
organizations must (1) prevent unauthorized access to data, (2) monitor authorized access against
anomalies (i.e: fraud) and (3) counteract breaches (meaning install processes for incident response).
Common Security Controls in Cybersecurity
The cybersecurity industry is full of different kinds of cybersecurity controls and is producing new
ones regularly. The most common found among enterprises are the following:
• Firewalls: Whether a network or application layer, these security controls inspect traffic to
or from assets and block attacks or suspicious activity.
• Endpoint security: This involves software deployed on endpoints (laptops, workstations,
servers and mobile devices), to either prevent attacks or detect suspicious activities.
• Data Protection security controls: These security controls prevent attacks against databases
(Such as a DB Firewall), audit database activities (usually for compliance), enable data
access controls and detect suspicious behavior.
5.3 Encryption
Encryption is the method by which information is converted into secret code that hides the
information's true meaning. The science of encrypting and decrypting information is called
cryptography.
In computing, unencrypted data is also known as plaintext, and encrypted data is called ciphertext.
The formulas used to encode and decode messages are called encryption algorithms, or ciphers.
To be effective, a cipher includes a variable as part of the algorithm. The variable, which is called a
key, is what makes a cipher's output unique. When an encrypted message is intercepted by an
unauthorized entity, the intruder has to guess which cipher the sender used to encrypt the message,
Page 170 of 240
as well as what keys were used as variables. The time and difficulty of guessing this information is
what makes encryption such a valuable security tool.
Encryption has been a longstanding way for sensitive information to be protected. Historically, it
was used by militaries and governments. In modern times, encryption is used to protect data stored
on computers and storage devices, as well as data in transit over networks.
Encryption is commonly used to protect data in transit and data at rest. Every time someone uses an
ATM or buys something online with a smartphone, encryption is used to protect the information being
relayed. Businesses are increasingly relying on encryption to protect applications and sensitive
information from reputational damage when there is a data breach.
There are three major components to any encryption system: the data, the encryption engine and the
key management. In laptop encryption, all three components are running or stored in the same place:
on the laptop.
In application architectures, however, the three components usually run or are stored in separate
places to reduce the chance that compromise of any single component could result in compromise of
the entire system.
87
Encryption<https://www.techtarget.com/searchsecurity/definition/encryption> accessed 23 July 2022
Page 172 of 240
Having a key management system in place isn't enough. Administrators must come up with a
comprehensive plan for protecting the key management system. Typically, this means backing it up
separately from everything else and storing those backups in a way that makes it easy to retrieve the
keys in the event of a large-scale disaster.
5.4 Hashing
Hashing is the procedure of translating a given key into a code. A hash function can be used to
substitute the data with a newly generated hash code. Hash algorithms are generally used to offer a
digital fingerprint of a file’s contents often used to provide that the file has not been changed by an
intruder or virus. Hash functions are also employed by some operating systems to encrypt passwords.
Hash functions support a measure of the integrity of a file.
Hashing creates use of algorithms that convert blocks of information from a file in a much shorter
value or key of a constant length that define those strings. The resulting hash value is a sort of
concentrated summary of each string inside a given file, and must be able to change even when an
individual byte of data in that file is transformed (avalanche effect).
This supports massive advantage in hashing in terms of data compression. While hashing is not
compression, it can work very much like file compression in that it takes a higher data set and shrinks
it into a more feasible form.
A good hash function for security goals should be a unidirectional process that need a one-way
hashing algorithm. Therefore, hackers can simply reverse engineer the hash to transform it back to
the original data, defeating the goals of the encryption in the first place.
It can increase the uniqueness of encrypted outputs, random information can be added to the input of
a hash function. This technique is called a “salting” and guarantees unique output even in the method
of identical inputs.
A cryptographic hash function should behave as much as applicable like a random function while still
being deterministic and efficiently computable. A cryptographic hash function is treated insecure if
either of the following is computationally feasible −
• It can be finding a (previously unseen) message that matches a given digest.
• It can be finding “collisions”, wherein two different messages have the same message digest.
An attacker who can do either of these things might, for instance, it can use them to substitute an
unauthorized message for an authorized one. Conceptually, it must not even be feasible to discover
two messages whose digests are substantially same; nor would one want an attacker to be able to
understand anything beneficial about a message given only its digest. The attacker learns minimum
one piece of information, the digest itself, which for instance provides the attacker the ability to
identify the same message should it appear again.
Encryption Hashing
The message is encoded in a way that Hashing is the process of using hash functions on
only authorized parties can access it. data to map it to a fixed size output. It’s similar to
It’s used to prevent unauthorized a checksum and is used for verifying file integrity.
users from reading data Hashing is useful where you want to compare an
from a file by rendering it into an entered value with a stored value without needing
unreadable form. to read the original content of the file.
88
Lumena Mukherjee,”Hashing”<https://sectigostore.com/blog/hashing-vs-encryption-the-big-players-of-the-cyber-
security-world/> accessed 17 July 2022
Page 175 of 240
5.5 Non-Repudiation
The certainty that someone cannot dispute the legitimacy of anything is known as non-repudiation.
Non-repudiation is a regulatory notion commonly used in cybersecurity and refers to the service that
confirms the origin and integrity of data. It assures that no party can deny sending or receiving a
communication using encryption and digital signatures. It cannot also contest the legitimacy of its
digital signature on a document. Non-repudiation provides evidence of data's origin, authenticity, and
integrity. It verifies the sender that the information is sent and the recipient's identity to the receiver.
Neither side can dispute that communication happened or was processed in this manner.
How Does Non-Repudiation Help in Cyber Security?
Non-repudiation uses cryptography, similar to digital signatures, and comprises authentication,
auditing, and logging services. Non-repudiation can be accomplished in a variety of methods, such
as the digital signing of log data as a checksum during collection or using secured storage media.
In Data Audit Logs
Typically, a digital signature supplied in a hash algorithm is computed against the log file at the time
of collection. The output of this computation is a checksum that is used to verify that the files have
not been manipulated. If the file is updated in any manner, the hash generates a different value, and
the log file fails the integrity check. If the checksum is correct, the log is confirmed to be in its original
state.
In Online Transactions
In online transactions, Digital signatures guarantee that a party cannot subsequently dispute delivering
information or question the legitimacy of its signature in online transactions. A digital signature is
formed by pairing an encrypted key and a public key. Only the holder of the encrypted key has access
to this key and can generate this signature, confirming that that holder electronically signed a
document, which assures that a person cannot subsequently dispute supplying the signature, hence
ensuring non-repudiation.
In Cryptography
Message authentication code (MAC), also called a tag in cryptography, is used for authentication of
messages or to certify that the message originated from the specified sender and was not altered along
the route. MAC values, unlike digital signatures, are created and confirmed using the same private
key, on which the sender and receiver must agree before commencing interactions.
A MAC can prevent message forging by anybody who does not have access to the shared secret key,
ensuring both integrity and authenticity. Non-repudiation cannot be provided by MAC methods such
as block cipher-based MAC (CMAC) and hash-based MAC (HMAC).
89
<https://www.tutorialspoint.com/how-does-non-repudiation-help-in-cyber-security> accessed 17 July 2022
Page 177 of 240
Surveillance systems, fingerprints, and DNA samples are some of the resources that can be used to
identify an individual. On the other hand, the digital world uses device fingerprinting or other
biometrics for the same purpose. Individuals can also be identified online by their writing style,
keystrokes, or how they play computer games.
All in all, the act of specifying someone’s identity is known as identification.
Why Is User Identification Important?
Personal identification refers to the process of associating a specific person with a specific identity.
It is considered an important process because it addresses certain concerns about an individual, such
as “Is the person who he/she claims to be?”, “Has this person been here before?”, or “Should this
individual be allowed access to our system?”
Identification is beneficial for organizations since it:
• Can be easily integrated into various systems
• Is inexpensive
• Serves as a deterrent to imposters
Types of Identification
To identify a person, an identification document such as an identity card (a.k.a. IC, ID card, citizen
card), or passport card (if issued in a small, conventional credit card size format) can be used. Some
countries also issue formal identity documents such as national identification cards, which may be
required or optional, while others may rely upon regional identification or informal documents to
confirm an identity.
Some other acceptable forms of identification include:
1. Something a Person Knows: A password, PIN, mother’s maiden name, or lock combination.
Authenticating a person using something they already know is probably the simplest option,
but one of the least secure.
2. Something a Person Has: A key, swipe card, access card, or badge are all examples of items
that a person may own. This method is commonly used to gain access to facilities like banks
and offices, but it might also be used to gain access to sensitive locations or verify system
credentials. This is also a simple option, but these items are easy to steal.
3. Something a Person Is: An individual’s biometrics are uniquely theirs, and cannot be lost or
stolen. Using biometrics to identify someone is the most accurate and secure option.
Based on the number of identification or authentication elements the user gives, the authentication
procedure can classified into the following tiers:
• Single-Factor Authentication
• Two-Factor Authentication
• Multi-Factor Authentication
Why is User Authentication Important?
Authentication assists organizations in securing their networks by allowing only authenticated users
(or processes) to access protected resources, such as computer systems, networks, databases,
websites, and other network-based applications or services.
User Authentication provides several benefits:
• Theft Prevention: The basic goal of an access control system is to limit access to protect user
identities from being stolen or changed. Many websites that require personal information for
their services, particularly those that require credit card information or a person’s Social
Security number, are required by law or regulations to have an access control mechanism in
place.
• Levels of Security: Modern control systems have evolved in conjunction with technological
advancements. A person who wishes to keep information secure has more options than just a
four-digit PIN and password. Locks with biometric scanning, for example, can now be fitted
to home and office points of entry.
Methods of Authentication
Cybercriminals are constantly refining their system attacks. As a result, security teams are dealing
with a slew of ever-changing authentication issues. This is why businesses are beginning to deploy
more sophisticated plans that include authentication. Some of the most frequent authentication
methods used to protect modern systems include:
90
Identification, Authentication, Authorization – What’s The Difference
<https://imageware.io/identification-authentication-authorization-difference/> accessed 22 July 2022
Page 181 of 240
3. Network Security
connecting to an unsecured network, for an instance – HTTP, over the internet, poses a big risk of
getting your systems to be attacked or infected by bugs that lie at the other end. So policies and
appropriate architectural and technical responses must be established which will serve as a baseline
for networking. It will ensure the inbound and outbound networking rules that must be implemented
to secure your network perimeter. E.g., the inbound connections (outside to inside) should first face
the network firewall and should be filtered for threats and then finally should be passed to the
destination system. By implementing these policies, any organization can reduce the chances of
becoming a victim of cyber-attack. Furthermore, SIEM (security information and event management)
solution should further be implemented; SOC centers should be established to use the technologies
to effectively monitor your network.
4. Managing User Privileges
All the users should be provided with reasonable (and minimal) access privileges that would allow
them to just go fine with their work. If users are granted more access than they need, it will be misuse
and a much bigger risk to information security. Also, the granting of highly elevated privileges should
be very carefully controlled and managed.
5. User Education and Awareness
End users and organization’s people play a vital role in keeping an organization safe and secure. If
end-users are not aware of the policies, risk management regime that has been set and defined by the
organization, these policies will fail its purpose. End-users must be provided with security awareness
training and regular training should be conducted to ensure the users are aware of the organization’s
policies and threats that may lead to security breaches. On the other hand, the cybersecurity
professionals of the organization should be highly trained and should be ready to combat mode at any
point in time if any breaches happen.
6. Incident Management
A SIEM solution will always create security-related incidents to you. An organization should
establish effective incident management policies to support the business and ensure security
throughout the organization and at all the endpoints, endpoints at rest (Like desktop) as well as
endpoints in motion (Like laptops, Mobile Phones, etc.).
7. Malware Prevention
It requires the establishment of policies that directly address the business processes that are at the
forefront of getting infected by malware such as email, web, personal devices, USB. E.g., a policy
should be established which will restrict USB access to computers, similarly, other policy may restrict
outbound internet request, etc., all depending upon situations and needs. Separate expertise solutions
should be implemented to protect each forefront from malware such as email threat protection for
Page 182 of 240
emails, network analyzer like IDS, IPS and firewalls for networking and any web requests, managing
profiles to monitor organization data at the end user’s mobile, etc. The endpoints should be very
effectively protected by implementing anti-virus solutions that can detect, prevent and remediate
malware from endpoints.
8. Monitoring
A monitoring strategy and solution should be created in order with the help of which an organization
will have complete visibility of the security posture. It is also be used to create another layer of
security when security breaches are passed by our detection and prevention system but the monitoring
solution detects it and creates a security incident. E.g. you endpoint solution was able to detect the
malware but it was unable to block or delete that malware, in that case, the monitoring solution will
create a security incident. The solution will monitor all the inbound and outbound traffic and will
integrate with logs from the firewall, endpoints, NIPS, NIDS, HIPS, HIDS, and other solutions.
9. Removable Media Controls
Every organization must define its removable media policies and should restrict the use of removable
media as much as possible. If there are cases where their use is unavoidable, the policy should limit
the types of media that can be used and the types of information that can be shared.
10. Home and Mobile Networking
When users are at home or mobile, they are no longer connecting to the company’s LAN or WAN.
This poses a network risk where organizations do not have control over the internet. So risk-based
policies that support mobile and home working should be established. The company can also choose
to manage the user’s profile on mobile and have control of their data that is stored on mobile or Home
computer.91
5.10 Asset
An asset is any data, device or other component of an organisation’s systems that is valuable – often
because it contains sensitive data or can be used to access such information.
For example, an employee’s desktop computer, laptop or company phone would be considered an
asset, as would applications on those devices. Likewise, critical infrastructure, such as servers and
support systems, are assets.
An organisation’s most common assets are information assets. These are things such as databases and
physical files – i.e. the sensitive data that you store.
A related concept is the ‘information asset container’, which is where that information is kept. In the
case of databases, this would be the application that was used to create the database. For physical
files, it would be the filing cabinet where the information resides.
91
“Cyber security principles”<https://www.educba.com/cyber-security-principles/> accessed 20 July 2022
Page 183 of 240
5.11 Threat
A threat is any incident that could negatively affect an asset – for example, if it’s lost, knocked offline
or accessed by an unauthorised party.
Threats can be categorised as circumstances that compromise the confidentiality, integrity or
availability of an asset, and can either be intentional or accidental.
Intentional threats include things such as criminal hacking or a malicious insider stealing information,
whereas accidental threats generally involve employee error, a technical malfunction or an event that
causes physical damage, such as a fire or natural disaster.
5.12 Vulnerability
A vulnerability is an organisational flaw that can be exploited by a threat to destroy, damage or
compromise an asset.
You are most likely to encounter a vulnerability in your software, due to their complexity and the
frequency with which they are updated. These weaknesses, known as bugs, can be used by criminal
hackers to access to sensitive information.
Vulnerabilities don’t only refer to technological flaws, though. They can be physical weaknesses,
such as a broken lock that lets unauthorised parties into a restricted part of your premises, or poorly
written (or non-existent) processes that could lead to employees exposing information.
Other vulnerabilities include inherent human weaknesses, such as our susceptibility to phishing
emails; structural flaws in the premises, such as a leaky pipe near a power outlet; and communication
errors, such as employees ’sending information to the wrong person.92
5.13 Risk
Cybersecurity risk is the probability of exposure, loss of critical assets and sensitive information, or
reputational harm as a result of a cyber attack or breach within an organization’s network. Across
industries, cybersecurity must remain top of mind and organizations should work to implement a
cybersecurity risk management strategy to protect against constantly advancing and evolving cyber
threats.
Cybersecurity risk has become a leading priority for organizations as they embrace digital
transformation and leverage advanced technology solutions to drive business growth and optimize
efficiencies. Additionally, many organizations are increasingly reliant on third-party and fourth-
party vendors or programs. While these resources can unlock and drive business success, they also
introduce new threats and expand your digital attack surface.
92
<https://www.vigilantsoftware.co.uk/blog/risk-terminology-understanding-assets-threats-and-vulnerabilities>
accessed 17 July 2022
Page 184 of 240
One of the most common mistakes that organizations make is not having a comprehensive
understanding of the inherent risk that they take on when working with these additional resources.
When everyone involved knows what to look out for and what to do should an issue arise,
organizations can more proactively manage and mitigate risks before they become bigger problems.
5.14 Exploit
An exploit (in its noun form) is a segment of code or a program that maliciously takes advantage of
vulnerabilities or security flaws in hardware to infiltrate and initiate denial of service attack or install
malware such as spyware, ransomware,trojan horses, worms or viruses. So, the exploit is not the
malware itself but is used to deliver the malware.
5.15 Security Controls
Security controls exist to reduce or mitigate the risk(s) to those assets. They include any type of
policy, procedure, technique, method, solution, plan, action, or device designed to help accomplish
that goal. Recognizable examples include firewalls, surveillance systems, and antivirus software.
Control Objectives
Security controls are not chosen or implemented arbitrarily. They typically flow out of an
organization’s risk management process, which begins with defining the overall IT security strategy,
then goals. This is followed by defining specific control objectives statements about how the
organization plans to effectively manage risk. For example, “Our controls provide reasonable
assurance that physical and logical access to databases and data records is restricted to authorized
users” is a control objective. “Our controls provide reasonable assurance that critical systems and
infrastructure are available and fully functional as scheduled” is another example.
Security Controls
Once an organization defines control objectives, it can assess the risk to individual assets and then
choose the most appropriate security controls to put in place. One of the easiest and most
straightforward models for classifying controls is by type: physical, technical, or administrative, and
by function: preventative, detective, and corrective.
Control Types
Physical controls describe anything tangible that’s used to prevent or detect unauthorized access to
physical areas, systems, or assets. This includes things like fences, gates, guards, security badges and
access cards, biometric access controls, security lighting, CCTVs, surveillance cameras, motion
sensors, fire suppression, as well as environmental controls like HVAC and humidity controls.
Technical controls (also known as logical controls) include hardware or software mechanisms used
to protect assets. Some common examples are authentication solutions, firewalls, antivirus software,
intrusion detection systems (IDSs), intrusion protection systems (IPSs), constrained interfaces, as
well as access control lists (ACLs) and encryption measures.
Page 185 of 240
Administrative controls refer to policies, procedures, or guidelines that define personnel or business
practices in accordance with the organization's security goals. These can apply to employee hiring
and termination, equipment and Internet usage, physical access to facilities, separation of duties, data
classification, and auditing. Security awareness training for employees also falls under the umbrella
of administrative controls.
Control Functions
Preventative controls describe any security measure that’s designed to stop unwanted or
unauthorized activity from occurring. Examples include physical controls such as fences, locks, and
alarm systems; technical controls such as antivirus software, firewalls, and IPSs; and administrative
controls like separation of duties, data classification, and auditing.
Detective controls describe any security measure taken or solution that’s implemented to detect and
alert to unwanted or unauthorized activity in progress or after it has occurred. Physical examples
include alarms or notifications from physical sensor (door alarms, fire alarms) that alert guards,
police, or system administrators. Honeypots and IDSs are examples of technical detective controls.
Corrective controls include any measures taken to repair damage or restore resources and
capabilities to their prior state following an unauthorized or unwanted activity. Examples of technical
corrective controls include patching a system, quarantining a virus, terminating a process, or
rebooting a system. Putting an incident response plan into action is an example of an administrative
corrective control.93
93
<https://www.f5.com/labs/articles/education/what-are-security-controls> accessed 17 July 2022
Page 186 of 240
UNIT- VI
CYBER SECURITY ATTACKS
6.1 Malware
Malware, or “malicious software,” is an umbrella term that describes any malicious program or code
that is harmful to systems.
Hostile, intrusive, and intentionally nasty, malware seeks to invade, damage, or disable computers,
computer systems, networks, tablets, and mobile devices, often by taking partial control over a
device’s operations. Like the human flu, it interferes with normal functioning.
The motives behind malware vary. Malware can be about making money off you, sabotaging your
ability to get work done, making a political statement, or just bragging rights. Although malware
cannot damage the physical hardware of systems or network equipment (with one known exception—
see the Google Android section below), it can steal, encrypt, or delete your data, alter or hijack core
computer functions, and spy on your computer activity without your knowledge or permission.94
6.2 Virus
A computer virus is a type of malicious software, or malware, that spreads between computers and
causes damage to data and software.
Computer viruses aim to disrupt systems, cause major operational issues, and result in data loss and
leakage. A key thing to know about computer viruses is that they are designed to spread across
programs and systems. Computer viruses typically attach to an executable host file, which results in
their viral codes executing when a file is opened. The code then spreads from the document or
software it is attached to via networks, drives, file-sharing programs, or infected email attachments.
Common Signs of Computer Viruses
A computer virus will more than likely have an adverse effect on the device it resides on and may be
discoverable through common signs of performance loss, including:
Speed of System
A computer system running slower than usual is one of the most common signs that the device has a
virus. This includes the system itself running slowly, as well as applications and internet speed
94
<https://www.malwarebytes.com/malware> accessed 17 July 2022
Page 187 of 240
suffering. If a computer does not have powerful applications or programs installed and is running
slowly, then it may be a sign it is infected with a virus.
Pop-up Windows
Unwanted pop-up windows appearing on a computer or in a web browser are a telltale sign of a
computer virus. Unwanted pop-ups are a sign of malware, viruses, or spyware affecting a device.
Programs Self-executing
If computer programs unexpectedly close by themselves, then it is highly likely that the software has
been infected with some form of virus or malware. Another indicator of a virus is when applications
fail to load when selected from the Start menu or their desktop icon.
Accounts Being Logged Out
Some viruses are designed to affect specific applications, which will either cause them to crash or
force the user to automatically log out of the service.
Crashing of the Device
System crashes and the computer itself unexpectedly closing down are common indicators of a virus.
Computer viruses cause computers to act in a variety of strange ways, which may include opening
files by themselves, displaying unusual error messages, or clicking keys at random.
Mass Emails Being Sent from Your Email Account
Computer viruses are commonly spread via email. Hackers can use other people's email accounts to
spread malware and carry out wider cyberattacks. Therefore, if an email account has sent emails in
the outbox that a user did not send, then this could be a sign of a computer virus.
Changes to Your Homepage
Any unexpected changes to a computer—such as your system’s homepage being amended or any
browser settings being updated—are signs that a computer virus may be present on the device.
How Do Computer Viruses Attack and Spread?
In the early days of computers, viruses were spread between devices using floppy disks. Nowadays,
viruses can still be spread via hard disks and Universal Serial Bus (USB) devices, but they are more
likely to be passed between devices through the internet.
Computer viruses can be spread via email, with some even capable of hijacking email software to
spread themselves. Others may attach to legitimate software, within software packs, or infect code,
and other viruses can be downloaded from compromised application stores and infected code
repositories. A key feature of any computer virus is it requires a victim to execute its code or payload,
which means the host application should be running.
Types of Computer Viruses
There are several types of computer viruses that can infect devices. This section will cover computer
virus protections and how to get rid of computer viruses.
Page 188 of 240
Resident Virus
Viruses propagate themselves by infecting applications on a host computer. A resident virus achieves
this by infecting applications as they are opened by a user. A non-resident virus is capable of infecting
executable files when programs are not running.
Multipartite Virus
A multipartite virus uses multiple methods to infect and spread across computers. It will typically
remain in the computer’s memory to infect the hard disk, then spread through and infect more drives
by altering the content of applications. This results in performance lag and application memory
running low.
Multipartite viruses can be avoided by not opening attachments from untrusted sources and by
installing trusted antivirus software. It can also be prevented by cleaning the boot sector and the
computer’s entire disk.
Direct Action
A direct action virus accesses a computer’s main memory and infects all programs, files, and folders
located in the autoexec.bat path, before deleting itself. This virus typically alters the performance of
a system but is capable of destroying all data on the computer’s hard disk and any USB device attached
to it. Direct action viruses can be avoided through the use of antivirus scanners. They are easy to
detect, as is restoring infected files.
Browser Hijacker
A browser hijacker manually changes the settings of web browsers, such as replacing the homepage,
editing the new tab page, and changing the default search engine. Technically, it is not a virus because
it cannot infect files but can be hugely damaging to computer users, who often will not be able to
restore their homepage or search engine. It can also contain adware that causes unwanted pop-ups
and advertisements.
Browser hijackers typically attach to free software and malicious applications from unverified
websites or app stores, so only use trusted software and reliable antivirus software.
Overwrite Virus
Overwrite viruses are extremely dangerous. They can delete data and replace it with their own file
content or code. Once files get infected, they cannot be replaced, and the virus can affect Windows,
DOS, Linux, and Apple systems. The only way this virus can be removed is by deleting all of the
files it has infected, which could be devastating. The best way to protect against the overwrite virus
is to use a trusted antivirus solution and keep it updated.
Web Scripting Virus
A web scripting virus attacks web browser security, enabling a hacker to inject web-pages with
malicious code, or client-side scripting. This allows cyber criminals to attack major websites, such as
Page 189 of 240
social networking sites, email providers, and any site that enables user input or reviews. Attackers
can use the virus to send spam, commit fraudulent activity, and damage server files.
Protecting against web scripting is reliant on deploying real-time web browser protection software,
using cookie security, disabling scripts, and using malicious software removal tools.
File Infector
A file infector is one of the most common computer viruses. It overwrites files when they are opened
and can quickly spread across systems and networks. It largely affects files with .exe or .com
extensions. The best way to avoid file infector viruses is to only download official software and
deploy an antivirus solution.
Network Virus
Network viruses are extremely dangerous because they can completely cripple entire computer
networks. They are often difficult to discover, as the virus could be hidden within any computer on
an infected network. These viruses can easily replicate and spread by using the internet to transfer to
devices connected to the network. Trusted, robust antivirus solutions and advanced firewalls are
crucial to protecting against network viruses.
Boot Sector Virus
A boot sector virus targets a computer’s master boot record (MBR). The virus injects its code into a
hard disk’s partition table, then moves into the main memory when a computer restarts. The presence
of the virus is signified by boot-up problems, poor system performance, and the hard disk becoming
unable to locate. Most modern computers come with boot sector safeguards that restrict the potential
of this type of virus.
Steps to protecting against a boot sector virus include ensuring disks are write-protected and not
starting up a computer with untrusted external drives connected.95
6.3 Worm
A computer worm is a subset of the Trojan horse malware that can propagate or self-replicate from
one computer to another without human activation after breaching a system. Typically, a worm
spreads across a network through your Internet or LAN (Local Area Network) connection. Naturally,
you must be wondering what is a Trojan and how does it relate to computer worms?
To keep it brief, a Trojan uses trickery and social engineering to deceive people into running it. For
example, a Trojan may pretend to be legitimate software. A worm is a type of Trojan because it
normally relies on social engineering to attack systems.
95
What are computer virus<https://www.fortinet.com/resources/cyberglossary/computer-virus> accessed 17 July 2022
Page 190 of 240
How does a computer worm spread?
• Phishing: Fraudulent emails that look authentic can carry worms in corrupt attachments. Such
emails may also invite users to click malicious links or visit websites designed to infect users with
worms.
• Spear-Phishing: Targeted phishing attempts can carry dangerous malware like ransomware
cryptoworms.
• Networks: Worms can self-replicate across networks via shared access.
• Security holes: Some worm variants can infiltrate a system by exploiting software vulnerabilities.
• File sharing: P2P file networks can carry malware like worms.
• Social networks: Social platforms like MySpace have been affected by certain types of worms.
• Instant messengers (IMs): All types of malware, including worms, can spread through text
messages and IM platforms such as Internet Relay Chat (IRC).
• External devices: Worms can infect USB sticks and external hard drives.
What does a computer worm do?
Once a computer worm has breached your computer’s defenses it can perform several malicious
actions:
• Drop other malware like spyware or ransomware
• Consume bandwidth
• Delete files
• Overload networks
• Steal data
• Open a backdoor
• Deplete hard drive space
Computer worm vs. virus
Some people think that a computer worm and computer virus are the same things because the two
behave similarly. They may even use the terms like "worm computer virus" or "worm virus malware."
The truth is that the two are comparable but different threats.
The defining difference between a virus and a worm is that viruses rely on human action for activation
and need a host system to replicate. In other words, a virus won’t harm your system unless you run it.
For example, a virus on a flash drive connected to your computer won’t damage your system unless
you activate it. And as mentioned above, a worm doesn’t need a host system or user action to spread.
Risk Factors
High: A Trojan horse can break through all security polices in a network, because an attacker can get
access to a WorkStation with stored network credentials. With these credentials, an attacker can
compromise the whole network96.
96
Trojan Horse<https://owasp.org/www-community/attacks/Trojan_Horse> accessed 17 July 2022
97
Brute Force Attack<https://www.cloudflare.com/en-in/learning/bots/brute-force-attack/> accessed 21 July 2022
Page 194 of 240
6.6 Dictionary Attack
A dictionary attack is a method of breaking into a password-protected computer, network or other IT
resource by systematically entering every word in a dictionary as a password. A dictionary attack can
also be used in an attempt to find the key necessary to decrypt an encrypted message or document.
Dictionary attacks work because many computer users and businesses insist on using ordinary words
as passwords. These attacks are usually unsuccessful against systems using multiple-word passwords
and are also often unsuccessful against passwords made up of uppercase and lowercase letters and
numbers in random combinations.
In systems with strong password requirements, the brute-force method of attack, in which every
possible combination of characters and spaces is tested up to a certain maximum length, can
sometimes be effective. However, a brute-force attack can take a long time to produce results.
Strong, randomized passwords cannot be easily predicted, and they are highly unlikely to be included
in the predetermined password library. Because a dictionary attack's guess attempts are limited to a
preselected list, it is essentially impossible to crack nonpredictable passwords.
Dictionary attacks
A dictionary attack will use a list of likely passwords in its attempts to break into system. These
attacks are more focused than brute-force attacks. Rather than trying to input every possible
permutation, an attacker using a dictionary approach would attempt all the permutations in its
predetermined library.
Sequential passcodes, like "12345," and static passcodes, like "00000," would be tested. If the five-
digit permutation is particularly unique, the dictionary attack likely would not guess it. Like phishing
attacks, dictionary attacks assume that a reasonable percentage of the users or accounts they target
will be vulnerable and will have an easily identifiable five-digit passcode.
98
<https://www.trendmicro.com/vinfo/us/security/definition/denial-of-service-dos> accessed 17 July 2022
Page 196 of 240
6.7 Social Engineering
Social engineering is the art of manipulating people so they give up confidential information. The
types of information these criminals are seeking can vary, but when individuals are targeted the
criminals are usually trying to trick you into giving them your passwords or bank information, or
access your computer to secretly install malicious software–that will give them access to your
passwords and bank information as well as giving them control over your computer.
Criminals use social engineering tactics because it is usually easier to exploit your natural inclination
to trust than it is to discover ways to hack your software. For example, it is much easier to fool
someone into giving you their password than it is for you to try hacking their password (unless the
password is really weak).
Security is all about knowing who and what to trust. It is important to know when and when not to
take a person at their word and when the person you are communicating with is who they say they
are. The same is true of online interactions and website usage: when do you trust that the website you
are using is legitimate or is safe to provide your information?
Ask any security professional and they will tell you that the weakest link in the security chain is the
human who accepts a person or scenario at face value. It doesn’t matter how many locks and deadbolts
are on your doors and windows, or if have guard dogs, alarm systems, floodlights, fences with barbed
wire, and armed security personnel; if you trust the person at the gate who says he is the pizza delivery
guy and you let him in without first checking to see if he is legitimate you are completely exposed to
whatever risk he represents.
Example: Email from a friend
If a criminal manages to hack or socially engineer one person’s email password they have access to
that person’s contact list–and because most people use one password everywhere, they probably have
access to that person’s social networking contacts as well.
Once the criminal has that email account under their control, they send emails to all the person’s
contacts or leave messages on all their friend’s social pages, and possibly on the pages of the person’s
friend’s friends.
Taking advantage of your trust and curiosity, these messages will:
• Contain a link that you just have to check out–and because the link comes from a friend and
you’re curious, you’ll trust the link and click–and be infected with malware so the criminal
can take over your machine and collect your contacts info and deceive them just like you were
deceived
• Contain a download of pictures, music, movie, document, etc., that has malicious software
embedded. If you download–which you are likely to do since you think it is from your friend–
99
<https://www.webroot.com/in/en/resources/tips-articles/what-is-social-engineering> accessed17 July 2022
Page 199 of 240
4. Attachments - If you see an attachment in an email you weren't expecting or that doesn't make
sense, don't open it! They often contain payloads like ransomware or other viruses. The only file
type that is always safe to click on is a .txt file.
5. Unusual Sender - Whether it looks like it's from someone you don't know or someone you do
know, if anything seems out of the ordinary, unexpected, out of character or just suspicious in
general don't click on it!100
100
Phishing<https://www.phishing.org/what-is-phishing> accessed 17 July 2022
Page 200 of 240
Unit IX
Introduction to Cyber Space and Cyber Law
9.1 Cyber Space
William Gibson first used the phrase 'cyber space,' which he later defined as "an evocative and
essentially meaningless" buzzword that could act as a code for all of his thoughts of cybernetic
(transforming a text to hide its meaning). Now it's used to explain anything related to computers, IT,
the internet and the complex culture of the internet. Also referred to as 'Cyber Space' is the cyber
environment in which all information technology Driven contact and actions take place. Cyberspace
cannot be placed spatially. It's made of intangible objects like the website, forum, social networks,
personal information, reputation and email addresses. Cyber space can be called an online global
community with quick connectivity and no territorial barriers.Cyber space is the interactive system
of computer networks where online communication takes place between the people and where people
can communicate, exchange ideas, transfer knowledge, provide social support, perform business,
create artistic media, direct actions, participate in political dialogue, etc. Cyberspace, the modern
frontier, is mankind's shared heritage, but sadly certain people exploit the common heritage and thus
cyberspace is indeed a new frontier with various forms of crime. Now it's used to explain anything
related to computers, IT, the internet and the complex culture of the internet.The people participating
in cyberspace are recognized as Netizens by the fusion of two terms 'Net' and 'citizen.' Whereas
Netizens implies any person affiliated with the use of Internet, computers, IT Webster's Dictionary
explain the Cyberspace, it is the electronic structure of computer, bulletin board, interlinked networks
that is considered to be a boundless world providing access to information, digital networking, and a
type of virtual reality in science fiction. Cyberspace means that “the notional environment in which
electronic communication occurs or virtual reality” F. Randall Farmer and Chip Morningstar defined
cyberspace, by the involving social interactions than by its implementation of technology.101
101
Harsh Gopalia*, Arvind Rathore,,”Journal of Advances and Scholarly Researches in Allied Education |
Multidisciplinary Academic Research”<http://ignited.in/I/a/305051> accessed 17 July 2022
Page 201 of 240
9.2 Difference Between Cyberspace and Physical World
CYBERSPACE PHYSICAL WORLD
Cyberspace is dynamic and undefined structure, it Physical world is static and well defined structure.
can be changed any time. It cannot be changed.
It has an execution time. It has a physical time
It has no fix shape so it can be as vast as human Physical world has fixed boundaries
imagination.
It is based on program execution. It is based on laws of physics
102
David Clark,”Characterizing cyberspace: past, present and future
“<https://ecir.mit.edu/sites/default/files/documents/%5BClark%5D%20Characterizing%20Cyberspace-
%20Past%2C%20Present%20and%20Future.pdf> accessed 17 July 2022
103
<https://research.chalmers.se/publication/516761/file/516761_Fulltext.pdf> accessed 17b July 2022
Page 207 of 240
Intellectual property is refers to creations of the human mind e.g. a story, a song, a painting, a design
etc. The facets of intellectual property that relate to cyber space are covered by cyber law.
These include:
• copyright law in relation to computer software, computer source code, websites, cell phone
content etc,
• software and source code licences
• trademark law with relation to domain names, meta tags,
• mirroring, framing, linking etc
• semiconductor law which relates to the protection of semiconductor integrated circuits design
and layouts,
• patent law in relation to computer hardware and software. These issues are discussed in detail
in the ASCL publication titled “IPR & Cyberspace - the Indian Perspective”.
Data protection and privacy laws aim to achieve a fair balance between the privacy rights of the
individual and the interests of data controllers such as banks, hospitals, email service providers etc.
These laws seek to address the challenges to privacy caused by collecting, storing and transmitting
data using new technologies.
9.6 UNCITRAL Model Law
UNCITRAL Model Law on Electronic Commerce (1996) with additional article 5 bis as
adopted in 1998
Date of adoption: 12 June 1996 (additional article 5 bis adopted in 1998)
Purpose
The Model Law on Electronic Commerce (MLEC) purports to enable and facilitate commerce
conducted using electronic means by providing national legislators with a set of internationally
acceptable rules aimed at removing legal obstacles and increasing legal predictability for electronic
commerce. In particular, it is intended to overcome obstacles arising from statutory provisions that
may not be varied contractually by providing equal treatment to paper-based and electronic
information. Such equal treatment is essential for enabling the use of paperless communication, thus
fostering efficiency in international trade.
Why is it relevant?
The MLEC was the first legislative text to adopt the fundamental principles of non-discrimination,
technological neutrality and functional equivalence that are widely regarded as the founding elements
of modern electronic commerce law. The principle of non-discrimination ensures that a document
would not be denied legal effect, validity or enforceability solely on the grounds that it is in electronic
form. The principle of technological neutrality mandates the adoption of provisions that are neutral
104
<http://osou.ac.in/eresources/introduction-to-indian-cyber-law.pdf> accessed 22 July 2022
Page 214 of 240
data until the user finds out about it. Phishing attacks remain one of the major challenges of Cyber
Security in India, as the demographic here isn’t well-versed with handling confidential data.
5. BLOCKCHAIN AND CRYPTOCURRENCY ATTACKS
While blockchain and cryptocurrency might not mean much to the average internet user, these
technologies are a huge deal for businesses. Thus, attacks on these frameworks pose considerable
challenges in Cyber Security for businesses as it can compromise customer data and business
operations. These technologies have surpassed their infancy stage but have yet not reached an
advanced secure stage. Thus, several attacks have been attacks, such as DDOS, Sybil, and Eclipse, to
name a few. Organizations need to be aware of the security challenges that accompany these
technologies and ensure that no gap is left open for intruders to invade and exploit.
6. SOFTWARE VULNERABILITIES
Even the most advanced software has some vulnerabilities that might pose significant challenges to
Cyber Security in 2020, given that the adoption of digital devices now is more than ever before.
Individuals and enterprises don’t usually update the software on these devices as they find it
unnecessary. However, updating your device’s software with the latest version should be a top
priority. An older software version might contain patches for security vulnerabilities that are fixed by
the developers in the newer version. Attacks on unpatched software versions are one of the major
challenges of Cyber Security. These attacks are usually carried out on a large number of individuals,
like the Windows zero-day attacks.
7. MACHINE LEARNING AND AI ATTACKS
While Machine Learning and Artificial Intelligence technologies have proven highly beneficial for
massive development in various sectors, it has its vulnerabilities as well. These technologies can be
exploited by unlawful individuals to carry out cyberattacks and pose threats to businesses. These
technologies can be used to identify high-value targets among a large dataset. Machine Learning and
AI attacks are another big concern in India. A sophisticated attack might prove to be too difficult to
handle due to the lack of Cyber Security expertise in our country.
8. BYOD POLICIES
Most organizations have a Bring-Your-Own-Device policy for their employees. Having such systems
poses multiple challenges in Cyber Security. Firstly, if the device is running an outdated or pirated
version of the software, it is already an excellent medium for hackers to access. Since the method is
being used for personal and professional reasons, hackers can easily access confidential business data.
Secondly, these devices make it easier to access your private network if their security is compromised.
Thus, organizations should let go of BYOD policies and provide secure devices to the employees, as
such systems possess enormous challenges of Computer Security and network compromise.
105
<https://www.wired.com/2016/02/its-been-20-years-since-this-man-declared-cyberspace-independence/> accessed
17 July 2022
Page 217 of 240
The Council of Europe came out with a Convention on Cyber crime (2001) and its additional Protocol
concerning the acts of a racist and xenophobic nature committed through computer systems (2003).
The Convention aims principally at: (1) harmonising the domestic criminal substantive law elements
of offences and connected provisions in the area of cyber-crime (2) providing for domestic criminal
procedural law powers necessary for the investigation and prosecution of such offences as well as
other offences committed by means of a computer system or evidence in relation to which is in
electronic form and (3) setting up a fast and effective regime of international co-operation.
The Convention contains four chapters: (I) Use of terms; (II) Measures to be taken at domestic level
– substantive law and procedural law; (III) International co-operation; (IV) Final clauses
9.13 World Trade Organisation
The growing importance of electronic commerce in global trade led World Trade Organization
(WTO) members to adopt a declaration on global electronic commerce on 20 May 1998 at their
Second Ministerial Conference in Geneva, Switzerland. The Declaration directed the WTO General
Council to establish a comprehensive work programme to examine all trade-related issues arising
from electronic commerce, and to present a progress report to the WTO’s Third Ministerial
Conference.
The 1998 declaration also included a so-called moratorium stating that “members will continue their
current practice of not imposing customs duties on electronic transmission”.
The work programme was adopted by the WTO General Council on 25 September 1998. It continued
after the Third Ministerial Conference in Seattle in November 1999.
At the Fourth Ministerial Conference in Doha in 2001, ministers agreed to 50 continue the work
programme as well as to extend the moratorium on customs
duties. They instructed the General Council, in paragraph 34 of the Doha Declaration, to report on
further progress to the Fifth Ministerial conference at Cancún, in 2003.
Under the work programme, issues related to electronic commerce have been examined by the
Council for Trade in Services, the Council for Trade in Goods, the Council for TRIPS and the
Committee on Trade and Development. During the course of the work programme a number of
background notes on the issues have been produced by the WTO Secretariat and many member
governments have submitted documents outlining their own thoughts.
After the Doha Ministerial Declaration, the General Council agreed to hold “dedicated” discussions
on cross-cutting issues, i.e. issues whose potential relevance may “cut across” different agreements
of the multilateral system. So far, there have been five discussions dedicated to electronic commerce,
held under the General Council’s auspices.
The issues discussed included: classification of the content of certain electronic transmissions;
development-related issues; fiscal implications of e-commerce; relationship (and possible
Page 218 of 240
substitution effects) between e-commerce and traditional forms of commerce; imposition of customs
duties on electronic transmissions; competition; jurisdiction and applicable law/other legal issues.106
9.14 World Intellectual Property Organisation
WIPO, the Geneva based World Intellectual Property Organization has a world- wide coverage
with179 member states. The purpose of WIPO is to “to promote the protection of intellectual property
throughout the world through cooperation among states”. (Art. 3 WIPO Convention). WIPO is the
forum for international IP policy making, development and administration of the 23 international
treaties of which it is the custodian.
Migration of intellectual property to the digital world, IP being ideally suited to digitization, is the
order of the day. IP on the net is vulnerable because infinite number of perfect copies can be made
and easily distributed through digital networks worldwide. There is therefore understandably a need
to protect internet content including information, music, software, films, business methods, databases,
etc.
Among the IP Issues on the Internet, the problem of the abusive registration of trademarks as domain
names known in other words as cyber squatting is one of the areas that the WIPO addresses. The
WIPO works through Uniform Domain Name Dispute Resolution Policy adopted by ICANN, and
provides the services of a Domain name registrar. It also provides for alternative dispute resolution
services through its Arbitration and Mediation center.
Significant issues in the field of copyright have been examined for a number of years through various
public and private processes, at WIPO and other international organizations, and at national and
regional levels. Significant progress has been made, with international consensus having already
emerged on some of these issues. In 1996, two treaties were adopted by consensus by more than 100
countries at WIPO: the WIPO Copyright Treaty (WCT) and the WIPO Performances and Phonograms
Treaty (WPPT) (commonly referred to as the “Internet Treaties”). The treaties, each having reached
their 30th ratification or accession, both have entered into force: the WCT on March 6, 2002, and the
WPPT on May 20, 2002.
The WIPO Internet Treaties are designed to update and supplement the existing international treaties
on copyright and related rights, namely, the Berne Convention and the Rome Convention. They
respond to the challenges posed by the digital technologies and, in particular, the dissemination of
protected material over the global networks that make up the Internet. The contents of the Internet
Treaties can be divided into three parts: (1) incorporation of certain provisions of the TRIPS
Agreement not previously included explicitly in WIPO treaties (e.g. protection of computer programs
Other groups, such as Anonymous, and whistleblowers such as Edward Snowden, challenge apparent
cyberspace illegality with sometimes questionable methods of their own. Anonymous attacked sites
related to child pornography in 2011 (Operation Darknet) and Edward Snowden’s disclosures
revealed questionable practices by the US National Security Agency.
The next section of this chapter will briefly review some of the more important published works on
the social regulation of digital technology. We will then discuss, in order, state, private and hybrid
regulatory orderings. The chapter will conclude with some observations on regulatory orderings in
cyberspace, through the lens of regulatory pluralism.
2. Literature on the regulation of cyberspace
Current literature on the regulation of cyberspace is no longer focused on whether cyberspace can be
regulated. Instead, discussion focuses on how cyberspace is regulated and who are the regulators. It
is generally conceded that the state cannot adequately control cyberspace via laws and regulations.
Even when laws and regulations are kept up to date with developments in technology, the functions
and effectiveness of laws and regulations will be limited; the transnational dimensions of much cyber
illegality and the architectures of digital technology all but guarantee this (Grabosky et al. 2001;
Katyal 2003). Other regulatory methods such as code and system design, self-regulation by the private
sector and co-regulation via public and private cooperation have been proposed as alternatives with
which to govern cyberspace.
Lessig (2006) argued that cyberspace is substantially regulated by code— computer programming
and system architecture. In this book, Code: Version 2.0, he notes that the internet is built on simple
protocols based on the Transmission Control Protocol and Internet Protocol (TCP/ IP) suite.
Cyberspace is simply a product of architecture, not of ‘God’s will’. Lessig argued that the internet is
the most regulable space that we know, since, through its architecture, it can reveal who someone is,
where they are and what they are doing. When the machine is connected to the internet, all interactions
can be monitored and identified. Thus, anonymous speech is extremely difficult to achieve.
Lessig (2006) described the code embedded in the software or hardware as ‘West Coast Code’, as it
is usually ‘enacted ’by code writers on the West Coast of the United States such as in Silicon Valley
and Redmond, Washington, the headquarters of Microsoft. It is different from the ‘East Coast
Code’—the laws enacted by the US Congress in Washington, DC, complemented by state legislation.
Although each code can work well alone, Lessig pointed out that the power of East Coast Code over
West Coast Code has increased, especially when the West Coast Code becomes commercial. A classic
example was seen in 1994 when the US Government enacted the Communications Assistance for
Law Enforcement Act (CALEA). Under this Act, telephone companies are required to create a
network architecture that serves well the interests of government, making wire-tapping and data
retrieval easier.
10.2 Internet Governance
Internet governance is the development and application by Governments, the private sector and civil
society, in their respective roles, of shared principles, norms, rules, decision-making procedures, and
programmes that shape the evolution and use of the Internet.
The definition was made by the Working Group on Internet Governance (WGIG) in 2003. During the
first phase of the World Summit on the Information Society (WSIS) the UN Secretary General
commissioned the multi-stakeholder working group, WGIG, to identify and define the public policy
issues that are relevant to Internet governance. The WGIG report proposed recommendations on the
process to follow on Internet governance policies including the creation of an Internet Governance
Forum (IGF).
E-Governance107
It provides quality services in several ways. Those ways are also called as types of e-
governance. These are mentioned below-
1. G2C (Government to Citizen)
2. G2G (Government to Government)
3. G2B (Government to Business)
4. G2E (Government to Employee)
107
<https://schoolofpoliticalscience.com/what-is-e-governance/> accessed 21 Jully 2022
Page 226 of 240
1. G2C (Government to Citizen)
As people are the key concept of politics and government as well as governance, the government is
compelled to connect with citizens through the transparent and accountable order. In this connection
the government is responsible for promoting the social opportunities and public services in the field
of-
• Transportation (Registration of motor vehicles, Issue of driving licenses, Issue of plying
permissions, Tax and fee collection through cash and bank challans and control of pollution
etc.),
• hospitals (linking of various hospitals in different parts of the country to ensures better
medical services to citizens),
• education (availability of the e-learning modules to the citizens, right to education),
• online job portal and various customer services.
It also ensures services such as issue of certificates, job cards, passport, ration cards, payments of
bills and filing the taxes from the door step through e-governance platform. The main objectives of
the G2C services are to ensure equitable distribution of information for all, acceptance of citizen’s
feedback, and improving welfare services.
2. G2G (Government to Government)
G2G has been referring to raising the quality of the government process by cost cutting, managing
performance, and making strategic connections within government.
It enables government institutions to be more efficient and more effective by the use of IT tools such
as-
• Live fingerprints scanning and verification,
• Electronic entry of reports and paperwork etc.
The major key areas in this type of e-governance are
• E-Secretariat (all the valuable information regarding the function of the government are
interlinking throughout the various departments),
• E-Police (police personnel records, criminal records etc), and
• E-Court (creating a database of all the previous cases, pending and ongoing cases) and
Statewide Networks (Kumar: 2011).
3. G2B (Government to Business)
G2B is mainly concerned with these things-
• E-taxation,
• Getting a license from the government etc.
• Secure Electronics Transactions.
108
<https://schoolofpoliticalscience.com/what-is-e-governance/> accessed 17 July 2022
Page 228 of 240
First, social media platforms have to abide by new rules that place accountability to manage their
platforms. Rules also distinguish between large platforms which are termed as ‘significant social
media intermediaries ’and smaller platforms called ‘social media intermediaries’. New provisions, for
instance, require users to be given adequate notice before removing content. One big change pertains
to identification or traceability. The government now requires messages or content sent through
various social media and instant messaging platforms to be identifiable or tied to a user, which will
affect how encrypted those services will be in India. Entities like WhatsApp that offer end-to-end
encryption might have to change how it operates. Citizens fearing the loss of privacy might refrain
from using such mediums leading to self-censorship among users. Compromising security vis-à-vis
communications could result in litigation now that India has a constitutional right to privacy.
Undoubtedly, traceability requirements undermine privacy and the need to have private
conversations. Going ahead, social media firms will also be expected to regularly work with the
government to monitor content. They will have to provide information within 72 hours upon receipt
of a government order, appoint compliance architecture and officers to coordinate with law
enforcement and provide compliance reports based on platform activities. These new rules require
platforms to preserve user data for six months, providing the government another opportunity to
gather and store data.
Second, on digital media, new rules set up a three tier self-regulatory structure. The first layer focuses
on self-regulation, developed by the media entity itself or ‘in-house’. The new rules require companies
to address grievances with their content in a time-bound fashion. The second layer will be a body
headed by a retired Supreme Court or High Court judge or an independent eminent person. The third
and top most tier of the structure will consist of an inter-departmental committee appointed by the
central government. Penalties have been added for platforms and firms that fail to comply, resulting
in prosecution under the IT Act. Unquestionably, digital and streaming platforms will face additional
regulatory burdens that require compliance. Relying on bureaucrats to vet, approve and police content
will only increase the discretionary powers of the government when it comes to censoring what and
how these digital media outlets operate. Again, this move is being done without parliamentary
backing or a new legislation. Opacity reigns. Yet, big technology firms might have no choice but to
abide, given India’s booming young internet market marked by millions of young citizens rapidly
coming online.
Alarmingly, these new guidelines and rules are being implemented without a data protection law and
framework, a cyber environment littered with various threats and risks and no surveillance oversight.
Moreover, while new rules emphasise grievance redress, privacy and harm prevention, they could
Page 229 of 240
open avenues to stifle or inhibit speech online. More fundamentally, what protection do citizens have
to ensure that the government is held accountable while regulating speech on various online platforms
and messaging services? What obligation does the government have and, importantly, restrictions
when managing these digital platforms? Questions also exist around the constitutionality of these new
rules, especially the expansion of the IT Act to include news media and video streaming platforms
through executive fiat. All these questions merit answers. Until then, internet oversight in India has
arrived through greater political control of the mediums where citizens interact and communicate109.
10.5 Protecting Information Infrastructure
The recent increase in the frequency and impact of cyber-attacks have kept Critical Infrastructure
companies on their toes, fearing the worst for their organizations if an attack occurs on their critical
infrastructure. A recent news article published by the New York Times states that cyber attacks are
on the rise against corporations in the United States, with a particular focus on Energy companies.
Reports of an attack similar to the Shamoon – Saudi Aramco attack are expected but the impact of
such an attack in the United States would be of a magnitude much greater than Shamoon. These
threats have made governments across the world wake up and take notice of Critical Infrastructure
Protection as one of their highest priorities.
Why is Infrastructure Critical?
An infrastructure becomes critical when a disruption to this infrastructure results in irreversible and
enormous loss (e.g. loss of life, environment etc.). The growing threat of international terrorism led
policy makers to reconsider the definition of “infrastructure” in the context of specific non-functional
requirements (NFR) of the business. These NFRs included Security, Performance, Availability,
Integrity and Confidentiality (SPAIC). Each business has its own definition of SPAIC based on the
regulatory requirements and country specific policies.
Critical Infrastructure is always associated with regulatory requirements and key resources who are
directly handling the critical infrastructure. As such, any intentional or unintentional disruption to
these will have a significant impact on the environment and life.
The following areas are considered to be a part of Critical Infrastructure:
• Agriculture
• Food
• Utilities - Drinking water and sewage management system
• Government
109
Kathy Nacchiapan<https://www.isas.nus.edu.sg/papers/indias-new-internet-governance-framework/> accessed 17
July 2022
Page 230 of 240
• Defense
• Oil and Gas infrastructure
• Nuclear Power Plants and the facilities that produce, use, store, and dispose off nuclear material
• Energy - production, transmission, and distribution services and critical facilities
• Special events of national significance
• Healthcare - drug discovery and development, patient information
• Banking and Finance
• Process industries
• Transportation - including railways, highways, shipping ports and airports & civilian aircrafts
• Livestock, agriculture, and systems for the provision of water
• Communication links
• Public and privately owned information systems with critical business data (e.g., information about
oil reserves, information within Stock Exchanges, information about nuclear programs, drug
research data, privacy information, financial data etc.)
There is an impending need for countries to develop a national critical infrastructure strategy which
will provide a comprehensive and collaborative approach to enhance the resiliency of critical
infrastructure. This common approach will enable partners to respond collectively to risks and target
resources to the most vulnerable areas of critical infrastructure.
Guidelines to Defining a Successful Critical Infrastructure Protection (CIP) Strategy
Industry leaders suggest that the government and the private sector should collaborate to protect a
nation’s critical infrastructure. This collaboration calls for the development of trusted partnerships to
build regulatory requirements, governance processes, and resilience options jointly based on the
existing mandates and responsibilities. The strategy should outline mechanisms to:
• Create a government owned CIP Forum to share information about potential threats and disruptions
through a highly confidential government owned body. Discussions in this forum should:
110
<https://www.wipro.com/cybersecurity/resilience-against-cyber-attacks1/> accessed 17 July 2022
Page 233 of 240
ICANN also has a policy-making function, in that it defines policies for how the ‘names and
numbers’ of the Internet should run. The work moves forward in a style described as the ‘bottom-up,
consensus-driven, multistakeholder model’, through the various supporting organisations and
advisory committee that are part of ICANN’s structure.111
10.7 Role of ICANN and Management of Domain Name System
Internet Assigned Numbers Authority (IANA) is a non-profit organization responsible for
coordinating the activities for the smooth functioning of the Internet. Since the internet is a global
network, IANA undertakes the responsibility to allocate and maintain unique codes and numbering
systems that are used in Internet protocols. IANA liaisons with Internet Engineering Task Force
(IETF) and Request for Comments (RFC) teams for working on Internet-connected systems. It is
responsible for maintaining a collection of registries for coordination of IP addressing and Domain
Name Service (DNS) root zones. IANA performs the three main functions:
Domain Name Services
DNS is a hierarchical database that links domain names with IP addresses. IANA administers the top-
level hierarchy, the DNS root zone, for efficient transfer of data between computers. It operates '.int'
top-level domain for international organizations and '.arpa' zone for Internal Protocols and root
servers.
Number Resources
It coordinates the Internet Protocol addressing systems (IP), commonly known as IP Addresses, which
are used for routing internet traffic. Another function is to allocate the Autonomous System (AS)
numbers to Regional Internet Registries according to their needs and document the protocol
assignments made by the IETF.
Protocol Assignments
The Protocol management function involves maintaining the codes and numbers used in Internet
protocols. These services are done in collaboration with IETF.
Since 1997, this role has been performed by Internet Corporation for Assigned Names and Numbers
(ICANN).
Role of ICANN
Internet Corporation for Assigned Names and Numbers (ICANN) is an internationally organized
non-profit corporation whose major role is to keep the Internet stable, secure and interoperable. It
includes participants from different parts of the world who designs policies on the Internet's unique
111
<https://dig.watch/actors/internet-corporation-assigned-names-and-numbers> accessed 17 July 2022
Page 234 of 240
identifiers and its naming system. As a public-private partnership, ICANN now performs IANA
functions under a contract from the United States' Department of Commerce.
Major activities performed by ICANN are:
• To preserve the operational stability of the Internet.
• To promote competition and develop policies for Internet's unique identifier and naming.
• To achieve greater participation from global internet communities.
• To develop policies and procedures and follow a consensus-driven approach.
• To contract with registries and registrars (companies that sell domain names) for improving
domain name system.
10.8 World Summits of the Information Society
The UN General Assembly (21 December 2001) endorsed the holding of the World Summit on the
Information Society (WSIS) in two phases. The first phase took place in Geneva from 10 to 12
December 2003 and the second phase took place in Tunis, from 16 to 18 November 2005. Outcomes
were reviewed by Member States at UN Headquarters in New York at the WSIS tenth anniversary
(WSIS+10). The forthcoming review process, WSIS+20, will be held in 2025.
New York WSIS+10 Outcome Document: 15-16 December 2015
UNESCO themes and approaches figure prominently in the WSIS+10 High-Level Review outcome
document adopted on 16 December 2015 at the United Nations General Assembly.
The outcome document recognizes that “the same rights that people have offline must also be
protected online”; “call[s] on States to take all appropriate measures necessary to ensure the right to
freedom of opinion”; affirms the “commitment to bridging digital and knowledge divides”; and the
ambition“ to move beyond ‘information societies ’to ‘knowledge societies’, in which information is
not only created and disseminated, but put to the benefit of human development.” Many other
UNESCO facilitated themes are also addressed, including: the protection of journalists; ICT and
education; cultural diversity; sciences; access to information and knowledge; people with disabilities;
multilingualism; indigenous peoples; local content; media and information literacy; capacity
building; and ethics.
Tunis Phase: 16-18 November 2005
The objective of the second phase was to put Geneva's Plan of Action into motion as well as to find
solutions and reach agreements in the fields of Internet governance, financing mechanisms, and
follow-up and implementation of the Geneva and Tunis documents.
Nearly 50 Heads of state/government and Vice-Presidents and 197 Ministers, Vice Ministers and
Deputy Ministers from 174 countries as well as high-level representatives from international
organizations, private sector, and civil society attended the Tunis Phase of WSIS and gave political
112
Internet Sovereignty <https://www.vyprvpn.com/blog/internet-sovereignty> accessed 21 July 2022
Page 239 of 240
Reading List
Essential Readings
1. D Kim, M G Solomon, Fundamentals of Information Security (3rd edn, Jones & Bartlett
Learning 2018).
2. Vakul Sharma, Information Technology Law and Practice – Cyber Laws and Laws Relating
to E-Commerce (7th edn, Lexis Nexis 2021).
Recommended Readings
1. B Forouzan, Data Communication and Networking, (4th edn, Tata McGraw-Hill 2006).
2. William Stallings, Computer Networking with Internet Protocols and Technology (7th edn,
Pearson Education 2012).
3. Andrew S Tanenbaum, Computer Networks (4th edn, Pearson Education 2009).
4. Janine Kremling and Amanda M Sharp Parker, Cyberspace, Cybersecurity, and Cybercrime
(1st edn, SAGE Publications 2017).