0% found this document useful (0 votes)
43 views180 pages

Fcs All Notes - Merged

Uploaded by

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

Fcs All Notes - Merged

Uploaded by

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

Reference book used :

1.Computer and Organization: Subrata Ghosal


2. Computer Fundamentals- Anita Goel
Unit -1
Computer Organisation
● 1.1 Personal Computer, Workstation, Server, Mainframe, Supercomputer, Embedded System
● 1.2 Basic building blocks – CPU, interconnection Bus, Input-Output
● 1.3 Internal architecture of processor – Register, ALU, Control Unit, Program Counter, Stack
Pointer
● 1.4 Inter connection Bus structure – Data Bus, Address Bus, Control Bus
● 1.5 Processor Operations – Instruction cycle, Instruction fetch, Instruction decode, instruction
execute, Program flow control, Processor clock, Machine cycle and State, interrupts and
interrupt service routine

● Types of computer
● A computer is an electronic device wherein we need to input raw data to be processed with a set of
programs to produce a desirable output.
● Computers have the ability to store, process and manipulate data.

Prepared by: Prof. Meghavi Dave


● The term “computer” is derived from the Latin word compute. Which means to calculate.
● Computers can be categorized in two ways. Computers can either be differentiated based on their data
handling capabilities or based on their sizes. If we take data handling capabilities then there are three types
of computers.
● On the basis of data handling capabilities, the computer is of three types:
1. Analog computers
2. Digital computers
3. Hybrid computers

● Analog computers
● Analogue computers are designed to process analogue data. Analogue data is continuous data that
changes continuously and cannot have discrete values. We can say that analogue computers are used
where we don't need exact values such as speed, temperature, pressure and current.
● Analogue computers directly accept the data from the measuring device without first converting it into
numbers and codes. They measure the continuous changes in physical quantity and generally render output
as a reading on a dial or scale. Speedometer (Used for measuring speed.) and mercury thermometer (used
to determine the temperature of body, liquid, and vapor)are examples of analog computers.

Prepared by: Prof. Meghavi Dave


● Digital Computer
● These computers are designed in such a way that they can easily perform calculations and logical
operations at high speed. Such a type of computer takes up raw data as input and processes it with
programs stored in its memory to produce the final output. A Digital computer only understands the
binary input 0 and 1, so the raw input data is converted to 0 and 1 by the computer and further processed

Prepared by: Prof. Meghavi Dave


by the computer to give the result or final output. Present-day modern electronic gadgets such as laptops,
and desktops including smartphones are digital computers.

● Hybrid computer
● hybrid, which means made by combining two different things. Similarly, the hybrid computer is a
combination of both analog and digital computers. Hybrid computers are fast like analog computers and
have memory and accuracy like digital computers. So, it has the ability to process both continuous and
discrete data. For working when it accepts analog signals as input then it converts them into digital

Prepared by: Prof. Meghavi Dave


form before processing the input data. So, it is widely used in specialized applications where both analog
and digital data are required to be processed. A processor which is used in petrol pumps that converts the
measurements of fuel flow into quantity and price is an example of a hybrid computer.

Prepared by: Prof. Meghavi Dave


● Supercomputer

● Supercomputers are the fastest and the most expensive machines. They have high processing speed
compared to other computers. The speed of the supercomputer is generally measured in FLOPS
(Floating point operations per second).
● Some of the faster supercomputers can perform trillions of calculations per second.supercomputer are
built by interconnecting thousands of processors that can work in parallel.
● The first supercomputer was developed by Seymour Cray in 1976.
● Supercomputers are used for highly calculation-intensive tasks such as weather forecasting,climate
research (global warming),molecular research, biological research, nuclear research and aircraft
design. They are also used in major universities, military agencies and scientific research laboratories.
● Some examples of supercomputers are IBM Roadrunner,Frontier and Intel ASCI red.
● PARAM is a series of supercomputers assembled in India by C-DAC (Center of Development of Advanced
Computing), in pune.
● Examples of the Indian supercomputers are AIRAWAT , PARAM-Siddhi AI,Pratyush.

Prepared by: Prof. Meghavi Dave


● Mainframe Computer
● Mainframe computers are designed to support hundreds or thousands of users simultaneously. They can
support multiple programs at the same time. It means they can execute different processes simultaneously.
These features of mainframe computers make them ideal for big organizations like banking and
telecom sectors, which need to manage and process a high volume of data that requires integer operations
such as indexing, comparisons, etc.
● Some examples of mainframe computers are CDC6600 and IBM ES000 series.
● Characteristics of Mainframe Computers:
● It can process huge amounts of data, e.g. millions of transactions in a second in the banking sector.

● It has a very long life. It can run smoothly for up to 50 years after proper installation.

Prepared by: Prof. Meghavi Dave


● It gives excellent performance with large scale memory management.

● It has the ability to share or distribute its workload among other processors and input/output terminals.

● There are fewer chances of error or bugs during processing in mainframe computers. If any error occurs it
can fix it quickly without affecting the performance.

● It has the ability to protect the stored data and other ongoing exchange of information and data.

● Personal Computer
● Desktop ,laptop,palmtop and all other tops belong to this category.essentially they are capable of executing
user’s software as they are equipped with some type of operating system.inside these PCs,we would be able
to locate some microprocessor which are more powerful and interfaced with larger size of memory than the

Prepared by: Prof. Meghavi Dave


previously described embedded system. Price-wise also they are more expensive than the embedded system
and consume more electrical power to function.
● Personal computers are characterized by their ability for extensive user-interaction which is not offered by
other large computer e.g servers,mainframe or supercomputers.This user-interaction is not limited to
interactive video game but also extended to program development,spreadsheet,graphical editing and also
word processing. However, essentially these PCs are single user systems.

● Work Stations
● Workstation is a single user computer that is designed for technical or scientific applications. It has a
faster microprocessor, a large amount of RAM and high speed graphic adapters. It generally performs a

Prepared by: Prof. Meghavi Dave


specific job with great expertise accordingly, they are of different types such as graphics workstation,
music workstation and engineering design workstation.
● Characteristics of workstation computer:
● It is a high-performance computer system designed for a single user for business or professional use.

● It has larger storage capacity, better graphics, and a more powerful CPU than a personal computer.

● It can handle animation, data analysis, CAD, audio and video creation and editing.

Prepared by: Prof. Meghavi Dave


● Servers
● These are hardware components or software programs that are built to assist other computers termed
as clients. Together this architecture is called the client-server model. The client sends a request to the
server and the server responds in return with a result or a solution. This proves that these server
computers are more powerful than standard computers. The main purpose of these computers is to
share data and resources with other computers.
● Different types of servers are useful for different needs and applications. For example, cloud server,
application server, database server, file server, etc. Each of these servers has a different purpose for
different client needs.

● Embedded System
● Starting without mobile handsets, these embedded systems. We can locate almost every corner around us,
for example ipods,automatic weighing machines, digital cameras, robots and so on. They are
essentially controlled by some type of microcontrollers which are already indicated before,single-chip
computers and contain all necessary hardware and software to run the system for which it is
programmed.
● These tiny computers are generally not capable of executing any user program,which our PCs can.
However they are capable of running the system designated around them.in most of the cases, they are

Prepared by: Prof. Meghavi Dave


battery or solar cell operated, consuming extremely less power. Their memory size and speed of executing
are also at lower levels. Yet, they are essentially computers as they can compute electronically.

Prepared by: Prof. Meghavi Dave


● Basic building blocks

● CPU(Central processing Unit)

● Central processing unit is also called the brain of the computer.CPU consists of an arithmetic logic
unit(ALU) and Control unit (CU). In addition,the CPU also has a set of registers which are temporary
storage areas for holding data and instructions.
● ALU performs the arithmetic and logic operations on the data that is made available to it.CU is
responsible for organizing the processing of data and instructions.CU controls and coordinates the
activity of the other units of the computer.
● The CPU uses the registers to store the data,instructions during processing.
● CPU executes the stored program instructions, i.e instruction and data are stored in memory before
execution. For processing the CPU get data and instructions from the memory.it interprets the program
instructions and performs the arithmetic and logic operations required for the processing of data. Then it
sends the processed data or result to the memory.CPU also acts as an administrator and is responsible for
supervising operations of other parts of the computer.
● The CPU is fabricated as a single integrated circuit (IC) chip, and is also known as the microprocessor.the
microprocessor is plugged into the motherboard of the computer.

Prepared by: Prof. Meghavi Dave


● Interconnection Bus

● CPU sends data, instructions and information to the components inside the computer as well as to the
peripheral devices attached to it.Bus is a set of electronic signal pathways that allows information
and signal to travel between components inside or outside of a computer. The different
components of a computer i.e CPU,I/O unit and memory unit are connected with each other by a bus.

Prepared by: Prof. Meghavi Dave


The data instructions and the signals are carried between the different components via a bus.the
features and functionality of a bus are as follows
1. A bus is a set of wires used for interconnection where each wire can carry one bit of
data.
2. A bus width is defined by the number of wires in the bus.
3. A computer bus can be divided into two types - internal bus and external bus.
4. The internal bus connects components inside the motherboard like CPU and system
memory. It is also called the system bus.interaction between processor and memory.
5. The external bus connects the different external devices,peripherals,expansion slots,I/O
port and drive connection to the rest of the computer. The external bus allows various
devices to be attached to the computer. It allows for the expansion of computer’s
capabilities. It is generally slower than the system bus.it is also referred to as the
expansion bus.

Prepared by: Prof. Meghavi Dave


● Input/Output

● The user interacts with the computer via the I/O unit.The input unit accepts data from the user and
the output unit provides the processed data i.e.the information to the user. The input unit converts
the data that it accepts from the user, into a form that is understandable by the computer. Similarly the
output unit provides the output in a form that is understandable by the user. The input is provided to
the computer using input devices like keyboard,trackball and mouse. Some of the commonly used
output devices are monitor and printer.

Prepared by: Prof. Meghavi Dave


● Internal architecture of processor– Register, ALU, Control Unit, Program Counter,
Stack Pointer
● Register

● Registers are high-speed storage areas within the CPU but have the least storage capacity. Registers
are not referenced by their address, but are directly accessed and manipulated by the CPU
during instruction execution.
● Registers store data, instructions,address and intermediate results of processing. Registers are
often referred to as the CPU’s working memory.
● The data and instructions that require processing must be brought in the registers of CPU before they
can be processed. For example, if two numbers are to be added, both numbers are brought in the
registers in CPU.
1. Accumulator(AC) stores the result of arithmetic and logic operations.
2. Instruction Register (IR) contains the current instruction most recently fetched.
3. Program counter(PC) contains the address of the next instruction to be processed.
4. Memory Address Register (MAR) contains the address of the next location in the
memory to be accessed.
5. Memory Buffer Register (MBR) temporarily stores data from memory or the data
to be sent to memory.

Prepared by: Prof. Meghavi Dave


6. Data register(DR) stores the operands and any other data.
● The number of registers and the size of each register in the CPU helps to determine the power and the
speed of a CPU.
● The size of the register, also called word size, indicates the amount of data with which the computer
can work at any given time. The bigger the size the more quickly it can process data.the size of a
register may be 8,16,32 or 64 bits. For example a 32 bit CPU is one in which each register is 32 bits
wide and its CPU can manipulate 32 bits of data at a time.Nowadays PCs have 32-bit or 64 bit
registers.
● 32 bit processor and 64 bit processor are the terms used to refer to the size of the registers.Other
factors remaining the same a 64 bit processor can process the data twice as fast as one with a 32-bit
processor.

● ALU (Arithmetic logic unit)

● ALU consists of two units-arithmetic and logic unit


● The arithmetic performs arithmetic operation on the data that is made available to it. Some of the
arithmetic operations supported by the arithmetic unit are - addition,subtraction,multiplication
and division.

Prepared by: Prof. Meghavi Dave


● The logic unit of ALU is responsible for performing logic operations. Logic unit performs
comparisons of numbers, letters and special characters. Logic operations include testing for greater
than or equal to condition.
● ALU performs arithmetic and logic operations and uses registers to hold the data that is being
processed.

● Control Unit

● The control unit of a computer does not do any actual processing of data. It organizes the processing
of data and instructions.it acts as a supervisor and controls and coordinates the activity of the
other units of the computer.
● CU coordinates the input and output device of a computer.it directs the computer to carry out stored
program instruction by communicating with ALU and the register. CU uses the instructions in the
instruction register to decide which circuit needs to be activated. It also instructs the ALU to
perform the arithmetic or logic operation. When a program is run the program counter register
keeps track of the program instruction to be executed next.
● CU tells when to fetch the data and instructions,what to do, where to store the results, the sequencing
of events during processing etc.
● CU also holds the CPU’s instruction set which is list of all operations that the CPU can perform

Prepared by: Prof. Meghavi Dave


● The function of a (CU) can be considered synonymous with that of a conductor of an orchestra.the
conductor in orchestra does not perform any work by itself but manages the orchestra and ensures that
the members of orchestra work in proper coordination.

● Program Counter (PC)

● This is a 16-bit register which holds the address of the next instruction that has to be fetched
from the main memory and loaded into the instruction register. The program controlling the
operation is stored in the main memory and instructions are retrieved from this memory normally in
order. Therefore, normally the address contained in the PC is incremented after each instruction is
fetched. However, certain classes of instruction can modify the PC so that the programmer can provide
for branching away from the normal program flow.

● Stack Pointer (SP)

● This is also a 16-bit register and is used by the programmer to maintain a stack in the memory while
using subroutines.The stack pointer is also a register used as a memory pointer; initially, it will be
called the stack pointer register to emphasize that it is a register. A stack pointer is a small register

Prepared by: Prof. Meghavi Dave


that stores the memory address of the last data element added to the stack or, in some cases, the
first available address in the stack

● Inter connection Bus structure – Data Bus, Address Bus, Control Bus
● Data Bus
● The data bus provides a path for moving the data. This bus typically consists of 8,16 or 32 separate
lines, each line being capable of transferring one bit. The number of lines is referred to as the width of
the data bus, which is a key factor to determine the performance of the system, as the number of lines
determines how many bits can be transferred at time.
● Address Bus
● The address lines are used to specify the source and destination address of the data to be read or
written. For example, to read a word from the memory, the address of the desired word is put on the
data lines.
● Control Bus
● Control bus transmits both the command and timing information between the system module and is
used to control the functioning of various components of the computer system. The operations that the
CUP has to perform are identified by the command signals,whereas the timing signals indicate the
time during which the data and address are present and are valid.

Prepared by: Prof. Meghavi Dave


● The functioning of the bus is that if a module wants to send data to another module then permission is
obtained for the use of the bus and data is transferred. If a module wants to request data from another
module then permission is obtained for the use of the bus transfer. The request is sent to the other
module via control lines and waits for the second module to send data.

Prepared by: Prof. Meghavi Dave


● Processor Operations – Instruction cycle, Instruction fetch, Instruction decode,
instruction execute, Program flow control, Processor clock, Machine cycle and State,
interrupts and interrupt service routine

● Instruction cycle
● The primary responsibility of a computer processor is to execute a sequential set of instructions that
constitute a program. CPU executes instructions in a series of steps called instruction cycle
● A instruction cycle involves four steps
● Fetching: the processor fetches the instruction from the memory.The fetch instruction is placed in the
instruction register.program counter holds the address of next instruction to be fetched and is
incremented after each fetch.
● Decoding: the instruction that is fetched is broken down into parts or decoded.the instruction is
translated into commands so that they correspond to those in the CPU’s instruction set. The instruction
set architecture of the CPU defines the way in which an instruction is decoded.
● Executing: the decoded instruction or the command is executed.CPU performs the operation implied
by the program instruction. For example if it is an ADD instruction, addition is performed.
● Storing: CPU writes back the result of execution to the computer’s memory.

Prepared by: Prof. Meghavi Dave


● Instruction Fetch
● If we now assume that the original content of the PC was that address of memory, which contains the
executable program, then the memory reading by the above-mentioned process must be to fetch an
instruction of the program, and the procedure is known as instruction fetch.after completion of this
instruction fetch binary content of the memory location is available within the processor itself. It is
needless to mention that in the next clock cycle the PC would be incremented by one and the whole
process would be repeated as we shall see a little later.
● Instruction decode
● Now the processor becomes busy with instructions byte,freshly fetched from the memory, to
understand what is all about. After all, for every instruction the processor must do something special
as per that instruction. This concept of understanding the instruction is also known as decoding the
instruction or instruction decode. The more the total number of instructions offered by the processor
the more complex would be this instruction decoding unit. We shall be familiar with
microprogramming and other techniques for instruction decoding and its execution.
● Instruction Execute
● From the instruction decoding module after the processor knows what to do, it immediately starts to
carry out the order.this execution may be of various types, depending upon the instruction and the
processor, like
● Fetch an operand from memory or

Prepared by: Prof. Meghavi Dave


● Add two registers
● Whatever be the job, once it is executed, the procedure, which started with the increment of the PC,
becomes complete. The cycle of incrementing PCs and so on.

● Program flow control


● Whatever we have discussed so far is an over-simplified discussion of processor’s basic
activities.However from this discussion one may misunderstand that the software execution
must be sequential and there is no chance of program branching. This notion is incorrect and

Prepared by: Prof. Meghavi Dave


there are procedures to control the flow of the program,which may be carried out in only one
special way,by altering the value present within the PC.
● We have learnt so far that whatever is the content of the PC, it is emitted as the target address
for the memory area.we have also learnt that with each click pulse. This PC is incremented by
one.However, if this PC, at any time is loaded with a new value, then the instruction fetch world
be from that freshly loaded address only, whose value is last loaded within the PC. This,
essentially, is the trick of program branching-altering the value of the PC. This alternation may
be for various reasons. It may be due to conditional or unconditional program
branching,subroutine call or return from a subroutine.
● Processor clock
● The heart of any processor is its clock, which stats almost the moment a computer switched
on.this clock is a simple digital signal producing on and off states alternately,at equal time
intervals,the X-axis indicates time and the Y-axis represents DC voltage.this oscillating
phenomenon generate two different edges of the clock signal, rising edge and falling edge.it
would be explained how these edge or transitions may be used to increment or decrement any
binary counter. Presently let us assume that the clock signal is capable of running this
phenomenon. Which counter is affected by this processor? The answer is the program counter.

Prepared by: Prof. Meghavi Dave


● Interrupts
● In all processors some input pin are provided through which external devices can send signals
to the processor to draw its immediate attention.may be necessary to receive a byte of data or to
terminate process or similar features related with the external device - which is sending external
signal.the major point is it must be recognized as urgent request and the processor must leave
everything whatsoever it was performing and must service the attention- drawing device
immediately. These input of the processor are designed as interrupt input and the procedure
through which the immediate need is fulfilled is known as interrupt handling. The number of
available interrupts inputs varies from processor to processor.the minimum number is two while
the maximum may be five or more. It may be noted that after servicing any interrupt, the
processor must resume its original work, which was left half because of the interrupt. This is
achieved through the usage of the system stack.

Prepared by: Prof. Meghavi Dave


● Interrupt service routine(ISR)
● An interrupt service routine (ISR) is a software routine that hardware invokes in response to an
interrupt. ISR examines an interrupt, determines how to handle it, executes it, and returns
a logical interrupt value. If no further handling is required, the ISR notifies the kernel with a
return value. An ISR must perform very quickly to avoid slowing down the operation of the
device and the operation of all lower-priority ISRs.

● Although an ISR might move data from a CPU register or a hardware port into a memory
buffer, generally, it relies on a dedicated interrupt thread (or task), called the interrupt service
thread (IST), to do most of the required processing. If additional processing is required, the ISR
returns a logical interrupt value to the kernel. Then it maps a physical interrupt number to a
logical interrupt value.

Prepared by: Prof. Meghavi Dave


Reference book used :
1.Computer and Organization: Subrata Ghosal
2. Computer Fundamentals- Anita Goel
Unit 2
Basics of Operating System
● 2.1.Basic concept of Operating System
● 2.2.Purpose of Operating System
● 2.3.Types of Operating System

● Basic Concept of Operating System


● The computer system comprises a functional set of hardware, software, user and data. Hardware consists of
the components of a computer like memory, processor, storage devices, and Input/Output devices. The
software may be of different kinds—application software and system software
● A computer system may be a single stand-alone system or may consist of several interconnected systems.
The user uses the application software to perform various tasks, for example, the user uses word processing
software for document preparation. While using the application software, the user uses the storage of a
computer—to store a document on the hard disk, to execute a command on the CPU, to retrieve a document
from a peripheral device or to print a document on a printer
● For using the hardware, there is a need for software that interacts with both the hardware and the application
software. Operating system (OS) is the software that provides an interface between the computer
hardware, and the application programs or users.

Prepared by: Prof. Meghavi Dave


● “Operating system is system software that controls and coordinates the use of hardware among the
different application software and users.”
● OS intermediates between the user of the computer and the computer hardware. The user gives a command
and the OS translates the command into a form that the machine can understand and execute.
● Operating System is a fully integrated set of specialized programs that handle all the operations of the
computer. It controls and monitors the execution of all other programs that reside in the computer, which
also includes application programs and other system software of the computer. Examples of Operating
Systems are Windows, Linux, Mac OS, etc.

Prepared by: Prof. Meghavi Dave


● An Operating System (OS) is a collection of software that manages computer hardware resources and
provides common services for computer programs. The operating system is the most important type of
system software in a computer system.

● Purpose/Functions of Operating System

● To achieve the goals of an Operating system, the Operating System performs several functionalities,
which are:
● Process Management: The CPU executes many instructions for users at a time. Besides, user's
commands, the CPU has some of its activities to perform, called processes. The CPU has to complete
all the tasks assigned to it. So, it solves the problem by giving a certain amount of time to a particular

Prepared by: Prof. Meghavi Dave


task. The operating system's function is to create and delete both user and system processes that are
being executed or do not need to execute them.
● Memory Management: Various tasks and commands fetched by the CPU are stored in the memory
for execution. The operating system keeps track of which part of the memory is currently being used.
Allocating and deallocating the memory as per need. And decides which process should be loaded in
the memory when it is available.
● File Management: There are various files, folders, and directory systems in a particular computer.
Computers can store the files in magnetic tape, hard disk, local folder, etc. The operating system
manages all these. The function of the OS is to create and delete files and folders. Mapping of files
and directories to the disk. Backing up data to non-volatile memory.
● Device Management: Device management is in charge of keeping track of all devices. This module,
which is likewise in charge of this duty, is known as the I/O controller. It also conducts the allocation
and deallocation functions.
● I/O System Management: One of the primary goals of every operating system is to conceal the
characteristics of hardware devices from the user.
● Secondary-Storage Management: Storage tiers in systems include primary storage, secondary
storage, and cache storage. Instructions and data must be placed in primary storage or cache so that
they may be accessed by a running program.
● Security: A security module protects a computer system’s data and information from malware threats
and unauthorized access.

Prepared by: Prof. Meghavi Dave


● Command interpretation: This module interprets commands and processes them using system
resources.
● Networking: An evenly distributed system is a collection of processors that do not share a memory,
hardware devices, or a clock. The network enables the processors to communicate with one another.
● Job accounting: It is keeping track of the time and resources spent by various jobs and users.
● Communication management: It involves coordinating and allocating compilers, interpreters, and
other software resources to different computer system users.

Prepared by: Prof. Meghavi Dave


● Types of Operating system
● An operating system is a well-organized collection of programs that manages the computer hardware.
It is a type of system software that is responsible for the smooth functioning of the computer system.
● Batch Operating System
● Multi-Programming System
● Multi-Processing System
● Multi-Tasking Operating System
● Time-Sharing Operating System
● Distributed Operating System
● Network Operating System
● Real-Time Operating System
● Batch Operating system
● In the 1970s, Batch processing was very popular. In this technique, similar types of jobs were batched
together and executed in time. People were used to having a single computer which was called a
mainframe.
● In the Batch operating system, access is given to more than one person; they submit their respective
jobs to the system for the execution.
● The system puts all of the jobs in a queue on the basis of first come first serve and then executes the
jobs one by one. The users collect their respective output when all the jobs get executed.

Prepared by: Prof. Meghavi Dave


● Advantages of Batch Operating System
● Multiple users can share the batch systems.
● The idle time for the batch system is very less.
● It is easy to manage large work repeatedly in batch systems.
● Disadvantages of Batch Operating System
● Batch systems are hard to debug.
● It is sometimes costly.
● The other jobs will have to wait for an unknown time if any job fails.

Prepared by: Prof. Meghavi Dave


● In a batch operating system the processing time for jobs is commonly difficult to accurately predict
while they are in the queue.
● It is difficult to accurately predict the exact time required for a job to complete while it is in the queue.
● Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.
● MultiProgramming operating system
● Multiprogramming Operating Systems can be simply illustrated as more than one program is present
in the main memory and any one of them can be kept in execution. This is basically used for better
execution of resources.

Prepared by: Prof. Meghavi Dave


● Advantages of Multiprogramming OS
● Throughout the system, it increased as the CPU always had one program to execute.

● Response time can also be reduced.


● Disadvantages of Multiprogramming OS
● Multiprogramming systems provide an environment in which various systems resources are used
efficiently, but they do not provide any user interaction with the computer system.

● Multiprocessing Operating System


● A Multi-Processing Operating System is a type of Operating System in which more than one CPU is
used for the execution of resources. It betters the throughput of the System.

Prepared by: Prof. Meghavi Dave


● Advantages of Multi-Processing Operating System
● It increases the throughput of the system.
● As it has several processors, so, if one processor fails, we can proceed with another processor.
● Disadvantages of Multi-Processing Operating System
● Due to the multiple CPU, it can be more complex and somehow difficult to understand.
● Multi-Tasking Operating System
● The multitasking operating system is a logical extension of a multiprogramming system that enables
multiple programs simultaneously. It allows a user to perform more than one computer task at the
same time.

Prepared by: Prof. Meghavi Dave


● Time-Sharing Operating Systems
● Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of
the CPU as they use a single system. These systems are also known as Multitasking Systems. The task
can be from a single user or different users also. The time that each task gets to execute is called
quantum. After this time interval is over OS switches over to the next task.

● Advantages of Time-Sharing OS
● The time-sharing operating system provides effective utilization and sharing of resources.

● This system reduces CPU idle and response time.


● Disadvantages of Time-Sharing OS
● Data transmission rates are very high in comparison to other methods.

Prepared by: Prof. Meghavi Dave


● Security and integrity of user programs loaded in memory and data need to be maintained as many
users access the system at the same time.

● Distributed Operating System


● These types of operating systems are a recent advancement in the world of computer technology and
are being widely accepted all over the world and, that too, at a great pace. Various autonomous
interconnected computers communicate with each other using a shared communication network.
Independent systems possess their own memory unit and CPU. These are referred to as loosely
coupled systems or distributed systems. These systems’ processors differ in size and function. The
major benefit of working with these types of the operating system is that it is always possible that one
user can access the files or software which are not actually present on his system but some other
system connected within this network i.e., remote access is enabled within the devices connected in
that network.

Prepared by: Prof. Meghavi Dave


● Advantages of Distributed Operating System
● The distributed operating system provides sharing of resources.

● This type of system is fault-tolerant.


● Disadvantages of Distributed Operating System
● Failure of the main network will stop the entire communication.
● To establish distributed systems the language is not well-defined yet.
● These types of systems are not readily available as they are very expensive. Not only that the
underlying software is highly complex and not understood well yet.
● Network Operating System
● These systems run on a server and provide the capability to manage data, users, groups, security,
applications, and other networking functions. These types of operating systems allow shared access to
files, printers, security, applications, and other networking functions over a small private network. One
more important aspect of Network Operating Systems is that all the users are well aware of the
underlying configuration, of all other users within the network, their individual connections, etc.

Prepared by: Prof. Meghavi Dave


● Advantages of Network Operating System
● Highly stable centralized servers.
● Security concerns are handled through servers.
● New technologies and hardware up-gradation are easily integrated into the system.
● Server access is possible remotely from different locations and types of systems.
● Disadvantages of Network Operating System
● Servers are costly.
● Users have to depend on a central location for most operations.
● Maintenance and updates are required regularly.

Prepared by: Prof. Meghavi Dave


● Real-Time Operating System
● These types of OS serve real-time systems. The time interval required to process and respond to
inputs is very small. This time interval is called response time.
Real-time systems are used when there are time requirements that are very strict like missile systems,
air traffic control systems, robots, etc.

● Types of Real-Time Operating Systems


● Hard Real-Time Systems: Hard Real-Time OSs are meant for applications where time constraints are
very strict and even the shortest possible delay is not acceptable. These systems are built for saving
life like automatic parachutes or airbags which are required to be readily available in case of an
accident. Virtual memory is rarely found in these systems.
● Soft Real-Time Systems: These OSs are for applications where time-constraint is less strict.

Prepared by: Prof. Meghavi Dave


● Advantages of Real-time operating system:
● Easy to layout, develop and execute real-time applications under the real-time operating system.

● In a Real-time operating system, the maximum utilization of devices and systems.


● Disadvantages of Real-time operating system:
● Real-time operating systems are very costly to develop.

● Real-time operating systems are very complex and can consume critical CPU cycles.

Prepared by: Prof. Meghavi Dave


Unit 3
Memory Management
● 3.1.Types of Memory
● 3.2.Processor - Memory interaction
● 3.3.Secondary Memory, Direct Memory Access (DMA)
● 3.4. I/O Device controllers, I/O Processors
● 3.5.Virtual Memory
● 3.6.Overview of Memory management – addressing, allocation, garbage
● collection, free memory list, paging, segmentation
● 3.7.Boolean algebra
● 3.8.Number System - Conversion of Numbers, Binary addition & subtraction,
● ASCII and ANSI character code

● Types of memory
● Reference link:https://www.javatpoint.com/classification-of-memory
● What is Memory?
● Computer memory is just like the human brain. It is used to store data/information and instructions. It
is a data storage unit or a data storage device where data is to be processed and instructions required
for processing are stored. It can store both the input and output can be stored here.
● Types of memory
● Primary memory
● Secondary memory
● Cache memory

Prepared by: Prof. Meghavi Dave


● Register

● Primary memory
● It is also known as the main memory of the computer system. It is used to store data and programs or
instructions during computer operations. It uses semiconductor technology and hence is commonly
called semiconductor memory. Primary memory is of two types:
● RAM (Random Access Memory)
● ROM (Read Only Memory)

Prepared by: Prof. Meghavi Dave


● RAM (Random Access Memory)
● Random Access Memory (RAM) is one of the faster types of main memory accessed directly by
the CPU. It is the hardware in a computer device to temporarily store data, programs or program
results. It is used to read/write data in memory until the machine is working. It is volatile, which
means if a power failure occurs or the computer is turned off, the information stored in RAM
will be lost. All data stored in computer memory can be read or accessed randomly at any time.
● Random access memory is implemented using semiconductors.
● There are two types of RAM:
● DRAM
● SRAM
● DRAM(Dynamic random access memory)
● DRAM (Dynamic Random-Access Memory) is a type of RAM that is used for the dynamic storage
of data in RAM. In DRAM, each cell carries one-bit information. The cell is made up of two parts: a
capacitor and a transistor. The size of the capacitor and the transistor is so small, requiring millions
of them to store on a single chip. Hence, a DRAM chip can hold more data than an SRAM chip of the
same size. However, the capacitor needs to be continuously refreshed to retain information because
DRAM is volatile. If the power is switched off, the data store in memory is lost.
● Characteristics of DRAM
● It requires continuously refreshing to retain the data.
● It is slower than SRAM
● It holds a large amount of data
● It is the combination of capacitor and transistor
● It is less expensive as compared to SRAM

Prepared by: Prof. Meghavi Dave


● Less power consumption
● Advantages of DRAM
○ DRAM has a simple design, as it consists of only a single transistor.
○ It has high congestion rates.
○ It is less costly than SRAM.
○ Memory space is large.

○ Disadvantages of DRAM
○ It has a complex manufacturing process.
○ Refreshing is required Continuously.
○ It is slower than SRAM.

● SRAM (static random access memory)


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

● Characteristics of SRAM
○ It does not require refreshing.
○ It is faster than DRAM

Prepared by: Prof. Meghavi Dave


○ It is expensive.
○ High power consumption
○ Longer life
○ Large size
○ Uses as a cache memory

○ Advantages of SRAM
○ It is preferred because of its access speed, despite being very expensive.
○ During the speed-sensitive cache it is very helpful.
○ SRAM is simple and easy to manage.
○ It is very reliable and therefore is used for cache memory.

○ Disadvantages of SRAM
○ Its speed does not justify its price.
○ It is a volatile memory, so all data is lost when power is cut off.
○ It also has a small storage capacity and takes up a lot of space.
○ The design is complex and not easy to build or understand.

Difference Between DRAM and SRAMAdvantages of RAM

Prepared by: Prof. Meghavi Dave


SRAM DRAM

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

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

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

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

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

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

It has a complex structure. Its structure is simple.

Prepared by: Prof. Meghavi Dave


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

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


● It requires less power to operate.
● Program loads much faster
● More RAM increases the performance of a system and can multitask.
● Perform read and write operations.
● The processor can read information faster than a hard disk, floppy, USB, etc.
● Disadvantages of RAM
● Less RAM reduces the speed and performance of a computer.
● Due to volatile, it requires electricity to preserve the data.
● It is expensive than ROM
● It is unreliable as compared to ROM
● The Size of RAM is limited.

● Read-Only Memory (ROM)


● ROM is a memory device or storage medium that is used to permanently store information inside a
chip. It is a read-only memory that can only read stored information, data or programs, but we cannot
write or modify anything. A ROM contains some important instructions or program data that are

Prepared by: Prof. Meghavi Dave


required to start or boot a computer. It is a non-volatile memory; it means that the stored
information cannot be lost even when the power is turned off or the system is shut down.
● Types of ROM
● MROM
● PROM
● EPROM
● EEPROM
● Flash ROM
● MROM (Masked Read Only Memory):
MROM is the oldest type of read-only memory whose program or data is pre-configured by the
integrated circuit manufacturer at the time of manufacturing. Therefore, a program or instruction
stored within the MROM chip cannot be changed by the user.
● PROM (Programmable Read Only Memory):
It is a type of digital read-only memory, in which the user can write any type of information or
program only once. It means it is the empty PROM chip in which the user can write the desired
content or program only once using the special PROM programmer or PROM burner device; after
that, the data or instruction cannot be changed or erased.
● EPROM (Erasable and Programmable Read Only Memory):
It is the type of read only memory in which stored data can be erased and reprogrammed only once in
the EPROM memory. It is a non-volatile memory chip that holds data when there is no power supply
and can also store data for a minimum of 10 to 20 years. In EPROM, if we want to erase any stored

Prepared by: Prof. Meghavi Dave


data and re-programmed it, first, we need to pass the ultraviolet light for 40 minutes to erase the data;
after that, the data is re-created in EPROM.
● EEPROM (Electrically Erasable and Programmable Read Only Memory):
The EEPROM is an electrically erasable and programmable read only memory used to erase stored
data using a high voltage electrical charge and re-programmed it. It is also a non-volatile memory
whose data cannot be erased or lost; even the power is turned off. In EEPROM, the stored data can be
erased and reprogrammed up to 10 thousand times, and the data erased one byte at a time.
● Flash ROM:
Flash memory is a non-volatile storage memory chip that can be written or programmed in small
units called Block or Sector. Flash Memory is an EEPROM form of computer memory, and the
contents or data cannot be lost when the power source is turned off. It is also used to transfer data
between the computer and digital devices.
● Advantages of ROM
● It is a non-volatile memory in which stored information can be lost even if power is turned off.
● It is static, so it does not require refreshing the content every time.
● Data can be stored permanently.
● It is easy to test and store large data as compared to RAM.
● It is cheaper than RAM.
● It is simple and reliable as compared to RAM.
● It helps to start the computer and loads the OS.

Prepared by: Prof. Meghavi Dave


● Disadvantages of ROM
● Store data cannot be updated or modified except to read the existing data.
● It is a slower memory than RAM to access the stored data.
● It takes around 40 minutes to destroy the existing data using the high charge of ultraviolet light.
● Secondary Memory
● Secondary memory is a permanent storage space to hold a large amount of data. Secondary memory
is also known as external memory that represents the various storage media (hard drives, USB, CDs,
flash drives and DVDs) on which the computer data and program can be saved on a long term basis.
However, it is cheaper and slower than the main memory. Unlike primary memory, secondary
memory cannot be accessed directly by the CPU. Instead of that, secondary memory data is first
loaded into the RAM (Random Access Memory) and then sent to the processor to read and update the
data. Secondary memory devices also include magnetic disks like hard disk and floppy disks, an
optical disk such as CDs and CDROMs, and magnetic tapes.

● Floppy Disk – A floppy disc refers to a magnetic disk housed in a square plastic container. It is
primarily used to store information and then transfer it from one device to another. There are two
sizes of floppy disk (a) Size: 3.5 inches, 1.44 MB storage capacity (b) Size: 5.25 inches and 1.2 MB
storage capacity. A computer must consist of a floppy disc drive for using a floppy disc. Such a
storage device is now obsolete, and DVDs, CDs, and flash drives have taken its place.

● Compact Disk – A Compact Disk or the CD is a type of secondary storage media that is widely
utilized. Its surface is covered in tracks and sectors. It is composed of polycarbonate plastic and has a

Prepared by: Prof. Meghavi Dave


round form. CDs have a data storage capacity of up to 700 MB. A CD is also known as a CD-ROM
(Compact Disc Read-Only Memory) because computers can read the data on it but not write new data
onto it.

There are two types of CDs:

● CD-R or compact disk recordable – It is not possible to remove data that has been written onto it; it
can only be read.
● CD-RW or compact disk rewritable – It’s a particular kind of CD that allows us to wipe and rewrite
data as many times as we desire, so It’s also known as an erasable CD.

● Digital Versatile Disk – DVD stands for Digital Versatile Disk. It resembles a CD, but it has a larger
storage capacity; up to 4.7 GB of data can be stored. To use a DVD on a computer, a DVD-ROM
drive is required. Video files, such as movies or video recordings, are commonly saved on DVDs,
which may be played with a DVD player. There are three different kinds of DVDs available:

● DVD-ROM or Digital Versatile Disc Read-Only Memory – The manufacturer writes the data on
the DVD-ROM, and the users can only read it; they cannot create new data on it. For example, a
movie DVD has already been written by the maker, and we can only watch it; we cannot add new
data to it.

Prepared by: Prof. Meghavi Dave


● DVD-R or Digital Versatile Disc Recordable – You can write data on a DVD-R, but only once. It is
not possible to remove data that has been written onto it; it can only be read.

● DVD-RW or Digital Versatile Disc RW (Re Writable and Erasable) – It’s a particular kind of
DVD that allows us to wipe and rewrite data as many times as we desire. It’s also known as an
erasable DVD.

● Blu-ray Disc – It resembles a CD/VD, but it can actually hold up to 25 GigaBytes data or
information. You’ll need a Blu-ray reader if you wish to use a Blu-ray disc. The name Blu-ray comes
from the technology used to read the disc: ‘Blu’ comes from a blue-violet laser, and ‘ray’ comes from
an optical ray.

● Hard Disk – Hard disks are storage devices designed to hold a lot of information. Hard disk, often
known as hard disk drives, are available in a variety of storage capacities. (For example, 256 GB, 500
GB, 1 TB, and 2 TB). It is made up of platters, which are a collection of disks. The dishes are stacked
one on top of the other. They have a magnetic coating on them. Each platter is made up of a number
of invisible circles, each of which has the same central track. Internal and external hard disks are the
two types of hard disk.

Prepared by: Prof. Meghavi Dave


● Flash Drive – A flash drive or pen drive is available in a variety of storage capacities, including 1, 2,
4, 8, 16, 32, 64 GB, and 1 TB. Data is transferred and stored using a flash drive. To use a flash drive,
it must be plugged into a computer’s USB port. A flash drive is quite popular nowadays because it is
simple to use and small in size.

● Solid-state Disk – A Solid-state Disk (SSD) is a data storage and retrieval device that is non-volatile.
It’s faster, makes no noise (since it doesn’t have any moving parts like a hard drive), uses less
electricity, and so on. If the price is right, it’s a perfect replacement for regular hard drives in laptops
and desktops, and it’s also ideal for tablets, notebooks, and other devices that don’t require a lot of
storage.

● SD Card – A Secure Digital Card (SD Card) is commonly used to store data in portable devices such
as cell phones and cameras. It comes in a variety of capacities, including 1, 2, 4, 8, 16, 32, and 64
GB. You can access the data present in the SD card by removing it from the device and inserting it
into a computer using a card reader. The data in the SD card is stored in memory chips (which are
included in the SD card), and there are no moving elements like there are on a hard disc.

● Register Memory
● The register memory is a temporary storage area for storing and transferring the data and the
instructions to a computer. It is the smallest and fastest memory of a computer. It is a part of
computer memory located in the CPU as the form of registers. The register memory is 16, 32 and 64

Prepared by: Prof. Meghavi Dave


bits in size. It temporarily stores data instructions and the address of the memory that is repeatedly
used to provide faster response to the CPU.

● Cache Memory
● It is a small-sized chip-based computer memory that lies between the CPU and the main memory. It
is a faster, high performance and temporary memory to enhance the performance of the CPU. It stores
all the data and instructions that are often used by computer CPUs. It also reduces the access time of
data from the main memory. It is faster than the main memory, and sometimes, it is also called CPU
memory because it is very close to the CPU chip.

● The following are the levels of cache memory.


● L1 Cache: The L1 cache is also known as the onboard, internal, or primary cache. It is built with the
help of the CPU. Its speed is very high, and the size of the L1 cache varies from 8 KB to 128 KB.
● L2 Cache: It is also known as external or secondary cache, which requires fast access time to store
temporary data. It is built into a separate chip in a motherboard, not built into the CPU like the L1
level. The size of the L2 cache may be 128 KB to 1 MB.
● L3 Cache: L3 cache levels are generally used with high performance and capacity of the computer. It
is built into a motherboard. Its speed is very slow, and the maximum size is up to 8 MB.

Prepared by: Prof. Meghavi Dave


● Conversions of Units (This is only for the knowledge)

Name Equal To Size (In Bytes)

Bit 1 Bit 1/8

Nibble 4 Bits 1/2 (rare)

Byte 8 Bits 1

Kilobyte 1024 Bytes 1024

Megabyte 1024 Kilobytes 1, 048, 576

Gigabyte 1024 Megabytes 1, 073, 741, 824

Terabyte 1024 Gigabytes 1, 099, 511, 627, 776

Petabyte 1024 Terabytes 1, 125, 899, 906, 842, 624

Prepared by: Prof. Meghavi Dave


1, 152, 921, 504, 606, 846,
Exabyte 1024 Petabytes
976

1, 180, 591, 620, 717, 411,


Zettabyte 1024 Exabytes
303, 424

1, 208, 925, 819, 614, 629,


Yottabyte 1024 Zettabytes
174, 706, 176

Prepared by: Prof. Meghavi Dave


● DMA (Direct Memory Access)
● DMA (Direct memory access) is the special feature within the computer system that transfers
the data between memory and peripheral devices(like hard drives) without the intervention of
the CPU. In other words, for large data transfer like disk drives, it will be wasteful to use expensive
general-purpose processors in which status bits are to be watched and fed the data into the controller
register one byte at a time which is termed Programmed I/O. Computers avoid burdening the CPU
so they shift the work to a Direct Memory Access controller.
● To initiate the DMA transfer the host writes a DMA command block into the memory. This block
contains the pointer to the source of the transfer, the pointer to the destination of the transfer, and the
count of the number of bytes to be transferred. This command block can be more complex which
includes the list of sources and destination addresses that are not contiguous. CPU writes the address
of this command block and goes to other work. The DMA controller proceeds to operate the memory
bus directly, placing the address on it without the intervention of the main CPU. Nowadays a simple
DMA controller is a standard component in all modern computers.
● Working of DMA Transfer
● The device controller places a signal on the DMA request wire when a word of data is available for
transfer. This causes the DMA controller to seize the memory bus of the CPU and place the desired
address on the DMA acknowledge wire. Upon successful data transfer the device controller receives
the DMA acknowledge and then it removes the DMA request signal.
● When the entire transfer is finished, the DMA controller interrupts the CPU. This entire process is
depicted in the above diagram. The DMA controller seizes the memory bus and CPU is momentarily

Prepared by: Prof. Meghavi Dave


prevented from accessing main memory. Although it can access the data items in its cache. This cycle
stealing (Seizing the memory bus temporarily and preventing the CPU from accessing it) slows down
the CPU computation, shifting the data transfer to DMA controller generally improves the total
system performance. Some of the computer architecture used physical memory addresses for DMA,
but others used virtual addresses (DVMA). Direct virtual memory access performs data transfer
between memory mapped I/O without the use of main memory.
● I/O device controller
● In computer systems, I/O devices do not usually communicate with the operating system. The
operating system manages their task with the help of one intermediate electronic device called a
device controller.

Prepared by: Prof. Meghavi Dave


● Input devices are those devices that generate data to give input to the computer system.
Examples- mouse, trackball, keyboard, CD-ROM.
● Output devices accept data from the computer system. Examples- printer, graphics display screen,
plotter.
● Input/Output (I/O devices) devices can give data as input and receive output as data from the
computer system. Examples- disk, tape, writable CD.
● The device controller knows how to communicate with the operating system as well as how to
communicate with I/O devices. So a device controller is an interface between the computer system
(operating system) and I/O devices. The device controller communicates with the system using the
system bus. So how the device controller, I/O devices, and the system bus is connected is shown
below in the diagram

Prepared by: Prof. Meghavi Dave


● In the above diagram, some IO devices have DMA (Direct Memory access) via device controllers
and some of them do not have DMA. The devices which have a DMA path to communicate with the
system to access memory are much faster than devices that have a non-DMA path to access the
memory. The devices have a non-DMA path via the device controller to access the memory, they
have to go from the processor which means it will be scheduled by the scheduler and then when it
gets loaded into RAM then it will get the CPU to execute its instruction to access memory so it is
slow from devices which has a DMA.
● A device controller generally can control more than one IO device but it is most common to control
only a single device. Device controllers are stored in the chip and that chip is attached to the system
bus. There is a connection cable from the controller to each device which is controlled by it.

Prepared by: Prof. Meghavi Dave


Generally, one controller controls one device. The operating system communicates with device
controllers and the device controller communicates with devices so indirectly the operating system
communicates with IO devices.
● I/O Processor
● An input-output processor (IOP) is a processor with direct memory access capability. In this, the
computer system is divided into a memory unit and number of processors.
● Each IOP controls and manages the input-output tasks. The IOP is similar to CPU except that it
handles only the details of I/O processing. The IOP can fetch and execute its own instructions. These
IOP instructions are designed to manage I/O transfers only.
● Block Diagram Of I/O Processor
● Below is a block diagram of a computer along with various I/O Processors. The memory unit
occupies the central position and can communicate with each processor.
● The CPU processes the data required for solving the computational tasks. The IOP provides a path for
transfer of data between peripherals and memory. The CPU assigns the task of initiating the I/O
program.
● The IOP operates independent from the CPU and transfers data between peripherals and memory.

Prepared by: Prof. Meghavi Dave


● The communication between the IOP and the devices is similar to the program control method of
transfer. And the communication with the memory is similar to the direct memory access method.
● In large scale computers, each processor is independent of other processors and any processor can
initiate the operation.
● The CPU can act as master and the IOP acts as slave processor. The CPU assigns the task of initiating
operations but it is the IOP, who executes the instructions, and not the CPU. CPU instructions provide
operations to start an I/O transfer. The IOP asks for CPU through interrupt.
● Instructions that are read from memory by an IOP are also called commands to distinguish them from
instructions that are read by CPU. Commands are prepared by programmers and are stored in
memory. Command words make the program for IOP. CPU informs the IOP where to find the
commands in memory.

Prepared by: Prof. Meghavi Dave


● Virtual Memory
● Virtual Memory is a storage scheme that provides users with an illusion of having a very big main
memory. This is done by treating a part of secondary memory as the main memory.
● In this scheme, User can load the processes bigger than the available main memory by having the
illusion that the memory is available to load the process.
● Instead of loading one big process in the main memory, the Operating System loads the different
parts of more than one process in the main memory.
● By doing this, the degree of multiprogramming will be increased and therefore, the CPU utilization
will also be increased.
● How Virtual Memory Works?
● In the modern word, virtual memory has become quite common these days. In this scheme, whenever
some pages needs to be loaded in the main memory for the execution and the memory is not available
for those many pages, then in that case, instead of stopping the pages from entering in the main
memory, the OS search for the RAM area that are least used in the recent times or that are not
referenced and copy that into the secondary memory to make the space for the new pages in the main
memory.
● Since all this procedure happens automatically, therefore it makes the computer feel like it is having
unlimited RAM.

Prepared by: Prof. Meghavi Dave


● Overview of Memory management– addressing, allocation, garbage collection, free
memory list, paging, segmentation
● Memory management
● The term memory can be defined as a collection of data in a specific format. It is used to store
instructions and process data. The memory comprises a large array or group of words or bytes, each
with its own location. The primary purpose 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.
● To achieve a degree of multiprogramming and proper utilization of memory, memory management is
important. Many memory management methods exist, reflecting various approaches, and the
effectiveness of each algorithm depends on the situation.
● Addressing
● Reference Link:
https://www.geeksforgeeks.org/logical-and-physical-address-in-operating-system/
● Logical and physical addresses are important terms. The logical address is rendered by CPU while
a program is executed, whereas the physical address directs to a location in the memory unit.
Let’s figure out some major differences between logical and physical addresses.
● There are two types of address
● Logical addresses
● physical address
● Logical addresses
● The logical address is a virtual address created by the CPU of the computer system. The logical
address of a program is generated when the program is running. A group of several logical addresses

Prepared by: Prof. Meghavi Dave


is referred to as a logical address space. The logical address is basically used as a reference to access
the physical memory locations.
● In computer systems, a hardware device named memory management unit (MMU) is used to map the
logical address to its corresponding physical address. However, the logical address of a program is
visible to the computer user.
● physical address
● The physical address of a computer program is one that represents a location in the memory unit of
the computer. The physical address is not visible to the computer user. The MMU of the system
generates the physical address for the corresponding logical address.
● The physical address is accessed through the corresponding logical address because a user cannot
directly access the physical address. For running a computer program, it requires a physical memory
space. Therefore, the logical address has to be mapped with the physical address before the execution
of the program.

Prepared by: Prof. Meghavi Dave


Difference Between Logical address and Physical Address

Parameter LOGICAL ADDRESS PHYSICAL ADDRESS

Basic generated by CPU location in a memory unit

Prepared by: Prof. Meghavi Dave


Logical Address Space
Physical Address is a set of all
is a set of all logical
physical addresses mapped to
Address Space addresses generated by
the corresponding logical
CPU in reference to a
addresses.
program.

Users can view the Users can never view the


Visibility logical address of a physical address of the
program. program.

Generation generated by the CPU Computed by MMU

The user can use the The user can indirectly access
Access logical address to access physical addresses but not
the physical address. directly.

Logical address can be Physical address will not


Editable
changed. change.

Also called virtual address. real address.

Prepared by: Prof. Meghavi Dave


● Allocation
● In single-user and single-task operating systems like MS-DOS, only one process can execute at a
time. After the termination of the process, the allocated memory is freed and is made available to any
other process. In a multiprogramming system, in addition to allocation and deallocation of memory,
more tasks are involved like keeping track of processes allocated to the memory, memory protection
and sharing etc. There are different memory allocation schemes to allocate memory to the processes
that reside in memory at the same time.
● How Is Memory allocated?
● Memory Allocation algorithms are used to allocate memory to the processes.
● First Fit
● Best fit
● Worst fit

● First fit
● There may be many holes in the memory, so the operating system, to reduce the amount of time
it spends analyzing the available spaces, begins at the start of primary memory and allocates
memory from the first hole it encounters large enough to satisfy the request. Using the same
example as above, the first fit will allocate 12KB of the 14KB block to the process. Its advantage is
that it is the fastest search as it searches only the first block i.e. enough to assign a process.
● Best fit
● The allocator places a process in the smallest block of unallocated memory in which it will fit.
For example, suppose a process requests 12 KB of memory and the memory manager currently has a
list of unallocated blocks of 6KB, 14KB, 19KB, 11KB, and 13KB blocks. The best-fit strategy will

Prepared by: Prof. Meghavi Dave


allocate 12KB of the 13KB block to the process. Although, best fit minimizes the wastage space, it
consumes a lot of processor time for searching the block which is close to required size.
● Worst fit
● The memory manager places a process in the largest block of unallocated memory available.
The idea is that this placement will create the largest hold after the allocations, thus increasing the
possibility that, compared to best fit, another process can use the remaining space. Using the same
example as above, the worst fit will allocate 12KB of the 19KB block to the process, leaving a 7KB
block for future use. If a large process comes at a later stage, then memory will not have space to
accommodate it.

Prepared by: Prof. Meghavi Dave


● Notice in the diagram above that the Best fit and First fit strategies both leave a tiny segment of
memory unallocated just beyond the new process. Since the amount of memory is small, it is not
likely that any new processes can be loaded here. This condition of splitting primary memory into
segments as the memory is allocated and deallocated is known as fragmentation. The Worst fit
strategy attempts to reduce the problem of fragmentation by allocating the largest fragments to new
processes. Thus, a larger amount of space will be left as seen in the diagram above.

Prepared by: Prof. Meghavi Dave


● Garbage collection
● What Is garbage?
● An object is called garbage at some point during execution if it will never be used again. Reclaiming
garbage objects automatically is called garbage collection.
● Advantages: Programmer doesn't have to reclaim unused resources.
● Disadvantages: Programmer can't reclaim unused resources

● Paging
● Paging is a storage mechanism used to retrieve processes from the secondary storage into the main
memory in the form of pages.
● The main idea behind the paging is to divide each process in the form of pages. The main
memory will also be divided in the form of frames.
● One page of the process is to be stored in one of the frames of the memory. The pages can be stored
at the different locations of the memory but the priority is always to find the contiguous frames or
holes.
● Pages of the process are brought into the main memory only when they are required, otherwise they
reside in the secondary storage.
● Different operating systems define different frame sizes. The sizes of each frame must be equal.
Considering the fact that the pages are mapped to the frames in Paging, page size needs to be the
same as frame size.

Prepared by: Prof. Meghavi Dave


● The main memory size is 16 Kb and Frame size is 1 KB therefore the main memory will be divided
into the collection of 16 frames of 1 KB each.
● There are 4 processes in the system that are P1, P2, P3 and P4 of 4 KB each. Each process is divided
into pages of 1 KB each so that one page can be stored in one frame.
● Initially, all the frames are empty therefore pages of the processes will get stored in the contiguous
way.
● Frames, pages and the mapping between the two is shown in the image below.

Prepared by: Prof. Meghavi Dave


● Let us consider that, P2 and P4 are moved to a waiting state after some time. Now, 8 frames become
empty and therefore other pages can be loaded in that empty place. The process P5 of size 8 KB (8
pages) is waiting inside the ready queue.
● Given the fact that, we have 8 non-contiguous frames available in the memory and paging provides
the flexibility of storing the process at the different places. Therefore, we can load the pages of
process P5 in the place of P2 and P4

Prepared by: Prof. Meghavi Dave


● Segmentation
● Segmentation is a memory management technique in which the memory is divided into the variable
size parts. Each part is known as a segment which can be allocated to a process.
● The details about each segment are stored in a table called a segment table. Segment table is stored in
one (or many) of the segments.
● Segment table contains mainly two information about segment:
● Base: It is the base address of the segment
● Limit: It is the length of the segment.

Prepared by: Prof. Meghavi Dave


● We were using Paging as our main memory management technique. Paging is more close to the
Operating system rather than the User. It divides all the processes into the form of pages regardless of
the fact that a process can have some relative parts of functions which need to be loaded in the same
page.
● Operating system doesn't care about the User's view of the process. It may divide the same function
into different pages and those pages may or may not be loaded at the same time into the memory. It
decreases the efficiency of the system.
● It is better to have segmentation which divides the process into the segments. Each segment contains
the same type of functions such as the main function can be included in one segment and the library
functions can be included in the other segment.
● Number System - Conversion of Numbers, Binary addition & subtraction,
ASCII and ANSI character code
● Number systems are the technique to represent numbers in the computer system architecture, every
value that you are saving or getting into/from computer memory has a defined number system.
● Computer architecture supports the following number of systems:
● Binary number system
● Octal number system
● Decimal number system
● Hexadecimal (hex) number system
● Binary number system
● It has only two digits '0' and '1' so its base is 2. Accordingly, In this number system, there are only
two types of electronic pulses; absence of electronic pulse which represents '0'and presence of

Prepared by: Prof. Meghavi Dave


electronic pulse which represents '1'. Each digit is called a bit. A group of four bits (1101) is called
a nibble and a group of eight bits (11001010) is called a byte. The position of each digit in a binary
number represents a specific power of the base (2) of the number system.
● Octal number system
● It has eight digits (0, 1, 2, 3, 4, 5, 6, 7) so its base is 8. Each digit in an octal number represents a
specific power of its base (8). As there are only eight digits, three bits (23=8) of the binary number
system can convert any octal number into a binary number. This number system is also used to
shorten long binary numbers. The three binary digits can be represented with a single octal digit.
● Decimal number system
● This number system has ten digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) so its base is 10. In this number
system, the maximum value of a digit is 9 and the minimum value of a digit is 0. The position of each
digit in the decimal number represents a specific power of the base (10) of the number system. This
number system is widely used in our day to day life. It can represent any numeric value.
● Hexadecimal number system
● This number system has 16 digits that range from 0 to 9 and A to F. So, its base is 16. The A to
F alphabets represent 10 to 15 decimal numbers. The position of each digit in a hexadecimal
number represents a specific power of base (16) of the number system. As there are only sixteen
digits, four bits (24=16) of the binary number system can convert any hexadecimal number into a
binary number. It is also known as an alphanumeric number system as it uses both numeric digits and
alphabets.

● Conversion of Numbers
● Decimal to Other Bases

Prepared by: Prof. Meghavi Dave


● Decimal to Binary Number:
● Convert (25)10 to binary number.

Operation Output Remainder

25 ÷ 2 12 1(MSB)

12 ÷ 2 6 0

6÷2 3 0

3÷2 1 1

1÷2 0 1(LSB)

● Therefore, from the above table, we can write,


● (25)10 = (11001)2
● Convert 195.25 into binary.
● Solution:
● 195 / 2 = 97 with remainder 1

Prepared by: Prof. Meghavi Dave


● 97 / 2 = 48 with remainder 1
● 48 / 2 = 24 with remainder 0
● 24 / 2 = 12 with remainder 0
● 12 / 2 = 6 with remainder 0
● 6 / 2 = 3 with remainder 0
● 3 / 2 = 1 with remainder 1
● 1 / 2 = 0 with remainder 1
● Thus, the binary equivalent of 195 is 11000011.
● Now, we have to convert the fractional part of the given number into binary.
● Multiply 0.25 by 2 and observe the resulting integer and fractional parts. Renew multiplying the
resultant fractional part by 2 until we get a resulting fractional part equal to zero.
● Then we need to write the integer parts from the results of each multiplication to make the equivalent
binary number.
● 0.25 × 2 = 0 + 0.5
● 0.5 × 2 = 1 + 0
● Here, 0.25 is equivalent to the binary number 0.01.
● Therefore, (195.25)10 = (11000011.01)2
● Exercise of the decimal to binary conversion
● Convert 7 (decimal) to binary. Ans.= (111)2
● Convert 18 (decimal) to binary.Ans.= (10010)2
● Convert 23 (decimal) to binary.Ans.= (10111)2
● Convert 11 (decimal) to binary.Ans.= (1011)2
● Convert 35 (decimal) to binary.Ans.= (100011)2

Prepared by: Prof. Meghavi Dave


● Convert 29 (decimal) to binary. Ans.= (11101)2
● Convert 73 (decimal) to binary.Ans.= (1001001)2
● Convert 102 (decimal) to binary.Ans.= (1100110)2
● Convert 56 (decimal) to binary.Ans.= (111000)2
● Convert 255 (decimal) to binary.Ans.= (11111111)2
● Convert 99 (decimal) to binary.Ans.= (1100011)2
● Convert 144 (decimal) to binary.Ans.= (10010000)2
● Convert 512 (decimal) to binary.Ans.= (1000000000)2
● Convert 31 (decimal) to binary.Ans.= (11111)2
● Convert 65 (decimal) to binary.Ans.= (1000001)2
● Convert 58 (decimal) to binary.Ans.= (111010)2
● Convert 89 (decimal) to binary.Ans.= (1011001)2
● Convert 118 (decimal) to binary.Ans.= (1110110)2
● Convert 142 (decimal) to binary. Ans.= (10001110)2
● Convert 253 (decimal) to binary. Ans. =(11111101)2
● Convert 77 (decimal) to binary. Ans. = (1001101)2
● Convert 95 (decimal) to binary. Ans.=(1011111)2
● Convert 131 (decimal) to binary.Ans.=(10000011)2
● Convert 184 (decimal) to binary. Ans.=(10111000)2
● Convert 219 (decimal) to binary. Ans.=(11011011)2
● Convert the decimal number 13.625 to its binary equivalent. Ans.=(1101.101)2
● Convert the decimal number 45.375 to its binary equivalent. Ans.=(101101.011)2
● Convert the decimal number 27.75 to its binary equivalent. Ans.=(11011.11)2

Prepared by: Prof. Meghavi Dave


● Convert the decimal number 5.5 to its binary equivalent. Ans.=(101.1)2
● Convert the decimal number 19.125 to its binary equivalent. Ans.=(10011.001)2
● Convert the decimal number 9.875 to its binary equivalent. Ans.=(1001.111)2
● Convert the decimal number 64.625 to its binary equivalent. Ans.=(1000000.101)2
● Convert the decimal number 3.0625 to its binary equivalent. Ans.=(11.0001)2
● Convert the decimal number 8.25 to its binary equivalent. Ans.=(1000.01)2
● Convert the decimal number 56.75 to its binary equivalent. Ans.=(111000.11)2
● Decimal to Octal Number:
● Convert (128)10 to octal number.
Operation Output Remainder

128 ÷ 8 16 0

16÷ 8 2 0

2÷ 8 0 2

● Therefore, the equivalent octal number = (200)8


● Example 1: Convert (127)10 to Octal.
● Solution: Divide 127 by 8
● 127 ÷ 8= 15(Quotient) and (7)Remainder
● Divide 15 by 8 again.
● 15 ÷ 8 = 1(Quotient) and (7) Remainder

Prepared by: Prof. Meghavi Dave


● Divide 1 by 8, we get;
● 1 ÷ 8 = 0(Quotient) and (1) Remainder
● Since the quotient is zero now, no more division can be done. So by taking the remainders in reverse
order, we get the equivalent octal number.
● Hence, (127)10 = (177)8
● Example 2: Convert (52)10 to octal.
● Solution: Divide 52 by 8
● 52 ÷ 8 = 6(Quotient) and (4)Remainder
● Divide 6 by 8 again.
● 6 ÷ 8 = 0(Quotient) and (6) Remainder
● Since the quotient is zero now, no more division can be done. So by taking the remainders in reverse
order, we get the equivalent octal number.
● Hence, (52)10 = (64)8
● Example 3: Convert (100)10 to octal.
● Solution: Divide 100 by 8
● 100 ÷ 8= 12(Quotient) and (4)Remainder
● Divide 12 by 8 again.
● 12 ÷ 8 = 1(Quotient) and (4) Remainder
● Divide 1 by 8, we get;
● 1 ÷ 8 = 0(Quotient) and (1) Remainder
● Since the quotient is zero now, no more division can be done. So by taking the remainders in reverse
order, we get the equivalent octal number.
● Hence, (100)10 = (144)8

Prepared by: Prof. Meghavi Dave



● Exercise of the decimal to octal conversion
● Convert 18 (decimal) to octal.Ans. : (22)8
● Convert 25 (decimal) to octal. Ans. : (31)8
● Convert 73 (decimal) to octal. Ans. : (111)8
● Convert 45 (decimal) to octal. Ans. : (55)8
● Convert 63 (decimal) to octal. Ans. : (77)8
● Convert 99 (decimal) to octal. Ans. : (143)8
● Convert 120 (decimal) to octal. Ans. : (170)8
● Convert 150 (decimal) to octal. Ans. : (226)8
● Convert 256 (decimal) to octal. Ans. : (400)8
● Convert 512 (decimal) to octal. Ans. : (1000)8
● Convert 345 (decimal) to octal. Ans. : (531)8
● Convert 432 (decimal) to octal. Ans. : (660)8
● Convert 567 (decimal) to octal.Ans. : (1067)8

● Decimal to Hexadecimal:
● Convert (128)10 to hex.
Operation Output Remainder

128÷ 16 8 0

8÷ 16 0 8

Prepared by: Prof. Meghavi Dave


● Therefore, the equivalent hexadecimal number is 8016
● Convert a decimal to hexadecimal (951.35)16

Operation Output Remainder

951 ÷ 16 59 7

59÷ 16 3 11-B

3÷ 16 0 3
● Therefore, the equivalent hexadecimal number is (3B7)16
● Converting the fractional part (0.35) to hexadecimal:
● Multiply 0.35 by 16:
○ 0.35 × 16 = 5.6 (5 is the first hex digit after the decimal point)
● Multiply 0.6 by 16:
○ 0.6 × 16 = 9.6 (9 is the next hex digit)
● Multiply 0.6 by 16 (again to get more precision):
○ 0.6 × 16 = 9.6 (you can stop here or continue if you want more digits)

So, 0.35 in hexadecimal is approximately .599.

Final Result: The decimal number 951.35 in hexadecimal is approximately 3B7.599.

Prepared by: Prof. Meghavi Dave


● Exercise of the decimal to hexadecimal conversion
● Convert the decimal number 175 to its hexadecimal equivalent. Ans:AF
● Convert the decimal number 255 to its hexadecimal equivalent. Ans. FF
● Convert the decimal number 346 to its hexadecimal equivalent. Ans. 15A
● Convert the decimal number 512 to its hexadecimal equivalent. Ans. 200
● Convert the decimal number 872 to its hexadecimal equivalent. Ans. 368
● Convert the decimal number 163 to its hexadecimal equivalent. Ans. A3
● Convert the decimal number 587 to its hexadecimal equivalent. Ans. 24B
● Convert the decimal number 654 to its hexadecimal equivalent. Ans. 28E
● Convert the decimal number 1337 to its hexadecimal equivalent. Ans. 539

Other Base System to Decimal Conversion


● Binary to Decimal:
● Convert (1101)2 into a decimal number.
● 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20
● =8+4+0+1
● = 13
● Therefore, (1101)2 = (13)10
● Convert binary 1011.101 to decimal.
● Integer part: 1011
● 1×23=1×8=8
● 0×22=0×4=0
● 1×21=1×2=2

Prepared by: Prof. Meghavi Dave


● 1×20=1×1=1

Total for the integer part: 8+0+2+1=11

2. Fractional part: .101

● 1×2−1=1×0.5=0.5
● 0×2−2=0×0.25=0
● 1×2−3=1×0.125=0.125

Total for the fractional part: 0.5+0+0.125=0.625

Final Result: The binary number 1011.101 in decimal is 11.625.


● Exercise of the binary to decimal conversion
● Convert the binary number 101101 to decimal.
● Answer: 45
● Convert the binary number 111000 to decimal.
● Answer: 56
● Convert the binary number 10011 to decimal.
● Answer: 19
● Convert the binary number 110011 to decimal.
● Answer: 51
● Convert the binary number 100101 to decimal.
● Answer: 37
● Convert the binary number 101010 to decimal.

Prepared by: Prof. Meghavi Dave


● Answer: 42
● Convert the binary number 111111 to decimal.
● Answer: 63
● Convert the binary number 100001 to decimal.
● Answer: 33
● Convert the binary number 110110 to decimal.
● Answer: 54
● Convert the binary number 101100 to decimal.
● Answer: 44
● Convert the binary number 100110 to decimal.
● Answer: 38
● Convert the binary number 1101011 to decimal.
● Answer: 107
● Convert the binary number 1110100 to decimal.
● Answer: 116
● Convert the binary number 1011110 to decimal.
● Answer: 94
● Convert the binary number 1000001 to decimal.
● Answer: 65
● Octal to Decimal:
● Convert (22)8 to decimal number.
● Solution: Given, 228
● 2 x 81 + 2 x 80

Prepared by: Prof. Meghavi Dave


● = 16 + 2
● = 18
● Therefore, (22)8 = (18)10
● (246.28)8.


● Exercise of the octal to decimal conversion
● Convert (10)8 to decimal.
● Ans: (8)10
● Convert (17)8 to decimal.
● Ans: (15)10

Prepared by: Prof. Meghavi Dave


● Convert (25)8 to decimal.
● Ans: (21)10
● Convert (123)8 to decimal.
● Ans: (83)10
● Convert (345)8 to decimal.
● Ans: (229)10
● Convert (567)8 to decimal.
● Ans: (375)10
● Convert (77)8 to decimal.
● Ans: (63)10
● Convert (234)8 to decimal.
● Ans: (156)10
● Convert (100)8 to decimal.
● Ans: (156)10
● Convert (234)8 to decimal.
● Ans: (64)10
● Convert (111)8 to decimal.
● Ans: (73)10
● Hexadecimal to Decimal:
● Convert (121)16 to decimal number.
● Solution: 1 x 162 + 2 x 161 + 1 x 160
● = 16 x 16 + 2 x 16 + 1 x 1
● = 289

Prepared by: Prof. Meghavi Dave


● Therefore, (121)16 = (289)10
● Convert (1DA6)16 to decimal.
● Solution:
● (1DA6)16
● Here,
● 1=1
● D = 13
● A = 10
● 6=6
● Thus,
● (1DA6)16 = (1 × 163) + (13 × 162) + (10 × 161) + (6 × 160)
● = (1 × 4096) + (13 × 256) + (10 × 16) + (6 × 1)
● = 4096 + 3328 + 160 + 6
● = 7590
● Therefore, (1DA6)16 = (7590)10
● Convert (E8B)16 to a decimal system.
● Solution:
● (E8B)16
● Here,
● E = 14
● 8=8
● B = 11
● Thus,

Prepared by: Prof. Meghavi Dave


● (E8B)16 = (14 × 162) + (8 × 161) + (11 × 160)
● = (14 × 256) + (8 × 16) + (11 × 1)
● = 3584 + 128 + 11
● = 3723
● Therefore, (E8B)16 = (3723)10
● Binary addition & subtraction
● What is Binary Addition
● The binary addition operation works similarly to the base 10 decimal system, except that it is a base 2
system. The binary system consists of only two digits, 1 and 0. Most of the functionalities of the
computer system use the binary number system. The binary code uses the digits 1’s and 0’s to make
certain processes turn off or on. The process of the addition operation is very familiar to the decimal
system by adjusting to the base 2.
● Before attempting the binary addition process, we should have complete knowledge of how the place
works in the binary number system. Because most of the modern digital computers and electronic
circuits perform the binary operation by representing each bit as a voltage signal. The bit 0 represents
the “OFF” state, and the bit 1 represents the “ON” state.
● Rules of Binary Addition
● Binary addition is much easier than the decimal addition when you remember the following tricks or
rules. Using these rules, any binary number can be easily added. The four rules of binary addition are:
● 0+0=0
● 0+1=1
● 1+0=1
● 1 + 1 =0 with 1 carry

Prepared by: Prof. Meghavi Dave


● 1+1+1=1 with 1 carry
● How To Do Binary Addition?
● Procedure for Binary Addition of Numbers:
● 101
● (+) 101
● Step 1: First consider the 1’s column, and add the one’s column,( 1+1 ) and it gives the result 10 as
per the condition of binary addition.
● Step 2: Now, leave the 0 in the one’s column and carry the value 1 to the 10’s column.
● 1
● 101
● (+) 101
● ————–
● 0
● Step 3: Now add 10’s place, 1+( 0 + 0 ) = 1. So, nothing carries to the 100’s place and leave the
value 1 in the 10’s place
● 1
● 101
● (+) 101
● ————-
● 10
● Step 4: Now add the 100’s place ( 1 + 1 ) = 10. Leave the value 0 in the 100’s place and carries 1 to
the 1000’s place.
● 1

Prepared by: Prof. Meghavi Dave


● 101
● (+) 101
● ————-
● 1010
● So, the result of the addition operation is 1010.
● Examples of Binary Addition
● Example 1: 10001 + 11101
● 1
● 10001
● (+) 1 1 1 0 1
● ———————–
● 101110
● Example 2: 10111 + 110001
● Solution:
● 111
● 10111
● (+) 1 1 0 0 0 1
● ———————–
● 1001000
● Binary Subtraction
● What is Binary Subtraction?
● Can you subtract binary numbers? The answer is yes. Subtraction of binary numbers is an arithmetic
operation similar to the subtraction of decimal numbers or base 10 numbers. For example, 1 + 1 + 1 =

Prepared by: Prof. Meghavi Dave


3 in base 10 and 1 + 1 + 1 = 11 in the binary number system. When you add and subtract binary
numbers, you will need to be careful when borrowing as these will take place more often.
● When you subtract several columns of binary digits, you must take into account the borrowing. When
1 is to be subtracted from 0, the result is 1 where 1 is borrowed from the next highest order bit or
digit.
● Binary Subtraction Rules
● Rules and tricks: Binary subtraction is much easier than the decimal subtraction when you
remember the following rules:
● 0–0=0
● 0 – 1 = 1 ( with a borrow of 1)
● 1–0=1
● 1–1=0
● How to Subtract Binary Numbers?
● how to do binary subtraction using the example: 1010 – 101
● Procedure to do Binary Subtraction:
● 1010
● (-) 101
● Step 1: First consider the 1’s column, and subtract the one’s column,( 0 – 1 ) and it gives the result 1
as per the condition of binary subtraction with a borrow of 1 from the 10’s place.
● Step 2: After borrowing 1 from the 10’s column, the value 1 in the 10’s column is changed into the
value 0
● 1 Borrow
● 1010

Prepared by: Prof. Meghavi Dave


● (-) 1 0 1
● ——————
● 1
● Step 3: So, subtract the value in the 10’s place, ( 0 – 0 ) = 0.
● 1 Borrow
● 1010
● (-) 1 0 1
● ——————
● 01
● Step 4: Now subtract the values in 100’s place. Borrow 1 from the 1000’s place ( 0 – 1 ) = 1.
● 1 1 Borrow
● 1010
● (-) 1 0 1
● ——————
● 0101
● So, the result of the subtraction operation is 0101.
● Exercise of the binary subtraction
● 1101 + 1011 = 11000
● 1001 + 0110 = 1111
● 1110 + 0011 = 10001
● 1010 + 0101 = 1111
● 1100 + 1100 = 11000
● 1100 - 0101 = 0111

Prepared by: Prof. Meghavi Dave


● 11000 - 00001 = 10111
● 11000 - 01111 = 01001
● 1011 - 0010 = 1001
● 1110 - 0101 = 1001
● 1001 - 0011 = 0110
● 1101 - 1010 = 0011
● 0101 + 01011 = 100000
● 11001 + 00111 = 11110
● 10010 + 01101 = 11111
● 11111 + 1111 = 101110
● 11110 - 01101 = 10001
● 10101 - 01010 = 01011
● 11011 - 10101 = 00110

● ASCII Code
● ASCII stands for American Standard Code for Information Interchange, A character encoding
standard that assigns unique numerical values to letters, digits, punctuation marks, and other symbols.
● In the physical world, you would use a pen and paper to write the message, and your friend would
read the text directly. However, when it comes to digital communication, computers don’t understand
letters and symbols the way humans do. Instead, they process information in the form of binary code,
which consists of 0s and 1s. This is where ASCII values come into play.

Prepared by: Prof. Meghavi Dave


● ASCII values serve as a bridge between human-readable text and computer-readable binary code.
Each character, whether it’s a letter, number, or symbol, is assigned a unique ASCII value ranging
from 0 to 127. For example, the ASCII value of the uppercase letter ‘A’ is 65, while the lowercase
letter ‘a’ has an ASCII value of 97. Similarly, the digit ‘0’ has an ASCII value of 48.
● ASCII (American Standard Code for Information Interchange) is a standard character encoding used
in telecommunication. The ASCII, pronounced ‘ask-ee’, is strictly a seven-bit code based on the
English alphabet. ASCII codes are used to represent alphanumeric data.
● The code was first published as a standard in 1967. It was subsequently updated and published as
ANSI X3.4-1968, then as ANSI X3.4-1977, and finally as ANSI X3.4-1986. Since it is a seven-bit
code, it can at the most represent 128 characters. It currently defines 95 printable characters including
26 upper case letters (A to Z), 26 lower case letters, 10 numerals (0 to 9), and 33 special
characters including mathematical symbols, punctuation marks, and space characters. They
represent text in, telecommunications equipment, and devices. These include numbers, upper and
lowercase English letters, functions, punctuation symbols, and some other symbols.
● In total, there are 256 ASCII characters.
● How Computers Use ASCII to Understand Human Text?
● Suppose you want to send a text message to your friend that reads, “Hello!” When you type this
message on your phone or computer, each character is converted into its corresponding ASCII value.
In this case, the ASCII values for “Hello!” are 72, 101, 108, 108, 111, and 33.
● These numerical values are then translated into binary code, which is transmitted to your friend’s
device. Upon receiving the message, their device converts the binary code back into ASCII values
and finally displays the original text, “Hello!”
● The ASCII characters are classified into the following groups:

Prepared by: Prof. Meghavi Dave


● Control Characters
● The non-printable characters used for sending commands to the PC or printer are known as control
characters. We can set tabs, and line breaks functionality by this code. The control characters are
based on telex technology. Nowadays, it's not so much popular in use. The characters from 0 to 31
and 127 come under control characters.
● Special Characters
● All printable characters that are neither numbers or letters come under the special characters. These
characters contain technical, punctuation, and mathematical characters with space also. The
character from 32 to 47, 58 to 64, 91 to 96, and 123 to 126 comes under this category.
● Numbers Characters
● This category of ASCII code contains ten Arabic numerals from 0 to 9.

Prepared by: Prof. Meghavi Dave


● Letters Characters
● In this category, two groups of letters are contained, i.e., the group of uppercase letters and the
group of lowercase letters. The range from 65 to 90 and 97 to 122 comes under this category.
● ASCII Table

Prepared by: Prof. Meghavi Dave


Prepared by: Prof. Meghavi Dave
● ANSI character code
● The American National Standards Institute (ANSI) codes are standardized numeric or alphabetic
identifiers that are issued by the American National Standards Institute to enable uniform
identification of geographic entities across all federal government departments. These codes can be
found on ANSI documents. It is a generic term for the default code page of a given operating system,
such as Windows.

● The American Standard Code for Information Interchange (ASCII) is nothing more than the
definition of a code page that contains 128 symbols and uses 7 bits. This is extended to 8 bits by the
ANSI standard, and there are multiple separate code pages for the symbols 128 to 255.

● In 1985, Microsoft Windows was released for the first time with the ANSI character set already
installed. The ANSI code page format is the primary one used in Windows ME. They are also
compatible with the Windows NT operating system. It is referred to as Windows-1252 when running
on Windows/U.S. In addition, the ANSI coding format is the one that is used by default in
Notepad++. The encoding of Latin letters is typically done . Unix and MS-DOS are both examples of
popular software that is ANSI-based.

Prepared by: Prof. Meghavi Dave


● Boolean Algebra
● Boolean algebra is a type of algebra that is created by operating the binary system. In the year 1854, George
Boole, an English mathematician, proposed this algebra. This is a variant of Aristotle’s propositional logic
that uses the symbols 0 and 1, or True and False. Boolean algebra is concerned with binary variables and
logic operations.
● Boolean Algebra is fundamental in the development of digital electronics systems as they all use the concept
of Boolean Algebra to execute commands. Apart from digital electronics this algebra also finds its
application in Set Theory, Statistics, and other branches of mathematics.
● What is Boolean Algebra?
● Boolean Algebra is a branch of algebra that deals with boolean values—true and false. It is fundamental to
digital logic design and computer science, providing a mathematical framework for describing logical
operations and expressions
Boolean Algebra Operations
Various operations are used in Boolean algebra but the basic operations that form the base of Boolean Algebra are.
● Negation or NOT Operation
● Conjunction or AND Operation
● Disjunction or OR Operation

Prepared by: Prof. Meghavi Dave


These operations have their own symbols and precedence and the table added below shows the symbol and the
precedence of these operators.

Operator Symbol Precedence

Prepared by: Prof. Meghavi Dave


NOT ‘ (or) ⇁ First

AND . (or) ∧ Second

OR + (or) ∨ Third

We can easily define these operations using two boolean variables


Boolean Algebra Rules
In Boolean Algebra there are different fundamental rules for logical expression.
● Binary Representation: In Boolean Algebra the variables can have only two values either 0 or 1 where 0
represents Low and 1 represents high. These variables represent logical states of the system.
● Complement Representation: The complement of the variables is represented by (¬) or (‘) over the
variable. This indicates logical negation or inversion of the variable’s value. So Complement of variable
A can be represented by A‾ ,if the value of A=0 then its complement is 1.

Prepared by: Prof. Meghavi Dave


● OR Operation: The OR operation is represented by (+) between the Variables. OR operation returns true
if at least one of the operands is true. For Examples let us take three variables A,B,C the OR operation
can be represented as A + B + C.
● AND Operation: The AND Operation is denoted by (.) between the Variables. AND operation returns
true only if all the operands are true. For Examples let us take three variables A,B,C the AND operation
can be represented A.B.C or ABC.

● Laws for Boolean Algebra
● The basic laws of the Boolean Algebra are added in the table added below,

Law OR form AND form

Identity Law P+0=P P.1 = P

Idempotent
P+P=P P.P = P
Law

Prepared by: Prof. Meghavi Dave


Commutative
P+Q=Q+P P.Q = Q.P
Law

Associative P + (Q + R) = (P + Q)
P.(Q.R) = (P.Q).R
Law +R

Distributive P + QR = (P + Q).(P P.(Q + R) = P.Q +


Law + R) P.R

Inversion Law (A’)’ = A (A’)’ = A

Prepared by: Prof. Meghavi Dave


De Morgan’s (P.Q)’ = (P)’ +
(P + Q)’ = (P)’.(Q)’
Law (Q)’

AND Law

AND law of the Boolean algebra uses AND operator and the AND law is,
● A.0=0
● A.1=A
● A.A=A

OR Law

OR law of the Boolean algebra uses OR operator and the OR law is,
● A+0=A
● A+1=1
● A+A=A

Prepared by: Prof. Meghavi Dave


Unit 4
Fundamentals of Computer Networking

● 4.1 Need for Computer Networking


● 4.2 Types of Networks – LAN, MAN, WAN, Internet, Intranet
● 4.3 Applications of Network

● What is a computer network?


● A computer network is a system that connects many independent computers to share information
(data) and resources. The integration of computers and other different devices allows users to
communicate more easily. A computer network is a collection of two or more computer systems that
are linked together. A network connection can be established using either cable or wireless media.
Hardware and software are used to connect computers and tools in any network.

Prepared by: Prof. Meghavi Dave


● Need for computer Networking
● In the current digital era, computer networks are crucial for several reasons. They make
communicating, sharing information, and accessing resources easier. Following are some of the main
demands for and advantages of computer networks:
○ Communication: Computer networks enable email, messaging, video conferencing, and voice calls
over the internet or local intranets, connecting people and devices.
○ Resource Sharing: Networks allow the sharing of hardware resources like printers, scanners, and
storage units. Costs are decreased, and productivity is increased.
○ Data sharing: Among connected devices, networks make it simple to share files and data. This is
essential for teamwork in organizations and academic settings.
○ Access to the Internet: Most people worldwide use computer networks to access the internet, which
is a massive database of knowledge, goods, and entertainment.
○ Remote access: Networks enable employees to work from home or access resources from any
location by granting remote access to computers and systems.
○ Data Backup: The backup of important data is made simple and secure by network-attached storage
(NAS) and cloud storage services.
○ Scalability: Networks are easily scalable for expanding businesses because they accommodate more
devices and users.
○ Security: To guard against unauthorized access and online threats, networks use security tools like
firewalls, encryption, and intrusion detection systems.

Prepared by: Prof. Meghavi Dave


○ E-commerce: Secure computer networks are essential for online shopping and financial transactions.
○ Education: Computer networks are essential to e-learning and online education because they
increase access to educational resources on a global scale.
○ Healthcare: Networks allow for the management of medical records, telemedicine, and the sharing
of patient data.
○ Smart Devices: To connect and communicate between smart devices for home automation, industrial
control, and other uses, the Internet of Things heavily relies on networks.
○ Research and Innovation: Network-wide data and resource sharing is frequently necessary for
collaborative research and innovation.

● Types of Networks – LAN, MAN, WAN, Internet, Intranet


● LAN(Local Area Network)
● As the name suggests, the local area network is a computer network that operates in a small area, i.e.,
it connects computers in a small geographical area like within an office, company, school, or any
other organization. So, it exists within a specific area, e.g. home network, office network, school
network, etc.
● A local area network may be a wired or wireless network or a combination of both. The devices in a
LAN are generally connected using an Ethernet cable, which offers an interface to connect multiple
devices like router, switches, and computers. For example, using a single router, few Ethernet cables,

Prepared by: Prof. Meghavi Dave


and computers, you can create a LAN at your home, office, etc. In this network, one computer may
act as a server and other computers, which are part of the network, may serve as clients.

Advantages of LAN
● Simple and reasonable cost: The primary benefit of the local area network is that it is immediate
and easy to set up and also its price is minimum.
● Accessing software program: With the help of LAN, software programs are also shared. You can
incorporate a single licensed program that can be used by any device on a network. It is very costly to
buy a license for every device on a network, consequently sharing software is a simple and
straightforward way.

Prepared by: Prof. Meghavi Dave


● Data protection: Data protection is a safe and secure way to keep information on the server. Here if
you wish to update or eliminate any data, you can do so rapidly on a single server computer and other
devices obtain new information.
● Fast communication: LAN-connected system to communicate directly at very high speed, based on
the LAN model and installed ethernet cabling. The most prevalent enabled speed is 10Mbps,
100Mbps, and 1000Mbps.

Disadvantages of LAN

● Limited distance: Local area networks are used only in buildings or apartment complexes; it cannot
be occupied in bigger areas.
● Information security issue created: If the server equipment is not programmed correctly then
unapproved users can retrieve data and there is a technical mistake. There arise issues like server
privacy.
● Installing LAN is expensive: It is expensive to establish a LAN. Here specialized software is
essential to install a server. Communication hardware such as hubs, switches, routers, and cables are
expensive to buy.

Prepared by: Prof. Meghavi Dave


● Data sharing via outside source: It is difficult and time-consuming to send files from outside the
network since transportable media like pen drives and CDs cannot be easily performed on all devices
on the network.
● Limited scalability: LANs are limited in terms of the number of devices that can be connected to
them. As the number of devices increases, the network can become slow and congested.
● Single point of failure: LANs typically have a single point of failure, such as a central server. If this
server fails, the entire network can go down.
● Maintenance and management: LANs require regular maintenance and management to ensure
optimal performance. This can be time-consuming and costly.

● MAN(Metropolitan Area Network)


● A Metropolitan Area Network (MAN) is a type of computer network that spans over a metropolitan
area, typically a city. It provides high-speed data communication services such as video, audio, and
data transfer between multiple LANs (Local Area Networks) and WANs (Wide Area Networks). The
main purpose of a MAN is to connect different LANs in a city to share resources and exchange data,
as well as to provide internet access to users. A MAN typically covers a geographic area of several
kilometers and is larger than a LAN but smaller than a WAN.

Prepared by: Prof. Meghavi Dave


● MAN stands for Metropolitan Area Network. It is a computer network that connects a number of
LANs to form a larger network, so that the computer resources can be shared. This type of network
covers a larger area than a LAN but smaller than the area covered by a WAN which is designed to
extend over the entire city. MAN is specially designed to provide high-speed connectivity to the users
in which the speed ranges in terms of Mbps. The architecture of MAN is quite complicated hence,it is
hard to design and maintain.

Prepared by: Prof. Meghavi Dave


Characteristics of MAN
● It can cover the area which ranges from 5 to 50 km, which is capable of carrying from a group of
buildings to the whole city.
● In MAN, data rates are moderate to high.
● In MAN, the mostly used medium is optical fibers which results in high-speed connectivity.
● MAN networks provide high reliability because the error rate in this network is very less.
● A MAN network can use a variety of access technologies, such as wireless, fiber-optic, or
copper-based connections, to provide connectivity to different devices and networks.

Advantages of MAN
● Security: MAN provides more security as compared to WAN and it is easy to implement.
● Distance occupies: MAN is occupied more distance as compared to LAN i.e. It is wider than LAN.
● Less expensive: MAN implementation cost is less than WAN because MAN requires fewer resources
as compared to WAN. It saves implementation costs.
● High speed: Man has a high speed of data transfer because MAN often uses fiber optics cables that
are capable of offering speeds up to 1000Mbps.
● Centralized management: MANs can be centrally managed, making it easier to monitor and control
network traffic.
● Cost-effective: Compared to WANs, MANs are more cost-effective to implement and maintain.
● Scalability: MANs can be easily scaled up or down to meet changing business needs.
● Improved communication: MANs can improve communication within organizations by allowing
for faster and more efficient sharing of data and resources.

Prepared by: Prof. Meghavi Dave


Disadvantages of MAN
● The problem of less security: It is difficult to secure the system from hackers because of the large
area. This is mainly due to safety issues.
● Wire required: more cables are required to connect MAN from one place to another. MAN requires
fiber optics cables which are quite expensive.
● Technical assistance: Here, skilled technicians and administrators are required. This can overall
increase the installation cost.
● Difficult to manage: MAN consumes a large area then it is difficult to manage a large network, Here
is a chance of attacking hackers on the network. Data can be secured but it needs experienced staff
and security tools.

Examples of MAN
● Cable TV network.
● Used in government agencies.
● University campuses.
● Used in hospitals to connect multiple buildings

Prepared by: Prof. Meghavi Dave


● WAN(Wide Area Network)
● A WAN (Wide Area Network) is to connect multiple smaller Local Area Networks (LANs). It is a
computer network designed. WANs can help in communication, the sharing of information, and much
more between systems or devices from around the world through a WAN provider.
● WAN stands for Wide Area Network. It is a computer network that covers a large geographical area
consisting of two or more LANs or MANs. These networks are established with leased
telecommunication circuits, in which two sides which are connected have routers that connect the
LAN of both sides together in a network to facilitate communication.

Prepared by: Prof. Meghavi Dave


Characteristics of WAN
● Broader Reach: The reach of WAN in terms of coverage of geographical area is very high which
can be a country or the world.
● Higher Capacity: The capacity of WAN in terms of the number of LANs or WANs connected in a
network is very high, which results in connection of a large number of users over different
locations all around the globe.
● Use of Public Carrier: WAN uses telephone network, cabled system, satellites etc for connection
and transmission purposes which are easily available.
● Resource Sharing: WAN enables its users to share data and information over a large area.
Computer resources can be accessed remotely which makes transmission and exchange of data
very easy.

Advantages of WAN
● Large area coverage: WAN covers a large geographical area(1000 km or more than). Ex. If your
business office is situated in another country and you live in another country then WAN is a platform
to communicate with each other(i.e. you and your office staff members).
● Higher bandwidth: WAN networks usually cover large geographical areas. Ex.1000 km or more
than the wide area network has higher bandwidth than LAN and MAN networks.
● Centralized data: Using the WAN network you can share the data connected to all the devices in the
respective network. Ex. By using the WAN network, all branches are capable of sharing all data
through the head office server and you can get support, full backup, and other precious data from the
head office, and all data gets synchronized along with all other company branches.

Prepared by: Prof. Meghavi Dave


Disadvantages of WAN
● Security issue: WAN faces more security problems than LAN and MAN networks due to WAN
networks more technologies are merged. It can open a security gap, which paves the way of occurring
malicious attacks and identity intruders.
● Installation cost: WANs are default complex and complicated because of large geographical area
coverage. Hence there is a set-up cost in expensive WAN that also needs routers, switches, and other
security solutions.
● Troubleshooting issues: Troubleshoot the big challenge on the WAN network and it requires more
time. If any issue occurs in the computer network then it is the most difficult part to find out the
proper cause due to their broad coverage area.
● Maintenance issues: In a WAN network, it is difficult to maintain the network especially a data
center that operates 24/7 is the biggest challenge out of all. Here 24/7 needs assistance from network
administrators and technicians. In a WAN, maintenance cost is high.

Examples Of Wide Area Network:

○ Mobile Broadband: A 4G network is widely used across a region or country.


○ Last mile: A telecom company is used to provide the internet services to the customers in hundreds
of cities by connecting their home with fiber.
○ Private network: A bank provides a private network that connects the 44 offices. This network is
made by using the telephone leased line provided by the telecom company.

Prepared by: Prof. Meghavi Dave


○ Differences between LAN, MAN, and WAN

Basis LAN MAN WAN

MAN stands for WAN stands for


LAN stands for local
Full-Form metropolitan area wide area
area network.
network. network.

Operates in small Operates in


Operates in large
areas such as the larger areas such
Geographic Span areas such as a
same building or as countries or
city.
campus. continents.

While WAN also


MAN’s ownership
LAN’s ownership is might not be
Ownership can be private or
private. owned by one
public.
organization.

Prepared by: Prof. Meghavi Dave


While the Whereas the
The transmission
Transmission transmission speed transmission
speed of a LAN is
Speed of a MAN is speed of a WAN
high.
average. is low.

There is a Whereas, there is


The propagation
Propagation moderate a long
delay is short in a
delay propagation delay propagation
LAN.
in a MAN. delay in a WAN.

Whereas there is
While there is
There is less more congestion
Congestion more congestion
congestion in LAN. than MAN in
in MAN.
WAN.

While MAN’s Whereas WAN’s


LAN’s design and design and design and
Design &
maintenance are maintenance are maintenance are
Maintenance
easy. more difficult than also more
LAN. difficult than

Prepared by: Prof. Meghavi Dave


LAN as well as
MAN.

In WAN, there is
There is more fault While there is less
Fault tolerance also less fault
tolerance in LAN. fault tolerance.
tolerance.

● Internet
● What is the Internet?
● The Internet is used to connect the different networks of computers simultaneously. It is a public
network therefore anyone can access the internet. On the internet, there are multiple users and it
provides an unlimited amount of information to the users.
● What is the Intranet?
● An intranet is a kind of private network. For example, an intranet is used by different organizations
and only members/staff of that organization have access to this. It is a system in which multiple
computers of an organization (or the computers you want to connect) are connected through an
intranet. As this is a private network, so no one from the outside world can access this network. So
many organizations and companies have their intranet network and only its members and staff have
access to this network. This is also used to protect your data and provide data security to a particular
organization, as it is a private network and does not leak data to the outside world

Prepared by: Prof. Meghavi Dave


● Application of Computer Network
● Internet and World Wide Web
● In computer networks, we have a global internet, also known as the World Wide Web, that offers us
various features like access to websites, online services and retrieval of information. With the help of
the World Wide Web, we can browse, search, and access web pages and multimedia content.
● Communication
● With the help of computer networks, communication is also easy because we can do email, instant
messaging, voice and video calls and video conferencing, which helps us to communicate with each
other effectively. People can use these features in their businesses and organizations to stay connected
with each other.
● File Sharing and Data Transfer
● Data transfer and file sharing are made possible by networks that connect different devices. This
covers file sharing within a business setting, file sharing between personal devices, and
downloading/uploading of content from the internet.
● Online gaming
● Multiplayer online games use computer networks to link players from all over the world, enabling
online competitions and real-time gaming experiences.
● Remote Access and Control
● Networks enable users to access and control systems and devices from a distance. This is helpful
when accessing home automation systems, managing servers, and providing remote IT support.
● Social media

Prepared by: Prof. Meghavi Dave


● With the help of a computer network, we can use social media sites like Facebook, Twitter and
Instagram to help people set up their profiles, and we can connect with others and share content on
social media.
● Cloud Computing
● the provision of on-demand access to computing resources and services hosted in distant data centers
relies on networks. Some examples of cloud computing are software as a service (SaaS), platform as
a service (PaaS) and infrastructure as service (IaaS).
● Online Banking and E-Commerce
● Online banking and e-commerce platforms, where customers conduct financial transactions and make
online purchases, require secure computer networks.
● Enterprise Networks
● In Computer networks, we have some networks that are only used in businesses and organizations so
they can store data and share files and resources like printers, scanners, etc.
● Healthcare
● With the help of computer networks in the health industry, we can share patient records and store the
records in the form of data that is easy and secure compared to the file method. Networks are also
necessary for telemedicine and remote patient monitoring.
● Education
● Schools use networks to access online courses, virtual classrooms, and other online learning
materials. Campuses of colleges and universities frequently have extensive computer networks.
● Transportation and Logistics

Prepared by: Prof. Meghavi Dave


● The transportation sector uses Computer Networks to manage and track shipments, plan the best
routes, and coordinate logistics activities.
● Internet of Things (IoT) and Smart Homes
● Through the Internet of Things (IoT), smart homes use networks to connect to and manage a variety
of devices, including thermostats, security cameras, and smart appliances.
● Scientific Research
● To share data, work together on projects, and access high-performance computing resources for data
analysis and scientific simulations, researchers use networks.
● Government and Defense
● With the help of computer networks, we can communicate, share data, and advance national defense.
Government agencies and the military rely on secure networks.

Prepared by: Prof. Meghavi Dave


Unit 5
Fundamentals of Internet
● 5.1 Overview of Internet, Intranet and types
● 5.2 World Wide Web (WWW),
● 5.3 Website Basics - WebPages(static and dynamic), HyperText,
● Web browser, Web Servers, Web Hosting, Web Portal, Domain name server
● 5.4 Overview of Client & Server Side Scripting, Applications of Internet

● Internet
● The Internet is a global network that connects billions of computers across the world with each other
and to the World Wide Web. It uses the standard internet protocol suite (TCP/IP) to connect billions
of computer users worldwide. It is set up by using cables such as optical fibers and other wireless and
networking technologies. At present, the internet is the fastest means of sending or exchanging
information and data between computers across the world.

Prepared by: Prof. Meghavi Dave


● Features of Internet
● Provides access to information: The Internet is the biggest encyclopedia of information. It consists
of a huge repository of information through websites, digital libraries, scientific papers and articles.
● Information exchange: It serves as a platform where information can be exchanged among people
from any corner of the world.
● Helps in Networking: The Internet provides platforms where people can connect and network with
other people. This helps in building networks and socializing.

● Advantages of the Internet:


● Online Banking and Transaction: The Internet allows us to transfer money online through the net
banking system. Money can be credited or debited from one account to the other.
● Education, Online Jobs, Freelancing: Through the Internet, we are able to get more jobs via online
platforms like Linkedin and to reach more job providers. Freelancing on the other hand has helped
the youth to earn a side income and the best part is all this can be done via the INTERNET.
● Entertainment: There are numerous options for entertainment online. We can listen to music, play
games, watch movies, and web series, and listen to podcasts. Youtube itself is a hub of knowledge as
well as entertainment.
● New Job Roles: The Internet has given us access to social media, and digital products so we are
having numerous new job opportunities like digital marketing and social media marketing online
businesses are earning huge amounts of money just because the Internet is the medium to help us to
do so.

Prepared by: Prof. Meghavi Dave


● Best Communication Medium: The communication barrier has been removed from the Internet.
You can send messages via email, Whatsapp, and Facebook. Voice chatting and video conferencing
are also available to help you to do important meetings online.
● GPS Tracking and google maps: Yet another advantage of the internet is that you are able to find
any road in any direction, and areas with less traffic with the help of GPS on your mobile.
● Disadvantages of the Internet:
● Time Wastage: Wasting too much time on the internet surfing social media apps and doing nothing
decreases your productivity. Rather than wasting time on scrolling social media apps one should
utilize that time in doing something skillful and even more productive.
● Bad Impacts on Health: Spending too much time on the internet causes bad impacts on your health.
Your physical body needs some outdoor games, exercise and many more things. Looking at the
screen for a longer duration causes serious impacts on the eyes.
● Cyber Crimes: Cyberbullying, spam, viruses, hacking, and stealing data are some of the crimes
which are on the verge these days. Your system which contains all the confidential data can be easily
hacked by cybercriminals.

● Intranet and types


● An intranet is a kind of private network. For example, an intranet is used by different
organizations and only members/staff of that organization have access to this. It is a system in
which multiple computers of an organization (or the computers you want to connect) are connected
through an intranet. As this is a private network, so no one from the outside world can access this
network. So many organizations and companies have their intranet network and only its members and

Prepared by: Prof. Meghavi Dave


staff have access to this network. This is also used to protect your data and provide data security to a
particular organization, as it is a private network and does not leak data to the outside world.
● Working of Intranet
● An intranet is a network confined to a company, school, or organization that works like the Internet.

● Here in this diagram, a company or an organization has created its private network or intranet for its
work(intranet network is under the circle). The company or organization has many employees(in this
diagram, we have considered 3). So, for their access, they have PC 1, PC 2, and PC 3(In the real
world there are many employees as per the requirements of an organization). Also, they have their
server for files or data to store, and to protect this private network, there is a Firewall. This firewall

Prepared by: Prof. Meghavi Dave


protects and gives security to the intranet server and its data from getting leaked to any unwanted
user. So, a user who has access to the intranet can only access this network. So, no one from the
outside world can access this network. Also, an intranet user can access the internet but a person
using the internet cannot access the intranet network.

● Advantages of Intranet
● In the intranet, the cost of conveying data utilizing the intranet is very low.
● Using intranet employees can easily get data anytime and anywhere.
● It is easy to learn and use.
● It can be utilized as a correspondence center point where employees can store data at whatever point
they need and download files in just a few seconds.
● It connects employees with each other.
● The documents stored on the intranet are much more secure.
● Disadvantages of Intranet
● The expense of actualizing intranets is normally high.
● The staff of the company or organization require special training to know how to use the system.
● Data overloading.
● Although the intranet provides good security, it still lacks in some places.
● Types of Intranets
● Corporate Intranet: A corporate intranet is the main platform for internal communication and
cooperation inside a firm. It gives employees access to internal materials, including corporate news,
guidelines, and records. Corporate intranets often feature tools for internal messaging, file sharing,

Prepared by: Prof. Meghavi Dave


project management, and employee directories. They foster a centralized hub for employees to stay
informed, collaborate on projects, and access essential information about their roles.
● Departmental Intranet: Departmental intranets are made to meet the needs of certain teams or
departments inside an organization. They provide specialized features and resources to meet the
demands of a certain department, such as sales, marketing, or human resources. These intranets allow
departments to have dedicated communication channels, document repositories, and collaboration
tools, enabling streamlined workflows and focused collaboration within the department.
● Enterprise Intranet: An enterprise intranet connects multiple organizations or subsidiaries within a
larger corporate structure. It provides a platform for sharing information, resources, and knowledge
across different entities. Enterprise intranets facilitate collaboration, coordination, and alignment of
processes and strategies among different organizations or subsidiaries within the same corporate
umbrella.
● Virtual Private Intranet (VPN): Remote workers can safely access an intranet's internal resources
via a Virtual Private Network (VPN). The data transmission between the remote user and the intranet
server is encrypted when a VPN establishes a secure connection over the internet. This guarantees
that private information is kept secure and private when workers are working remotely for the
company.
● Extranet-Enabled Intranet: An extranet-enabled intranet extends access to external parties, such as
clients, partners, or vendors, to specific intranet sections with proper authorization. This type of
intranet allows external stakeholders to collaborate, access shared documents or project information,
and participate in discussions while maintaining control over the information they can access.

Prepared by: Prof. Meghavi Dave


Extranet-enabled intranets enhance collaboration with external parties, fostering stronger business
relationships and streamlined workflows.
● Cloud-Based Intranet: A cloud-based intranet is accessed via web browsers or specific apps and is
hosted on a cloud computing platform. It provides scalability, flexibility, and remote access options.
Intranets built on the cloud do not require on-site infrastructure or maintenance. They let employees
access the intranet from any device with an internet connection, making them the perfect solution for
organizations with geographically distributed teams and remote work circumstances.
● Difference Between the Internet and Intranet

Internet Intranet

The Internet is used to connect Intranet is owned by private firms.


different networks of computers
simultaneously.

On the internet, there are multiple On an intranet, there are limited users.
users.

The Internet is unsafe. The Internet is safe.

Prepared by: Prof. Meghavi Dave


On the internet, there are more In the intranet, there is less number of visitors.
number of visitors.

The Internet is a public network. Intranet is a private network.

Anyone can access the Internet. In this, anyone can’t access the Internet.

The Internet provides unlimited Intranet provides limited information.


information.

Using Social media on your phone or A company used to communicate internally with
researching resources via Google. its employees and share information

The Internet is a global network that An intranet is a private network that connects
connects millions of devices and devices and computers within an organization.
computers worldwide.

It is open to everyone and allows An intranet is only accessible to authorized


access to public information, such as users within the organization.
websites and online services.

Prepared by: Prof. Meghavi Dave


It is used for communication, sharing An intranet is primarily used for internal
of information, e-commerce, communication, collaboration, and information
education, entertainment, and other sharing within an organization.
purposes.

Users can access the Internet from any Access to an intranet is restricted to authorized
location with an Internet connection users within the organization and is typically
and a compatible device. limited to specific devices and locations.

Examples of Internet-based services Examples of intranet-based services include


include email, social media, search internal communications, knowledge
engines, and online shopping sites. management systems, and collaboration tools

● World Wide Web (WWW)


● The World Wide Web (WWW), often called the Web, is a system of interconnected web pages and
information that you can access using the Internet. It was created to help people share and find
information easily, using links that connect different pages together. The Web allows us to browse
websites, watch videos, shop online, and connect with others around the world through our computers
and phones.
● All public websites or web pages that people may access on their local computers and other devices
through the internet are collectively known as the World Wide Web or W3. Users can get further

Prepared by: Prof. Meghavi Dave


information by navigating to links interconnecting these pages and documents. This data may be
presented in text, picture, audio, or video formats on the internet.
● WWW stands for World Wide Web and is commonly known as the Web. The WWW was started by
CERN in 1989. WWW is defined as the collection of different websites around the world, containing
different information shared via local servers(or computers).
● Web pages are linked together using hyperlinks which are HTML-formatted and, also referred to as
hypertext, these are the fundamental units of the Internet and are accessed through Hypertext Transfer
Protocol(HTTP). Such digital connections, or links, allow users to easily access desired information
by connecting relevant pieces of information.
● Working of WWW
● A Web browser is used to access web pages. Web browsers can be defined as programs which display
text, data, pictures, animation and video on the Internet. Hyperlinked resources on the World Wide
Web can be accessed using software interfaces provided by Web browsers. Initially, Web browsers
were used only for surfing the Web but now they have become more universal.
● When users request web pages or other information, then the web browser of your system request to
the server for the information and then the web server provides requested services to the web
browser back and finally the requested service is utilized by the user who made the request.
● Features of WWW
● HyperText Information System
● Hypertext is a system for linking related text documents that allow the participation of multiple users.
In a hypertext document, any word or phrase can be “hyperlinked” to information related to that word
or phrase residing in the same document or another document.

Prepared by: Prof. Meghavi Dave


● Cross-Platform
● Cross-platform apps are the ones with built-in web languages (like JavaScript) that can be later pulled
(f.e. through React Native) as native apps able to work on any operating system and device.
● Cross-platform apps are great when you want to : Build your app 50% faster. Build one app for both
iOS and Android.
● Distributed
● WWW is a distributed client-server service. In this, a client can access the services from a server
using a browser. These services are usually distributed over many locations called sites or websites.
From the user's point of view, the web consists of a vast worldwide collection of documents called
web pages.
● Open Standards and Open Source
● WWW provides the features of Open standards and Open source. An open standard is a standard that
is freely available for adoption, implementation, and updates. A few famous examples of open
standards are XML, SQL, and HTML.
● Businesses within an industry share open standards because this allows them to bring huge value to
both themselves and their customers.
● Open-source software is computer software that is released under a license in which the copyright
holder grants users the rights to use, study, change, and distribute the software and its source code to
anyone and for any purpose.

Prepared by: Prof. Meghavi Dave


● Website Basics - WebPages(static and dynamic); HyperText,Web browser, Web Servers; Web
Hosting, Web Portal, Domain name server
● Webpages(Static and Dynamic)
● A web page is a digital document that is linked to the World Wide Web and viewable by anyone
connected to the internet having a web browser. It can contain any type of information, such as text,
color, graphics, animations, videos, sounds, etc.
● Static Web Pages
● Static web pages are HTML pages that do not change their content or appearance when they are
accessed by different users or at different times. They are designed to display the same information to
all users and do not include any interactive elements or dynamic content.
● Static web pages are typically used for basic information websites, such as brochure-style websites or
personal websites, where the content does not need to change frequently. They are also used for
content that does not require any user input or interaction, such as text, images, and other media.
● Creating a static web page typically involves writing HTML code and linking to external resources,
such as images and stylesheets. Static web pages can be created and edited using a text editor or a
specialized HTML editor. They are typically hosted on a web server and accessed through a web
browser.
● Static web pages are simple and easy to create, but they do not offer the same level of interactivity
and functionality as dynamic web pages. Dynamic web pages are generated by the server in real-time
and can include interactive elements and dynamic content that changes based on user input or other
variables.
● Dynamic Webpage

Prepared by: Prof. Meghavi Dave


● Dynamic websites are those that generate web pages in real-time. Web scripting code, such as PHP or
ASP, is used on these pages. The Web server parses the code, and the generated HTML is transmitted
to the client's browser when a client requests a dynamic page.
● As dynamic websites are easier to maintain than static websites, the majority of large websites are
dynamic. Static pages have their own set of content, hence they must be manually opened, changed,
and published whenever they are updated.
● Dynamic pages, on the other hand, use a database to store the data. As a result, the webmaster may
need to edit a database record to change the content of a dynamic page. This is particularly useful for
sites with hundreds or thousands of pages. It also allows numerous users to update a website's content
without having to change the page layout.
● Difference between static and dynamic web pages.

Static Web Page Dynamic Web Page

In static web pages, Pages will remain the In dynamic web pages, Content of pages
same until someone changes it manually. are different for different visitors.

Static Web Pages are simple in terms of Dynamic web pages are complicated.
complexity.

In static web pages, Information is rarely In dynamic web pages, Information is


changed. changed frequently.

Prepared by: Prof. Meghavi Dave


Static Web Page takes less time for loading Dynamic web pages take more time for
than dynamic web page. loading.

In Static Web Pages, the database is not In dynamic web pages, databases are used.
used.

Static web pages are written in languages Dynamic web pages are written in
such as: HTML, JavaScript, CSS, etc. languages such as: CGI, AJAX, ASP,
ASP.NET, etc.

Static web pages do not contain any Dynamic web pages contain application
application program . programs for different services.

Static web pages require less work and cost Dynamic web pages require comparatively
in designing them. more work and cost in designing them.

● Hypertext
● Hypertext is a cross referencing tool which connects the links to other text using hyperlinks.
Hypertext is non-linear and multi sequential and it is different from our normal text. By the help of
hypertext one organized way is achieved to present information. This makes the user move from one
part of the information to another part of the information which is on the same page or any other
page. It makes the documentation simple by providing a way to easily access the end user.

Prepared by: Prof. Meghavi Dave


● Example of Hypertext is that GeeksForGeeks is a computer science portal, when we read one article
it uses hypertext to link other pages and when we click on that hypertext it takes to us to that page so
that we can gather more information related to the topic.
● Web browser
● A browser is a software program that is used to explore, retrieve, and display the information
available on the World Wide Web. This information may be in the form of pictures, web pages,
videos, and other files that all are connected via hyperlinks and categorized with the help of URLs
(Uniform Resource Identifiers). For example, you are viewing this page by using a browser.
● A browser is a client program as it runs on a user computer or mobile device and contacts the web
server for the information requested by the user. The web server sends the data back to the browser
that displays the results on internet supported devices. On behalf of the users, the browser sends
requests to web servers all over the internet by using HTTP (Hypertext Transfer Protocol). A browser
requires a smartphone, computer, or tablet and internet to work.
● Web Servers

Prepared by: Prof. Meghavi Dave


● Web pages are a collection of data, including images, text files, hyperlinks, database files etc., all
located on some computer (also known as server space) on the Internet. A web server is dedicated
software that runs on the server-side. When any user requests their web browser to run any web page,
the webserver places all the data materials together into an organized web page and forwards them
back to the web browser with the help of the Internet.
● This intercommunication of a web server with a web browser is done with the help of a protocol
named HTTP (Hypertext Transfer Protocol). These stored web pages mostly use static content,
containing HTML documents, images, style sheets, text files, etc. However, web servers can serve
static as well as dynamic contents. Web Servers also assists in emailing services and storing files.
Therefore it also uses SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol)
protocols to support the respective services. Web servers are mainly used in web hosting or hosting
the website's data and running web-based applications.
● The hardware of the web servers are connected to the Internet that manages the data exchange facility
within different connected devices. In contrast, the software of web server software is responsible for
controlling how a user accesses delivered files. Typically, web server management is an ideal
example of the client/server model. Therefore, it is compulsory for all computers that host
websites (whether with state or dynamic web page content) to have web server software.
● Web Hosting
● Web hosting is a service that allows us to put a website or a web page onto the Internet, and make it a
part of the World Wide Web. Once a website is created using a hardware server, we need to connect it
to the Internet so that users across the globe can access it. On the other hand, we can rent server
resources (CPU, RAM, and storage) from a cloud service provider and host our locally created

Prepared by: Prof. Meghavi Dave


website there. This is done by uploading the files constituting the website (HTML, CSS, JavaScript,
images, databases, etc.) from the local computer onto the space allocated on the server.
● WebPortal
● The term web portal refers to a management system for knowledge and data that is capable of
delivering the facility to various companies and organizations for building, sharing, interchanging,
and reusing their data. A web portal is a private type of location present on the internet. One needs a
unique web address (URL), along with an id and a password for retrieving a web portal. The content
present within is very secured and protected. It is specific to the users, and the overall interface can
be both- public or private.
● A web portal allows a user to access multiple roles. The content present in such portals are dynamic
in nature, and they change very frequently. The overall visibility of the content present in it changes
from one person to another. In other words, the knowledge and data contained can be unique to
specific users based on the group member settings. Web portals collect their content from a variety of
sources that are diverse.
● Domain name server
● All the websites on the Internet have unique names associated with them. To launch a website, we
must have a unique domain name. To avoid any conflict within the names of the websites the concept
of domain names was developed.
● Certain websites have .ac which indicates academic organizations and .in suffixed to their name
indicating that they belong to India, for example, www.ignou.ac.in, www.ncert.nic.in, and many
more
● websites having .au as a suffix to indicate Australia, .jp to indicate Japan, and so on. However, there
is no such suffix for the USA

Prepared by: Prof. Meghavi Dave


● A domain can be generic or according to the names of the country. Some common domain names are
● 1. in– stands for India (country name)
● 2. gov– indicates government agencies
● 3. net– network organizations
● 4. org– non-profit organizations
● 5. edu– educational organizations
● 6. com– commercial organizations
● 7. mil– military or defense
● To translate a numeric IP address that identifies a computer on the Internet to a domain name that is
convenient for the user to remember, a mapping is needed between the IP addresses and domain
names.
● A domain Name System (DNS) server is a computer having a database that stores the IP addresses
and their domain names. Whenever a user uses the domain name, DNS translates it into its
corresponding IP address, to access the computer on the Internet. For example, DNS translates
google.com to the IP address of the computer that houses Google.

● Overview of Client & Server Side Scripting, Applications of Internet


● Client side scripting
● Client-side scripting generates code that may be executed on the client end without needing
server-side processing. These scripts are typically embedded into HTML text. Client-side scripting
may be utilized to check the user's form for problems before submitting it and to change the content
based on the user input. The web needs three components to function: client, database, and server.

Prepared by: Prof. Meghavi Dave


● The client-side scripting may significantly reduce server demand. It is intended to be utilized as a
scripting language with a web browser as the host program. The HTML and CSS are delivered as
plain text when a user uses a browser to request a webpage from the server, and the browser
understands and renders the web content at the client end.
● Advantages of Client Side Scripting
● Faster page load times: Client-side scripting can greatly reduce the amount of data sent between the client
and the server, resulting in faster page load times.
● Improved User Experience: Client-side scripting provides a more interactive and dynamic user experience
with features such as form validation, live updates, and animations.
● Reduced Server Load: By moving some of the processing to the client-side, the workload on the server is
reduced, leading to improved performance and scalability.
● Cross-platform compatibility: Client-side scripting is supported by all major browsers, making it
platform-independent and accessible to a wide range of users.
● Ease of Development: Client-side scripting languages such as JavaScript are relatively easy to learn and
use, making them accessible to a wide range of developers.
● Enhanced Security: Client-side scripting helps to improve the overall security of a web application by
reducing the amount of sensitive information that is sent to the server.
● Real-time updates: Client-side scripting enables real-time updates and information displays, making the
web application more responsive and providing a better user experience.
● Disadvantages of Client Side Scripting
● Browser compatibility issues: Different browsers may interpret and execute client-side scripts differently,
leading to compatibility issues and potential errors.
● Dependence on client device: The functionality of client-side scripting is dependent on the client's device
and browser, and may not work properly if the device or browser is not up-to-date.

Prepared by: Prof. Meghavi Dave


● Limited functionality: The functionality of client-side scripting is limited by the capabilities of the client's
device and browser, making it unsuitable for complex or resource-intensive operations.
● Server-Side Scripting
● Server-side scripting, also known as back-end programming, is crucial for web applications, enabling
the handling of extensive data and operations on the server. This approach allows for:
● Customization of content and offers based on user behavior, providing personalized experiences.
● Dynamic generation of web content by managing large databases, crucial for sites with extensive
product listings like e-commerce platforms.
● In-depth analysis of user data to tailor content and recommendations, enhancing decision-making.
● Direct communication with users through personalized notifications and messages, improving
engagement.
● Seamless continuation of user activities across sessions, enhancing the overall user experience.
● Key languages for server-side development include PHP, Node.js, C#, Ruby, and Python, each
offering distinct features for robust back-end solutions.
● Advantages of Server Side Scripting
● Security: Server-side scripting provides an extra layer of security as the sensitive information is
stored and processed on the server, making it more difficult for malicious actors to access sensitive
data.
● Scalability: Server-side scripting is more scalable than client-side scripting as it can handle a large
number of requests and traffic without affecting the performance of the website.
● Dynamic Content: Server-side scripting enables the creation of dynamic content, which can change
based on user input or other factors, making websites more interactive and engaging.

Prepared by: Prof. Meghavi Dave


● Cross-Platform Compatibility: Server-side scripting is not affected by the type of platform or
device being used, ensuring a consistent user experience across all devices.
● Server-SideProcessing Power: The server has more processing power than the client's browser,
making it ideal for complex calculations and data processing.
● Better Performance: Server-side scripting can reduce the load on the client's browser and improve
the overall performance of the website.
● Centralized Data Management: Server-side scripting allows for centralized data management,
making it easier to manage and maintain the website's data and content.
● Disadvantages of Server Side Scripting
● Server Dependence: Server-side scripting relies on a functioning server to generate dynamic
content, so if the server is down, the website may not be accessible.
● Slower Load Times: Server-side scripting can result in slower load times compared to client-side
scripting, as the server needs to process the request and generate the content before it is sent to the
client.
● Higher Server Load: Server-side scripting puts more strain on the server, increasing the risk of
server crashes or slowdowns when handling a large number of requests.
● Higher Costs: Server-side scripting often requires more powerful and expensive servers, which can
lead to higher hosting costs for websites.
● Limited Interactivity: Server-side scripting does not offer as much interactivity as client-side
scripting, as the script is executed on the server and not on the client's browser.
● Maintenance and Updating: Server-side scripting requires regular maintenance and updates to
ensure the server remains secure and the website remains functional.

Prepared by: Prof. Meghavi Dave


● Difference between Client & Server Side Scripting
Features Server-side Scripting Client-side Scripting
Primary Function The main function of this The main purpose of this
scripting is to manipulate and scripting is to give the
grant access to the requested requested output to the
database. end-user.
Uses It is employed at the backend, It is utilized at the front end,
where the source code is which users may view
invisible on the client side. through the browser.
Processing It needs server interaction. It doesn't need any server
interaction.
Security It is more secure while working It is less secure than
on a web app. server-side scripting due to
the code accessibility offered
to the client.
Running It executes on the web server. It executes on the remote
computer system.
Dependability It doesn't depend on the client. It depends on the user's
browser version.

Prepared by: Prof. Meghavi Dave


File Access It offers complete access to the It doesn't offer any access to
file that is stored in the web the files on the web servers.
database server.
Code Allowance It enables the backend developer The user is given access to the
to hide the source code from the written code after confirming
user. their requirements.
Occurrence It only responds after the user It happens when the browser
begins the browsing request. processes all of the codes and
then acts according to the
client's needs.
Affect It may reduce the server load. It may effectively customize
web pages and offer dynamic
websites.
Languages The server-side scripting Its programming languages
Involved programming languages, such as are HTML, CSS, and
PHP, Python, ASP.net, Java, JavaScript.
C++, Ruby, C#, etc.

● Application of Internet
● The Internet is a global networking system that can be used on most devices nowadays and has
become an essential part of our lives. In today's technological era, most of the companies are getting

Prepared by: Prof. Meghavi Dave


their operations done over the Internet. There are various uses of the Internet by which companies
and individuals are making their daily tasks more productive and more comfortable.

● Online Booking & Orders


● The Internet has made it a lot easier for people to book tickets for buses, trains, flights
(domestic and international) directly using their devices from anywhere. People can also book a
taxi by choosing their current location, and they will be picked up or dropped at a specified
location. Now no one needs to wait in long queues for their turn to book tickets at the ticket
counter.

Prepared by: Prof. Meghavi Dave


● Besides, people can order a wide variety of products at home using the Internet and devices. It
can range from grocery products to ready to eat, fashionable clothes to medicines. Most items
can be ordered at home and received directly at the door.
● Cashless Transactions
● Most countries are promoting cashless transactions and digital payments. This helps people not
carry much cash. People can pay their bills through debit or credit cards using POS devices.
These devices are connected to the payment gateway on the Internet. Besides, People can also
use their smartphone and the Internet for processing transactions on UPI (Unified Payment
Interface). It does not even require them to carry their cards. The UPI payment method is
continuously evolving and is expected to cover most transactions in the near future.
● Education
● Most of the devices nowadays are connected through the Internet. The Internet has the
availability of broad educational content on any topic with different types. People can study the
relevant topic just by spending a couple of minutes over the Internet. Internet Search engines
help people quickly find the relevant study material in multiple formats (such as images,
videos, documents, etc.). This helps eliminate the need to go to the library to read several books
to find the desired information.
● Besides, the Internet has also enabled students to participate in their classes through video
conferencing, where students can connect with their teachers or professionals anywhere in the
world.
● Online Banking & Trading
● The way of banking has changed after the introduction of the Internet. The Internet has made
banking online where people can manage their bank accounts while sitting at home or traveling

Prepared by: Prof. Meghavi Dave


abroad. Nowadays, most of the features of banking are right in people's hands. With the help of
online banking, people can securely transfer the money from one account to another, change
their ATM pins, apply for the physical or virtual credit cards, update credit card limits, enable
or disable international transactions, track their transactions, and many more. Also, they can
even raise an online complaint or contact the bank's support staff.
● Apart from this, the Internet has made it a lot easier for people to trade in the Stock market
from anywhere. People can easily buy, sell, or manage stocks online.
● Research
● The Internet is playing a significant role in the field of research. Before the use of the Internet,
it was quite hard to look for information about anything. People had to go through hundreds of
books for references to find the desired information. However, the Internet has made it a lot
easier, and anyone can find the required information at some clicks only. In research, people
can study about the success and failed research and work further for the improvements. Uses of
the Internet in research have been incredibly beneficial for the researchers.
● Electronic Mail
● mail or electronic mail is one of the first significant uses of the Internet. The email has enabled
faster communication between people on the Internet. Using email, people can quickly share
information, data files, such as images, audio, video, and other types of files. The use of email
has significantly reduced paper use, which was the primary source of communication in the
olden days. Anyone can have a free email address and can easily communicate with others.
This has also reduced the load on the physical mail system, although it is still in use.
● Job Search

Prepared by: Prof. Meghavi Dave


● Getting a job is a lot easier than before. Any person can view relevant job information using the
Internet. Earlier, people had to go through each company individually to know if a position was
vacant or not. However, the Internet has enabled people to find employment sitting at home to
suit their interests. Many websites provide details about job availability. Once people submit
their resumes, these websites keep informing about vacancies through email. Besides, each
well-known company has its website, where the company posts about the vacancy opening. So,
just sitting at home, people can search, apply for jobs and even give their interviews and see or
know their results.
● Social Networking
● Social networking sites have connected people around the world. Social networking is an
essential part of the Internet. With the help of the Internet, people have got the ability to form
social groups where they can share information, thoughts and ideas about anything. The social
networking platform is the largest source of content, covering everything from informative
content to entertainment. The best thing is that people don't have to pay anything to use these
services. This helps businesses develop their community and promote their products.
● Entertainment
● The Internet is the most effective means of entertainment. There are various options available
on the Internet, which people can try, such as watching movies, playing online games, listening
to songs, etc. The Internet has also made it easy for people to download entertainment items to
their local storage. Using the Internet, people can also share their videos, songs, and pictures
online with others. Also, nowadays, people can watch live TV or sports on the Internet.
● E-Commerce

Prepared by: Prof. Meghavi Dave


● The Internet is not just limited to ordering things; it can also be used to sell products. Many
e-commerce websites allow businesses and individuals to sell their products. Products are
purchased by these e-commerce companies, stored in their warehouses, packaged in their brand
packaging, and distributed by themselves. E-commerce companies charge some commission to
distribute goods to customers. Also, they offer great discounts and offers to customers. The best
thing is that customers do not have to go to physical stores.
● Besides, sellers can also create their website and list their products there. They can refer to all
information about the product, answer customer questions and provide online payment options
to their customers. All these things are possible on the Internet.
● Navigation
● The navigation mechanism is one of the most beneficial uses of the Internet. Once a user put
the location in the online maps (such as Google maps), it provides all the details about that
location. Users can even find the best route to visit that particular location. The map also
provides the distance between the locations. The best thing about navigation is that it will
provide the shortest possible route with less traffic. One can also search for any specific place
like the nearest hotel, restaurants, banks, ATM, etc. Apart from this, a person can share a live
location with others using the Internet and the navigation technique.
● Advertising
● Because most people use the Internet, it is the best means of promoting something or
advertising. There are options for paid promotion as well as free promotion. There are many
advertising platforms on the Internet that help promote products or businesses online. These
platforms advertise products on other related websites using banners, videos, email etc. They
charge for these advertisements according to distance, keywords and audience etc. However,

Prepared by: Prof. Meghavi Dave


one can also use social media platforms to create online groups or communities and advertise
freely.
● Real-time updates
● The Internet is helping people to keep up with what is happening around the world. Many news
and information websites provide real-time updates on various categories, such as politics,
history, news, geology, leisure, sports, technology, marketing, and more. One can easily select
the category of interest and stay connected with updates. The presence of e-newspapers and
magazines is updating people and helping to cut paper usage.

Prepared by: Prof. Meghavi Dave


Unit 6
Software Basics
● 6.1 Types of Software
● 6.2 Software development life cycle
● 6.3 Software engineering practice – communication, planning, modeling,
● constructions, deployment
● 6.4 Software application architectures – Desktop applications, client-
server/Web application, cloud application

● What is Software?
● In a computer system, the software is basically a set of instructions or commands that tell a computer
what to do. In other words, the software is a computer program that provides a set of instructions to
execute a user’s commands and tell the computer what to do. For example like MS-Word, MS-Excel,
PowerPoint, etc.
● Types of Software
● It is a collection of data that is given to the computer to complete a particular task. The chart below
describes the types of software:

Prepared by: Prof. Meghavi Dave


● Above is the diagram of types of software. Now we will briefly describe each type and its subtypes:
● System Software
● System software is a computer program that helps the user to run computer hardware or
software and manages the interaction between them. Essentially, it is software that constantly
runs in the computer background, maintaining the computer hardware and computer's basic
functionalities, including the operating system, utility software, and interface. In simple terms,
you can say that the system acts as a middle man that checks and facilitates the operations flowing
between the user and the computer hardware.
● System software is not limited to the operating system. They also include the basic I/O system
procedures, the boot program, assembler, computer device driver, etc. This software supports a
high-speed platform to provide effective software for the other applications to work in effortlessly.
Therefore system software is an essential part of your computer system. They are the first thing
that gets loaded in the system's memory wherever you turn on your computer. System software

Prepared by: Prof. Meghavi Dave


is also known as "low-level software" because the end-users do not operate them. Companies
usually employ the best software development programmers who can deploy efficient system
software.
● The further classifications of system software are as follows:
● Operating System
● The operating system is the most prominent example of system software that acts as an interface
between the user and system hardware. It is a group of software that handles the execution of
programs and offers general services for the application that runs over the computer. There are
various types of operating systems available in the market, such as embedded operating systems,
real-time OS, distributed OS, single or multi-user operating system, mobile, Internet, and various
others.
● Some of the commonly used examples of operating systems are given below.
● Microsoft Windows
● Apple's iOS
● Apple's MacOS
● Android
● Linux
● Ubuntu
● Unix
● Device Drivers
● In computing, the device driver is a type of software that operates or controls some specific
hardware devices linked to your system. They provide a software interface to hardware devices

Prepared by: Prof. Meghavi Dave


allowing computer operating systems and other applications to fetch hardware functions without
knowing the exact specifications of the hardware. Some common examples of such device drivers
that connect hardware devices (printers, sound cards, network cards, hard disks, floppy disk,
keyboard, mouse, etc.) to a system easily are as follows:
● BIOS (Basic Input/Output System) Device Driver
● USB (Universal Serial Bus) Drivers
● Motherboard Drivers
● Display Drivers
● Printer Drivers
● Sound Card Driver
● ROM (Read-only memory) Drivers
● VGA (Video Graphic Array) Drivers
● Firmware
● In electronic systems and computing, firmware is a type of permanent software embedded in the
system's ROM (read-only memory) to provide low-level control for some particular system
device hardware. It is a set of instructions that are stored permanently on your computer's hardware
device.
● Common examples of devices utilizing firmware are given below:
● Computer Peripherals
● Consumer Appliances
● Embedded Systems

Prepared by: Prof. Meghavi Dave


● UEFI (United Extensible Firmware Interface)
● BIOS (Basic Input/Output System)
● Utility
● Utility software is developed to provide support in analyzing, optimizing, along configuring and
maintaining a computer. The job of the utility program is to offer support to the system
infrastructure. Though the system will work even if it doesn't have any utility software, the right kind
of utility software enhances its performance and makes it more reliable.
● Some of the common examples of utility software are as follows:
● Norton and McAfee Antivirus
● WinRAR
● Directory Opus
● Disk defragmenter
● WinZip
● Windows File Explorer
● Razer Cortex
● Application Software
● Application programs or software applications are end-user computer programs developed
primarily to provide specific functionality to the user. The applications programs assist the user in
accomplishing numerous tasks such as doing online research, completing notes, designing
graphics, managing the finances, watching a movie, writing documents, playing games, and
many more. Therefore, many software applications are designed and developed every year by

Prepared by: Prof. Meghavi Dave


companies as per the demand and requirements of the potential users. The application software can
either be designed for a general-purpose or specially coded as per the requirements of business
cooperation.
● Today there are varieties of application software available in the market. Given below are some of the
popular examples:
● Word Processors
● Word processor applications are globally used for documentation, making notes, and typing data.
It also helps the end-users store and format data. They also enable the users to print their documents.
● Some examples of Word Processor software's are as follows:
● MS Word (Microsoft)
● iWork-Pages (Apple)
● Corel WordPerfect
● Google Docs
● Database Software
● Database software is used to create, manage, modify and organize a massive amount of data
quickly retrieved. Another name for database software is Database Management System (DBMS).
Such software helps companies in their data organization. Common examples of Database Software's
are:
● Oracle
● MS Access
● SQLite

Prepared by: Prof. Meghavi Dave


● Microsoft SQL Server
● FileMaker
● dBase
● MariaDB
● MySQL
● Multimedia Software
● This software enables the users to play, create or record images, music, and video files. Different
graphic designing companies widely use multimedia software to make animation, images, posts,
packaging, marketing creative, gif, or even video editing. Due to their popularity and increasing
demand, every software product development corporation has massive avenues in creating and
upgrading them.
● Common examples of Database Software's are given below:
● Adobe Photoshop
● Windows Movie Maker
● Adobe Illustrator
● Picasa
● Windows Media Player
● Corel Draw
● Web Browsers

Prepared by: Prof. Meghavi Dave


● These are a type of software that is globally used to browse the Internet. Web browsers help the
users in positioning as well as fetching data across the web. Common examples of web browsers
are given below:
● Chrome
● Mozilla Firefox
● Microsoft Internet Explorer
● Opera
● Microsoft Edge
● UC Browser
● Apple Safari
● However, there also occurs another classification of the software that exists on the basis of their
availability and shareability. The classification is given below:
● Freeware
● As the name suggests, Freeware software is available free of cost for an unlimited time. Any user
can easily download their respective software from the Internet and start using them instantly
without paying any charges or fees. Software development companies mostly design and develop
freeware software as a strategy to reach out to more people. Typical examples of Freeware Software
are as follows:
● Adobe Reader
● Zoom
● Skype

Prepared by: Prof. Meghavi Dave


● ImgBurn
● Audacity
● Whatsapp
● Anydesk
● Shareware
● Shareware software is readily available on the Internet to download on a fixed trial basis. It is
distributed freely with a set time limit, and at the end of the trial period, the user is asked either to pay
the fee or uninstall the software. Some shareware, mainly including the gaming softwares, have a
fixed trial based on the counts an application is opened rather than the number of days it has been
installed on the system.
● Give below are some of the popular examples for Shareware Software:
● Adobe Acrobat
● Adobe Photoshop
● AnyDVD
● PHP Debugger
● WinZip
● Open-source
● People usually get confused with freeware and open-source, but both are different. Though both the
software are available on the Internet free of cost with the only difference that open source software
is available online along with their source code. It means the user can change, transform, and even

Prepared by: Prof. Meghavi Dave


can add additional features to them. Based on their services, they can be chargeable as well free of
cost.
● Give below are some of the popular examples for open-source Software:
● Mozilla Firefox
● MySQL
● Thunderbird
● OpenOffice
● ClamWinantivirus
● Apache Web Server

Prepared by: Prof. Meghavi Dave


● Software development life cycle (SDLC)
● Software development life cycle (SDLC) is a structured process that is used to design, develop, and
test good-quality software.
● SDLC, or software development life cycle, is a methodology that defines the entire procedure of
software development step-by-step.

● Planning and requirement analysis


● Requirement Analysis is the most important and necessary stage in SDLC.
● The senior members of the team perform it with inputs from all the stakeholders and domain experts
or SMEs in the industry.

Prepared by: Prof. Meghavi Dave


● Planning for the quality assurance requirements and identifications of the risks associated with the
projects is also done at this stage.
● Business analyst and Project organizer set up a meeting with the client to gather all the data like what
the customer wants to build, who will be the end user, what is the objective of the product. Before
creating a product, a core understanding or knowledge of the product is very necessary.
● For Example, A client wants to have an application which concerns money transactions. In this
method, the requirement has to be precise like what kind of operations will be done, how it will be
done, in which currency it will be done, etc.
● Once the required function is done, an analysis is complete with auditing the feasibility of the growth
of a product. In case of any ambiguity, a signal is set up for further discussion.
● Once the requirement is understood, the SRS (Software Requirement Specification) document is
created. The developers should thoroughly follow this document and also should be reviewed by the
customer for future reference.
● Defining Requirements
● Once the requirement analysis is done, the next stage is to certainly represent and document the
software requirements and get them accepted from the project stakeholders.
● This is accomplished through "SRS"- Software Requirement Specification document which contains
all the product requirements to be constructed and developed during the project life cycle.
● Designing the Software
● The next phase is about to bring down all the knowledge of requirements, analysis, and design of the
software project. This phase is the product of the last two, like inputs from the customer and
requirement gathering.
● Developing the project

Prepared by: Prof. Meghavi Dave


● In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools like compilers, interpreters,
debuggers, etc. are used to develop and implement the code.
● Testing
● After the code is generated, it is tested against the requirements to make sure that the products are
solving the needs addressed and gathered during the requirements stage.
● During this stage, unit testing, integration testing, system testing, acceptance testing are done.
● Deployment
● Once the software is certified, and no bugs or errors are stated, then it is deployed.
● Then based on the assessment, the software may be released as it is or with suggested enhancement in
the object segment.
● After the software is deployed, then its maintenance begins.
● Maintenance
● Once when the client starts using the developed systems, then the real issues come up and
requirements to be solved from time to time.
● This procedure where the care is taken for the developed product is known as maintenance.

Prepared by: Prof. Meghavi Dave


● Software engineering practice – communication, planning, modeling, constructions,
deployment
● The Software process framework is required for representing common process activities. Five
framework activities are described in a process framework for software engineering. Communication,
planning, modeling, construction, and deployment are all examples of framework activities. Each
engineering action defined by a framework activity comprises a list of needed work outputs, project
milestones, and software quality assurance (SQA) points.

● Communication
● Communication is the most basic yet important step in the software engineering framework. Here, the
software engineer and the user or the client discuss the functioning of the application. It is important
to note down all the details. Even if a small detail is missed or ignored, it may cause a problem in the
later steps.
● Planning

Prepared by: Prof. Meghavi Dave


● Planning is a more technical part of the software engineering frameworks. It requires the engineer to
formulate a work plan that shall be successful and foolproof. It also contains a list of all the
requirements and risks. Further, it has a detailed timetable on how work shall be scheduled ahead.
● Modeling
● A model is designed with the help of analyzing the data collected and the rough plan for the
framework software engineering. This helps get a rough idea of how the application would function.
It also helps significantly identify any loopholes or problems the application may have.
● Construction
● Construction is the step where the application is generated with the help of a code. The application is
also tested, and all the identified bugs or glitches are fixed. This is also known as software design
mapping.
● Deployment
● This is the step of collecting feedback from the client. Irrespective of whether the application is
complete or incomplete, the client is shown it's working. The client or the user shares their updates.
Based on this, the software engineer modifies or edits the system to suit the client.

Prepared by: Prof. Meghavi Dave


● Software application architectures – Desktop applications, client-
server/Web application, cloud application
● Desktop application
● Client server/Web application
● What is client and server architecture?

● Client-server architecture is a computing model in which the server hosts, delivers, and manages
most of the resources and services requested by the client. It is also known as the networking
computing model or client-server network as all requests and services are delivered over a network.
The client-server architecture or model has other systems connected over a network where resources
are shared among the different computers.
● Typically, client-server architecture is arranged in a way that clients are often situated at workstations
or on personal computers, while servers are located elsewhere on the network, usually on more
powerful machines. Such a model is especially beneficial when the clients and server perform routine
tasks. For example, in hospital data processing, a client computer can be busy running an application

Prepared by: Prof. Meghavi Dave


program for entering patient information, meanwhile, the server computer can be running another
program to fetch and manage the database in which the information is permanently stored.
● How does client-server architecture work?
● We have understood that client-server architecture is made up of two elements, one that provides
services and the other that consumes those services.

● The user enters the uniform resource locator (URL) of the website or file and the browser sends a
request to the domain name system (DNS) server.
● DNS server is responsible for searching and retrieving the IP address associated with a web server
and then initiating actions using that IP address.
● After the DNS server responds, the browser sends over an HTTP or HTTPS request to the web
server’s IP, which was provided by the DNS server.
● Following the request, the server proceeds to transmit the essential website files required.

Prepared by: Prof. Meghavi Dave


● Ultimately, the files are processed by the browser and the website is subsequently presented for
viewing.

● Cloud application
● As we know, cloud computing technology is used by both small and large organizations to store the
information in the cloud and access it from anywhere at any time using the internet connection.
● Cloud computing architecture is a combination of service-oriented architecture and event-driven
architecture.
● Cloud computing architecture is divided into the following two parts -
● Front End
● Back End
● The below diagram shows the architecture of cloud computing -

Prepared by: Prof. Meghavi Dave


● Front End
● The front end is used by the client. It contains client-side interfaces and applications that are
required to access the cloud computing platforms. The front end includes web servers
(including Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and mobile
devices.
● Back End

Prepared by: Prof. Meghavi Dave


● The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security
mechanisms, virtual machines, deploying models, servers, traffic control mechanisms, etc.
● Components of Cloud Computing Architecture
● There are the following components of cloud computing architecture -
● 1. Client Infrastructure
● Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to
interact with the cloud.
● 2. Application
● The application may be any software or platform that a client wants to access.
● 3. Service
● A Cloud Services manages which type of service you access according to the client’s
requirement.
● Cloud computing offers the following three type of services:
● i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we do not require to download and
install these applications. Some important example of SaaS is given below –
● Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
● ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite
similar to SaaS, but the difference is that PaaS provides a platform for software creation, but
using SaaS, we can access software over the internet without the need of any platform.
● Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.

Prepared by: Prof. Meghavi Dave


● iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It
is responsible for managing applications data, middleware, and runtime environments.
● Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco
Metapod.
● 4. Runtime Cloud
● Runtime Cloud provides the execution and runtime environment to the virtual machines.
● 5. Storage
● Storage is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
● 6. Infrastructure
● It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network
devices, virtualization software, and other storage resources that are needed to support the
cloud computing model.
● 7. Management
● Management is used to manage components such as application, service, runtime cloud,
storage, infrastructure, and other security issues in the backend and establish coordination
between them.
● 8. Security
● Security is an in-built back end component of cloud computing. It implements a security
mechanism in the back end.
● 9. Internet

Prepared by: Prof. Meghavi Dave


● The Internet is a medium through which front end and back end can interact and communicate
with each other.
● Desktop application
● A desktop application is a software program that can be run on a standalone computer to
perform a specific task by an end-user.
● Some desktop applications such as word editors, photo editing apps and media players allow
you to perform different tasks while others such as gaming apps are developed purely for
entertainment. When you purchase a computer or a laptop, there is a set of apps that are already
installed on your desktop. You can also download and install different desktop applications
directly from the Internet or purchased from software vendors.
● The examples of some of the popular desktop applications are, word processing applications
such as Microsoft Word and WPS Office which are designed to edit the textual content, gaming
applications such as Minesweeper and Solitaire which are used for entertainment, web
browsers such as Internet Explorer, Chrome and Firefox which help you to connect to the
Internet from your computer, media player applications such as iTunes, Windows Media Player,
and VLC media player which let you listen to music, watch videos and movies and create
collections of media content
● Characteristics of desktop applications
● Now That you know what is a desktop app, here are some of their main characteristics.
● The desktop applications are developed to run on a specific operating system such as Windows,
Mac or Linux.

Prepared by: Prof. Meghavi Dave


● Updates to the desktop applications should be installed by the end-users. The updates may be
published through the Internet but the installation is usually a manual process done by the
end-user.
● The desktop applications are designed to run in an isolated environment hence when
penetration testing services providers tested the system, they found fewer security issues.
● The ability to work without an Internet connection is another common characteristic of desktop
applications

Prepared by: Prof. Meghavi Dave

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy