Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
14 views

IT Notes Sem1 Bba Unit 1

This pdf includes sem 1 notes of unit 1 of ITAB

Uploaded by

arundhatiarushi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

IT Notes Sem1 Bba Unit 1

This pdf includes sem 1 notes of unit 1 of ITAB

Uploaded by

arundhatiarushi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Types of Computers

Pre-Requisite: Basics of Computer


A computer is an electronic device that has storage, computations, input (data), output (data)
and networking capabilities. With the growing AI, computers also have learning capabilities from
the data provided. The input and output data can be in different forms like text, images, audio
and video. A computer processes the input according to the set of instructions provided to it by
the user and gives the desired output. Computers are of various types and they can be
categorized in two ways on the basis of size and on the basis of data handling capabilities.

Computer

Types of Computer
There are two bases on which we can define the types of computers. We will discuss the type of
computers on the basis of size and data handling capabilities. We will discuss each type of
computer in detail. Let’s see first what are the types of computers.
 Super Computer
 Mainframe computer
 Mini Computer
 Workstation Computer
 Personal Computer (PC)
 Server Computer
 Analog Computer
 Digital Computer
 Hybrid Computer
 Tablets and Smartphone
Now, we are going to discuss each of them in detail.
Supercomputer
When we talk about speed, then the first name that comes to mind when thinking of computers
is supercomputers. They are the biggest and fastest computers (in terms of speed of processing
data). Supercomputers are designed such that they can process a huge amount of data, like
processing trillions of instructions or data just in a second. This is because of the thousands of
interconnected processors in supercomputers. It is basically used in scientific and engineering
applications such as weather forecasting, scientific simulations, and nuclear energy research. It
was first developed by Roger Cray in 1976.

Super Computers
Characteristics of Supercomputers
 Supercomputers are the computers that are the fastest and they are also very
expensive.
 It can calculate up to ten trillion individual calculations per second, this is also the reason
which makes it even faster.
 It is used in the stock market or big organizations for managing the online currency world
such as Bitcoin etc.
 It is used in scientific research areas for analyzing data obtained from exploring the solar
system, satellites, etc.
Mainframe computer
Mainframe computers are designed in such a way that they can support hundreds or thousands
of users at the same time. It also supports multiple programs simultaneously. So, they can
execute different processes simultaneously. All these features make the mainframe computer
ideal for big organizations like banking, telecom sectors, etc., which process a high volume of
data in general.
Characteristics of Mainframe Computers
 It is also an expensive or costly computer.
 It has high storage capacity and great performance.
 It can process a huge amount of data (like data involved in the banking sector) very
quickly.
 It runs smoothly for a long time and has a long life.
Minicomputer
Minicomputer is a medium size multiprocessing computer. In this type of computer, there are
two or more processors, and it supports 4 to 200 users at one time. Minicomputer is similar to
Microcontroller. Minicomputers are used in places like institutes or departments for different
work like billing, accounting, inventory management, etc. It is smaller than a mainframe
computer but larger in comparison to the microcomputer.
Characteristics of Minicomputer
 Its weight is low.
 Because of its low weight, it is easy to carry anywhere.
 less expensive than a mainframe computer.
 It is fast.
Workstation Computer
A workstation computer is designed for technical or scientific applications. It consists of a fast
microprocessor, with a large amount of RAM and a high-speed graphic adapter. It is a single-
user computer. It is generally used to perform a specific task with great accuracy.
Characteristics of Workstation Computer
 It is expensive or high in cost.
 They are exclusively made for complex work purposes.
 It provides large storage capacity, better graphics, and a more powerful CPU when
compared to a PC.
 It is also used to handle animation, data analysis, CAD, audio and video creation, and
editing.
Personal Computer (PC)-
Personal Computers is also known as a microcomputer. It is basically a general-purpose
computer designed for individual use. It consists of a microprocessor as a central processing
unit(CPU), memory, input unit, and output unit. This kind of computer is suitable for personal
work such as making an assignment, watching a movie, or at the office for office work, etc. For
example, Laptops and desktop computers.

Characteristics of Personal Computer (PC)


 In this limited number of software can be used.
 It is the smallest in size.
 It is designed for personal use.
 It is easy to use.
Server Computer
Server Computers are computers that are combined data and programs. Electronic data and
applications are stored and shared in the server computer. The working of a server computer is
that it does not solve a bigger problem like a supercomputer but it solves many smaller similar
ones. Examples of server computer are like Wikipedia, as when users put a request for any
page, it finds what the user is looking for and sends it to the user.
Analog Computer
Analog Computers are particularly designed to process analog data. Continuous data that
changes continuously and cannot have discrete values are called analog data. So, an analog
computer is used where we don’t need exact values or need approximate values such as
speed, temperature, pressure, etc. It can directly accept the data from the measuring device
without first converting it into numbers and codes. It measures the continuous changes in
physical quantity. It gives output as a reading on a dial or scale. For example speedometer,
mercury thermometer, etc.
Digital Computer
Digital computers are designed in such a way that they can easily perform calculations and
logical operations at high speed. It takes raw data as input and processes it with programs
stored in its memory to produce the final output. It only understands the binary input 0 and 1, so
the raw input data is converted to 0 and 1 by the computer and then it is processed by the
computer to produce the result or final output. All modern computers, like laptops, desktops
including smartphones are digital computers.
Hybrid Computer
As the name suggests 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 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.
Tablet and Smartphones
Tablets and Smartphones are the types of computers that are pocket friendly and easy to carry
is these are handy. This is one of the best use of modern technology. These devices have better
hardware capabilities, extensive operating systems, and better multimedia functionality.
smartphones and tablets contain a number of sensors and are also able to provide wireless
communication protocols.
Tablet and Smartphones
We generally classify computers on the basis of size, functionality, and data handling
capabilities.
Classification of Computers
The computer systems can be classified on the following basis:
1. On the basis of size.
2. On the basis of functionality.
3. On the basis of data handling.
Classification on the basis of size
1. Super computers : The super computers are the most high performing system. A
supercomputer is a computer with a high level of performance compared to a general-
purpose computer. The actual Performance of a supercomputer is measured in FLOPS
instead of MIPS. All of the world’s fastest 500 supercomputers run Linux-based
operating systems. Additional research is being conducted in China, the US, the EU,
Taiwan and Japan to build even faster, more high performing and more technologically
superior supercomputers. Supercomputers actually play an important role in the field of
computation, and are used for intensive computation tasks in various fields, including
quantum mechanics, weather forecasting, climate research, oil and gas exploration,
molecular modeling, and physical simulations. and also Throughout the history,
supercomputers have been essential in the field of the cryptanalysis.
eg: PARAM, jaguar, roadrunner.
2. Mainframe computers : These are commonly called as big iron, they are usually used
by big organisations for bulk data processing such as statistics, census data processing,
transaction processing and are widely used as the servers as these systems has a
higher processing capability as compared to the other classes of computers, most of
these mainframe architectures were established in 1960s, the research and
development worked continuously over the years and the mainframes of today are far
more better than the earlier ones, in size, capacity and efficiency.
Eg: IBM z Series, System z9 and System z10 servers.
3. Mini computers : These computers came into the market in mid 1960s and were sold at
a much cheaper price than the main frames, they were actually designed for control,
instrumentation, human interaction, and communication switching as distinct from
calculation and record keeping, later they became very popular for personal uses with
evolution.
In the 60s to describe the smaller computers that became possible with the use of
transistors and core memory technologies, minimal instructions sets and less expensive
peripherals such as the ubiquitous Teletype Model 33 ASR.They usually took up one or a
few inch rack cabinets, compared with the large mainframes that could fill a room, there
was a new term “MINICOMPUTERS” coined
Eg: Personal Laptop, PC etc.

4. Micro computers : A microcomputer is a small, relatively inexpensive computer with a


microprocessor as its CPU. It includes a microprocessor, memory, and minimal I/O
circuitry mounted on a single printed circuit board.The previous to these computers,
mainframes and minicomputers, were comparatively much larger, hard to maintain and
more expensive. They actually formed the foundation for present day microcomputers
and smart gadgets that we use in day to day life.
Eg: Tablets, Smartwatches.

Classification on the basis of functionality

1. Servers : Servers are nothing but dedicated computers which are set-up to offer some
services to the clients. They are named depending on the type of service they offered.
Eg: security server, database server.

2. Workstation : Those are the computers designed to primarily to be used by single user
at a time. They run multi-user operating systems. They are the ones which we use for
our day to day personal / commercial work.
3. Information Appliances : They are the portable devices which are designed to perform
a limited set of tasks like basic calculations, playing multimedia, browsing internet etc.
They are generally referred as the mobile devices. They have very limited memory and
flexibility and generally run on “as-is” basis.
4. Embedded computers : They are the computing devices which are used in other
machines to serve limited set of requirements. They follow instructions from the non-
volatile memory and they are not required to execute reboot or reset. The processing
units used in such device work to those basic requirements only and are different from
the ones that are used in personal computers- better known as workstations.

Classification on the basis of data handling

1. Analog : An analog computer is a form of computer that uses the continuously-


changeable aspects of physical fact such as electrical, mechanical, or hydraulic
quantities to model the problem being solved. Any thing that is variable with respect to
time and continuous can be claimed as analog just like an analog clock measures time
by means of the distance traveled for the spokes of the clock around the circular dial.
2. Digital : A computer that performs calculations and logical operations with quantities
represented as digits, usually in the binary number system of “0” and “1”, “Computer
capable of solving problems by processing information expressed in discrete form. from
manipulation of the combinations of the binary digits, it can perform mathematical
calculations, organize and analyze data, control industrial and other processes, and
simulate dynamic systems such as global weather patterns.
3. Hybrid : A computer that processes both analog and digital data, Hybrid computer is a
digital computer that accepts analog signals, converts them to digital and processes
them in digital form.
Difference between Hardware and Firmware
Hardware and firmware are crucial components in computing systems, each serving distinct or
interrelated roles. Hardware refers to the physical components of a device, such as the CPU,
memory, and storage, that perform the actual processing tasks. Firmware, on the other hand, is
specialized software embedded within hardware, providing low-level control and enabling the
hardware to function as intended.
What is Hardware?
Hardware is the computer’s part that is seen and touched by us. These include the physical
components that are necessary for the physical format layout of the computer which includes a
keyboard, mouse, cabinet, monitor, printer, etc. In a real sense, and as it is with all other OS and
software programs, hardware is the platform on which all these can run.
Advantages of Hardware
 Durability: Electronic equipment that uses hardware components is known to be of
great quality and can therefore withstand tear and wear.
 Performance: Having powerful hardware is a good thing since it augments the overall
performance of a device and allows the user to carry out more tasks simultaneously.
 Upgradeable: Most of the hardware components of the devices are replaceable since
they can be upgraded to make the device possess better characteristics.
Disadvantages of Hardware
 Cost: High end hardware components make up the overall structure of the computer
which are costly and is considered an investment by users.
 Physical Damage: Software is not as prone to mishaps as are these pieces of
hardware; they are vulnerable to damages in form of system breakdown or expensive
repair.
 Depreciation: There is high likelihood of hardware obsolescence because of high
technological development which is fast.
What is Firmware?
Firmware is a type of software that is associated with your hardware, Firmware is software
installed at the time of manufacturing any hardware, including hardware such as keyboards,
hard drives, BIOS, graphic cards, and printers or moreover It comes embedded in any of your
home appliances such as TVs, washing machines, etc. The firmware contains instruction
programs to perform the basic functions of any hardware.
Advantages of Firmware
 Stability: Generally firmware is a stable and reliable one, since it is specially developed
for the particular hardware it is installed for.
 Efficiency: Firmware is specific to the device and as such it can run the device using
lesser resources hence it works well.
 Security: Firmware can contain some protection that will prevent the device from being
accessed by an unauthorized person or contain a virus.
Disadvantages of Firmware
 Limited Flexibility: This is a major drawback because firmware is hard coded and
therefore it is not easy to alter or even add new functionalities.
 Complex Updates: Firmware updates also could be difficult at sometimes may need
additional tools or knowledge to make them.
 Potential for Bricking: In software development, firmware is part of the
machine’s programming which if gone wrong makes the device non-functional or what
people call “bricking. ”
SOFTWARE
Software is a collection of instructions, data, or computer programs that are used to run
machines and carry out particular activities. It is the antithesis of hardware, which refers
to a computer’s external components. A device’s running programs, scripts, and
applications are collectively referred to as “software” in this context.

Here are some examples of software:


 Operating systems like Windows 11 or iOS
 Web browsers
 Antivirus tools
 Adobe Photoshop
 Mobile apps
Since software is information and not a physical thing, there are few barriers to it. For example,
one physical hard drive might take two pounds of materials to create, meaning 3,000 hard
drives would take 6,000 lbs of materials. One software program, on the other hand, can be
duplicated 3,000 or 300,000 times, over as many devices, but be taking up essentially no more
physical resources.
Software interacts with you, the hardware you're using, and with hardware that exists
elsewhere. A photo-sharing software program, for example, on your PC or phone works with you
and your hardware to take a photo and then communicates with servers and other devices on
the internet to show that photo on your friend's devices.
System Software
System software is software that directly operates the computer hardware and provides the
basic functionality to the users as well as to the other software to operate smoothly. Or in other
words, system software basically controls a computer’s internal functioning and also controls
hardware devices such as monitors, printers, and storage devices, etc. It is like an interface
between hardware and user applications, it helps them to communicate with each other
because hardware understands machine language(i.e. 1 or 0) whereas user applications are
work in human-readable languages like English, Hindi, German, etc. so system software
converts the human-readable language into machine language and vice versa.
Types of System Software
It has two subtypes which are:
1. Operating System: It is the main program of a computer system. When the computer
system ON it is the first software that loads into the computer’s memory. Basically, it
manages all the resources such as computer memory, CPU, printer, hard disk, etc., and
provides an interface to the user, which helps the user to interact with the computer
system. It also provides various services to other computer software. Examples of
operating systems are Linux, Apple macOS, Microsoft Windows, etc.
2. Language Processor: As we know that system software converts the human-readable
language into a machine language and vice versa. So, the conversion is done by the
language processor. It converts programs written in high-level programming
languages like Java, C, C++, Python, etc(known as source code), into sets of
instructions that are easily readable by machines(known as object code or machine
code).
3. Device Driver: A device driver is a program or software that controls a device and helps
that device to perform its functions. Every device like a printer, mouse, modem, etc.
needs a driver to connect with the computer system eternally. So, when you connect a
new device with your computer system, first you need to install the driver of that device
so that your operating system knows how to control or manage that device.
Features of System Software
Let us discuss some of the features of System Software:
 System Software is closer to the computer system.
 System Software is written in a low-level language in general.
 System software is difficult to design and understand.
 System software is fast in speed(working speed).
 System software is less interactive for the users in comparison to application software.
Application Software
Software that performs special functions or provides functions that are much more than the
basic operation of the computer is known as application software. Or in other words, application
software is designed to perform a specific task for end-users. It is a product or a program that is
designed only to fulfill end-users’ requirements. It includes word processors, spreadsheets,
database management, inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:
1. General Purpose Software: This type of application software is used for a variety of
tasks and it is not limited to performing a specific task only. For example, MS-Word, MS-
Excel, PowerPoint, etc.
2. Customized Software: This type of application software is used or designed to perform
specific tasks or functions or designed for specific organizations. For example, railway
reservation system, airline reservation system, invoice management system, etc.
3. Utility Software: This type of application software is used to support the computer
infrastructure. It is designed to analyze, configure, optimize and maintains the system,
and take care of its requirements as well. For example, antivirus, disk fragmenter,
memory tester, disk repair, disk cleaners, registry cleaners, disk space analyzer, etc.
Features of Application Software
 An important feature of application software is it performs more specialized tasks like
word processing, spreadsheets, email, etc.
 Mostly, the size of the software is big, so it requires more storage space.
 Application software is more interactive for the users, so it is easy to use and design.
 The application software is easy to design and understand.
 Application software is written in a high-level language in general.
Difference Between System Software and Application Software
Now, let us discuss some difference between system software and application software:

System Software Application Software

It is designed to manage the resources of the


It is designed to fulfill the requirements of
computer system, like memory and process
the user for performing specific tasks.
management, etc.

Written in a low-level language. Written in a high-level language.

Less interactive for the users. More interactive for the users.

Application software is not so important


System software plays vital role for the effective
for the functioning of the system, as it is
functioning of a system.
task specific.

It is independent of the application software to


It needs system software to run.
run.

Humanware is the method of adding a human facet into the development of computer programs.
The main goal of developing humanware is to make hardware and software as functional as
possible.

A computer system is made up of three major components—hardware, software, and


humanware. While software and hardware make up an actual computer, humanware is necessary
for enhancing user experience (UX) by making improvements in the system’s user interface (UI).
Humanware is the combination of hardware and software elements that make human interaction
with a device as good as possible. Often, developing humanware begins by defining who the
computer’s potential users are, what they are interested in, and what they need before designing
the infrastructure.
Why Is Humanware Important?

Over the years, computer manufacturers have been striving toward improving UX continually. In
a business sense, good UX effectively improves customer retention by 5%, which is enough to
rake in a profit of as much as 25%. And since users lie at the center of all business operations,
satisfying their needs should always be a priority.

That is the idea behind developing humanware. Before companies set their goals or start the
design process, they first need to understand what their target users need. For example, when
building a desktop, the humanware factor comes in when manufacturers consider the overall
design. Even the visually or hearing-impaired should be able to use the system. That way, even
the differently abled would be enticed to purchase and use the product. They may even
recommend it to peers. Systems with poor UIs or are hard to operate, however, provide poor UX
and so are not sellable.

What Are the Steps in Developing Humanware?

Developing humanware is a process. In general, it follows these steps:

Step 1: Defining Users and Their Capabilities

To understand what user capabilities must be present in a product, the development team must
first identify their target users. That may require as many details as possible to address many
needs. These details include demographics (age, location, career, familial status, etc.),
motivations (mindset, power, incentivization, fears, etc.), previous product experience, and
everything else that helps developers get to know target users.

This first step is often the most crucial. It takes some time to finish because developers need to
be as exhaustive as possible. It also requires considering how customers will evolve.

Step 2: Specifying Usability Objectives

Using the target users and their needs as pegs, the development team then needs to come up with
goals. This step requires developers to think of all possible humanware capabilities they can
integrate into the system they are building. If possible, all these objectives must be measurable
for future improvements.
Step 3: Building a Prototype

The next step is building a prototype. This device will allow developers to test if the product can
indeed meet the goals they set. It involves asking actual users to test the prototype. The
development team gets user feedback and incorporates suggestions or recommendations into the
current design to address flaws. The prototype should undergo various testing cycles until the
product passes quality and usability testing.
Operating System Definition and Function
In the Computer System (comprises of Hardware and software), Hardware can only
understand machine code (in the form of 0 and 1) which doesn't make any sense to a naive
user.

We need a system which can act as an intermediary and manage all the processes and
resources present in the system.

An Operating System can be defined as an interface between user and hardware. It is


responsible for the execution of all the processes, Resource Allocation, CPU management,
File Management and many other tasks.

The purpose of an operating system is to provide an environment in which a user can execute
programs in convenient and efficient manner.

Structure of a Computer System


A Computer System consists of:

o Users (people who are using the computer)


o Application Programs (Compilers, Databases, Games, Video player, Browsers, etc.)
o System Programs (Shells, Editors, Compilers, etc.)
o Operating System ( A special program which acts as an interface between user and
hardware )
o Hardware ( CPU, Disks, Memory, etc)
What does an Operating system do?
1. Process Management
2. Process Synchronization
3. Memory Management
4. CPU Scheduling
5. File Management
6. Security

Types of Operating Systems (OS)


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
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 Batch operating system, access is given to more than one person; they submit their
respective jobs to the system for the execution.

The system put 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.

Jobs were uploaded offline on the punch cards/ magnetic tapes by the operator. Operator
converted similar kind of jobs in to batches. Batch were submitted to the CPU.

The OS will provide the batch to CPU and CPU starts executing these batch one by one. User
has to go to get the output by itself after some period of time(week or more than week).

Major disadvantage was that’s CPU has to sit idle for a long period of type( Non-
preemption)means CPU is not executing multiple jobs together.
The purpose of this operating system was mainly to transfer control from one job to another
as soon as the job was completed. It contained a small set of programs called the resident
monitor that always resided in one part of the main memory. The remaining part is used for
servicing jobs.

Advantages of Batch OS
o The use of a resident monitor improves computer efficiency as it eliminates CPU time
between two jobs.
Disadvantages of Batch OS
1. Starvation

Batch processing suffers from starvation.

For Example:

There are five jobs J1, J2, J3, J4, and J5, present in the batch. If the execution time of J1 is very
high, then the other four jobs will never be executed, or they will have to wait for a very long
time. Hence the other processes get starved.

2. Not Interactive

Batch Processing is not suitable for jobs that are dependent on the user's input. If a job
requires the input of two numbers from the console, then it will never get it in the batch
processing scenario since the user is not present at the time of execution.

Multiprogramming Operating System(non preemptive)


Multiprogramming is an extension to batch processing where the CPU is always kept busy.
Each process needs two types of system time: CPU time and IO time.

In a multiprogramming environment, when a process does its I/O, The CPU can start the
execution of other processes. Therefore, multiprogramming improves the efficiency of the
system.

e.g---If a user submit a process p1 from RAM to CPU, then the CPU will process first p1 and
then p2and the p3 and so on…but the important point is that CPU will execute the process
completely unless and until process will say on its own that it want to go for some input or
output operation.

Multi-tasking is preemptive( time Sharing) we decided in advance that I will execute a


process for some time if that got executes that same time frame otherwise schedule the same
process for the future.
Response time is much greater in multiprogramming but fast
response time in multi tasking OS.

Advantages of Multiprogramming OS
o Throughout the system, it increased as the CPU always had one program to execute.
o Response time can also be reduced.

Disadvantages of Multiprogramming OS
o 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


In Multiprocessing, Parallel computing is achieved. There are more than one processors
present in the system which can execute more than one process at the same time. This will
increase the throughput of the system.
In Multiprocessing, Parallel computing is achieved. More than one processor present in the
system can execute more than one process simultaneously, which will increase the
throughput of the system.

What is Symmetric Multiprocessing?


Symmetric multiprocessing refers to the use of all processors to conduct OS tasks. It
doesn't have a master-slave relationship like asymmetric multiprocessing, and the shared
memory is used to communicate by all processors here. The processors start processes
from the standard ready queue, and every CPU might have its private queue of ready-to-
execute programs. The scheduler must ensure that no two CPUs run the same task
simultaneously.

In Symmetric, One OS control all CPU, each CPU has equal rights. All the CPU are in peer
to peer relationship.

Whereas in Asymmetric , there is master process that gives instruction to all the other
processors. It contains master slave relationship.
Symmetric Multiprocessing provides proper load balancing, improved fault tolerance, and
decreases the possibility of a CPU bottleneck. It is complicated since the entire CPUs share
a memory, and a processor failure in Symmetric Multiprocessing reduces computing
capacity.

Asymmetric Multi Processing -

The processors in asymmetric multiprocessing have a master-slave relationship, with


one master processor controlling the other slave processors. The slave processors may
receive specified tasks from the master processor or receive processes from the master
processor. The master processor manages the data structure. The master processor
manages the scheduling of processes, I/O processing, and other system operations.

Example-

If a master processor fails, one of the slave processors assumes control of the execution.
If one slave processor fails, the other slave processor takes over. It is simple since the data
structure and a single processor controls all system actions. Assume there are four CPUs
named C1, C2, C3, and C4. C4 is the master processor and allocates tasks to the other
CPUs. If C1 is assigned process P1, C2 is assigned process P2, and C3 is assigned process
P3. Each processor will only work on the processes that have been assigned to them.

The key difference between the Symmetric and


Asymmetric Multiprocessing

There are various key differences between Symmetric and Asymmetric


Multiprocessing in the operating system. Some main differences between Symmetric and
Asymmetric Multiprocessing in the operating system are as follows:
1. Symmetric multiprocessing occurs when many processors work together to
process programs using the same OS and memory. On the other hand, asymmetric
multiprocessing refers to programs' master-slave processing by many processors.
2. Every CPU in symmetric multiprocessing can either takes processes from a shared
ready queue or its private queue of ready tasks. In contrast, the master processor
delegated tasks to the slave processors in asymmetric multiprocessing.
3. Processors communicate with one another in symmetric multiprocessing through
shared memory. On the other hand, the processors in Asymmetric Multiprocessing
do not need to communicate with one another because the master processor
controls them.
4. Asymmetric multiprocessors are easy as only the master processor accesses the
data structure. On the other hand, symmetric multiprocessors are hard since all
processors must function in synchronization.
5. The architecture of all Symmetric Multiprocessing processors is the same. On the
other hand, the processor structure in an asymmetric multiprocessor may differ.
6. Each CPU in symmetric multiprocessing may either draw from a shared ready
queue or have a private queue of ready processes all to themselves. On the other
hand, Asymmetric multiprocessing assigns processes to slave processors.
7. Asymmetric multiprocessing systems are also less expensive than symmetric
multiprocessing systems.
8. In addition, asymmetric multiprocessing systems are easier to create and maintain
than symmetric ones.

Head-to-head comparison between the Symmetric and


Asymmetric Multiprocessing
There are various head-to-head comparisons between Symmetric and Asymmetric
Multiprocessing. Some differences between Symmetric and Asymmetric Multiprocessing
are as folSlows:

Features Symmetric Multiprocessing Asymmetric Multiprocessing

Definition Symmetric multiprocessing occurs The processing of programs by


when many processors work several processors in a master-slave
together to process programs using arrangement is known as asymmetric
the same OS and memory. multiprocessing.

Basic Each CPU executes the OS The Master processor only carries out
operations. the OS functions.

Ease Symmetric Multiprocessors are The master processor has access to


difficult to understand since all of the the data structure.
processors must be synchronized to
maintain load balance.

Processor All processors use a common ready The master processor assigns the
queue, or each may have its private slave processors processes, or they
ready queue. have some predefined tasks.

Communication Shared memory allows all processors Processors do not need to


to communicate with one another. communicate because the master
processor controls them.

Architecture SMP processors all have the same Asymmetric Multiprocessing


architecture. processors can have the same or
different architecture.

Failure When a CPU Fails, the system's If a master processor fails, control is
computing capacity decreases. passed to a slave processor. If a slave
processor fails, the task is passed to a
different processor.

Cost It is costly in comparison to It is cheaper than Symmetric


Asymmetric Multiprocessing. Multiprocessing.

Advantages of Multiprocessing operating system:

o Increased reliability: Due to the multiprocessing system, processing tasks can be


distributed among several processors. This increases reliability as if one processor fails, the
task can be given to another processor for completion.
o Increased throughout: As several processors increase, more work can be done in less time.
o Faster Processing
o Better Efficiency

Disadvantages of Multiprocessing operating System

o Multiprocessing operating system is more complex and sophisticated as it takes care of


multiple CPUs simultaneously.
o
4-Multitasking 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.

Advantages of Multitasking operating system


o

o This operating system is more suited to supporting multiple users simultaneously.


o The multitasking operating systems have well-defined memory management.

Disadvantages of Multitasking operating system


o The multiple processors are busier at the same time to complete any task in a multitasking
environment, so the CPU generates more heat.
Network Operating System

An Operating system, which includes software and associated protocols to communicate


with other computers via a network conveniently and cost-effectively, is called Network
Operating System.

Advantages of Network Operating System


o In this type of operating system, network traffic reduces due to the division between clients
and the server.
o This type of system is less expensive to set up and maintain.

Disadvantages of Network Operating System


o In this type of operating system, the failure of any node in a system affects the whole system.
o Security and performance are important issues. So trained network administrators are
required for network administration.
5-Real Time Operating System
In Real-Time Systems, each job carries a certain deadline within which the job is supposed
to be completed, otherwise, the huge loss will be there, or even if the result is produced, it
will be completely useless.

The Application of a Real-Time system exists in the case of military applications, if you want
to drop a missile, then the missile is supposed to be dropped with a certain precision.

Advantages of Real-time operating system:


o Easy to layout, develop and execute real-time applications under the real-time operating
system.
o In a Real-time operating system, the maximum utilization of devices and systems.
Disadvantages of Real-time operating system:
o Real-time operating systems are very costly to develop.
o Real-time operating systems are very complex and can consume critical CPU cycles.

6-Time-Sharing Operating System


In the Time Sharing operating system, computer resources are allocated in a time-dependent
fashion to several programs simultaneously. Thus it helps to provide a large number of user's
direct access to the main computer. It is a logical extension of multiprogramming. In time-
sharing, the CPU is switched among multiple programs given by different users on a
scheduled basis.

A time-sharing operating system allows many users to be served simultaneously, so


sophisticated CPU scheduling schemes and Input/output management are required.

Time-sharing operating systems are very difficult and expensive to build.

Advantages of Time Sharing Operating System


o The time-sharing operating system provides effective utilization and sharing of resources.
o This system reduces CPU idle and response time.

Disadvantages of Time Sharing Operating System


o Data transmission rates are very high in comparison to other methods.
o 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.

7-Distributed Operating System


The Distributed Operating system is not installed on a single machine, it is divided into parts,
and these parts are loaded on different machines. A part of the distributed Operating system
is installed on each machine to make their communication possible. Distributed Operating
systems are much more complex, large, and sophisticated than Network operating systems
because they also have to take care of varying networking protocols.

Advantages of Distributed Operating System


o The distributed operating system provides sharing of resources.
o This type of system is fault-tolerant.

Disadvantages of Distributed Operating System


o Protocol overhead can dominate computation cost.
Language Translators--

When humans want to express their feelings, thoughts, and ideas to other humans we
communicate through languages. In the same way, in the case of computers, we need languages
to communicate to the computer and those languages are called programming languages. But we
need a language translator in between because the computer understands only machine language
(in the form of 0s and 1s) and it is hard for us to give instructions directly in machine language,
so we use language processors/translators which are special translator system software used to
convert the programming languages into machine code.

Hence, Compiler, Interpreter, and Assembler are types of language processors that convert
programming languages to machine language (binary code). Compilers and interpreters are used
to convert High-Level Language into machine language. Assemblers are used to convert Low-
level Language or Assembly Language Code into Machine Language (Binary code).

Assembler--

It is a translator program that converts assembly language or low-level programming


language to machine code.

It was the first interface through which communication between machines and humans became
possible.
Assembly language or low-level language is where we use mnemonics(instructions, in place of
machine language, assembly language is dependent on the machine which implies that the
mnemonics are also dependent on the architecture of machines.

We need an Assembler to fill the gap between human and machine so that they can communicate
with each other. code written in assembly language is some sort of mnemonics(instructions) like
ADD, MUL, MUX, SUB, DIV, MOV and so on. and the assembler is basically able to convert
these mnemonics in Binary code. Here, these mnemonics also depend upon the architecture of
the machine.

Assembler work in two different phases over the given input-first phase and second phase.

Examples of Assembler are- GNU, GAS, etc.

Advantages of Assembler

 It is a very fast translating system software.

 It is as efficient as the machine language.

 Developing assemblers for translating is easier as compared to compiler and interpreter.

 Assemblers are used in computer forensics, brute force hacking etc. where it is important
to determine exactly what is going on.
Disadvantages of Assembler

 Lower-Level Machine language is difficult to understand and code.

 It changes with the architecture of machines.

 It is difficult to debug.

 We have to write different assembly codes for 8-bit, 16-bit, 32-bit, 64-bit machines which
is a tedious task and difficult to maintain.
Interpreter----
It converts source programs written in High-Level Programming language into machine code line
by line, which means it executes one single line at a time into machine language. If there is an
error in the program the interpreter terminates its translation process and proceeds for execution
only when the error is removed. This process continues till the interpreter reaches the end of the
Program.

In the case of an interpreter, each line is converted then executed simultaneously, as a result, it
requires less memory space as compared to the compiler.

Examples of Interpreters: Python Interpreter, Ruby Interpreter, LISP, APL, etc.

Advantages of Interpreter

 It is easy to find and debug errors from the code/source program.

 As there is no Intermediate object Code, there is less memory consumption.

 Interpreters give execution control to programmers as they can see their code running line
by line.

 It can be easily used between different platforms.

 Interpreter is good for fast debugging.

Disadvantages of Interpreter

 It takes time for converting and executing the instructions line by line.

 It is not good for large programs.

 It is less secure for privacy because we need to share the actual program.

 To run the code on other machine it requires interpreter to be installed on the machine.

COMPILERS---
It is a translator program that converts source code written in a High-Level language like Java,
C++, etc. to equivalent machine language in one go.

It converts the entire program to executable object code if the entire program is Error-free Code.
However, if there are errors in the program the compiler highlights them at the end of the
execution of the entire program, and then the errors must be removed for successful compilation
of source code.

It converts the source program to object code(combination of binary numbers) which can be
stored and we can run it each time we need to execute the program therefore it eliminates
recompilation.

At the same time due to the generation of the intermediate file, it takes up a lot of memory as
compared to other language processors. Compilation as a whole process is done in the following
phases - lexical analyzer, semantic analyzer, syntax analyzer, intermediate code generator, code
optimizer, symbol table, and error handle.

Examples of Compiler are- Clang, GCC, javac, etc.

Phases of Compilation Process—


Phase 1---Lexical Analysis is the first phase when compiler scans the source code. This process
can be left to right, character by character, and group these characters into tokens.
Here, the character stream from the source program is grouped in meaningful sequences by
identifying the tokens. It makes the entry of the corresponding tickets into the symbol table and
passes that token to next phase.
The primary functions of this phase are:

 Identify the lexical units in a source code


 Classify lexical units into classes like constants, reserved words, and enter them in
different tables. It will Ignore comments in the source program
 Identify token which is not a part of the language

Example:
x = y + 10

Tokens

X Identifier

= Assignment operator

Y Identifier

+ Addition operator

10 Number

Symbol Table – It is a data structure being used and maintained by the compiler, consisting of
all the identifier’s names along with their types. It helps the compiler to function smoothly by
finding the identifiers quickly.

Phase 2: Syntax Analyzer---


Syntax analysis is all about discovering structure in code. It determines whether a text follows
the expected format. The main aim of this phase is to make sure that the source code was written
by the programmer is correct or not.
Syntax analysis is based on the rules based on the specific programing language by constructing
the parse tree with the help of tokens. It also determines the structure of source language and
grammar or syntax of the language.
Here, is a list of tasks performed in this phase:

 Obtain tokens from the lexical analyzer


 Checks if the expression is syntactically correct or not
 Report all syntax errors
 Construct a hierarchical structure which is known as a parse tree

Example
Any identifier/number is an expression
If x is an identifier and y+10 is an expression, then x= y+10 is a statement.

Phase 3-Semantic Analyzer – It verifies the parse tree, whether it’s meaningful or
not. It furthermore produces a verified parse tree. It also does type checking, Label
checking, and Flow control checking.

Phase 4—Intermediate Code Generation-

It generates intermediate code, which is a form that can be readily executed by a machine We

have many popular intermediate codes. Example – Three address codes etc. Intermediate code

is converted to machine language using the last two phases which are platform dependent.

Phase 5- Code Optimization-

It transforms the code so that it consumes fewer resources and produces more speed. The

meaning of the code being transformed is not altered. Optimization can be categorized into two

types: machine-dependent and machine-independent.

Phase 6: Target Code Generation-


Code generation is the last and final phase of a compiler. It gets inputs from code optimization
phases and produces the page code or object code as a result. The objective of this phase is to
allocate storage and generate relocatable machine code.
It also allocates memory locations for the variable. The instructions in the intermediate code are
converted into machine instructions. This phase coverts the optimize or intermediate code into
the target language.
The target language is the machine code. Therefore, all the memory locations and registers are
also selected and allotted during this phase. The code generated by this phase is executed to take
inputs and generate expected outputs.

Example:
a = b + 60.0

 Compiler operates in various phases each phase transforms the source program from one
representation to another
 Six phases of compiler design are 1) Lexical analysis 2) Syntax analysis 3) Semantic
analysis 4) Intermediate code generator 5) Code optimizer 6) Code Generator
 Lexical Analysis is the first phase when compiler scans the source code
 Syntax analysis is all about discovering structure in text
 Semantic analysis checks the semantic consistency of the code
 Once the semantic analysis phase is over the compiler, generate intermediate code for the
target machine
 Code optimization phase removes unnecessary code line and arranges the sequence of
statements
 Code generation phase gets inputs from code optimization phase and produces the page
code or object code as a result
 A symbol table contains a record for each identifier with fields for the attributes of the
identifier
 Error handling routine handles error and reports during many phases

Advantages of Compiler

 It produces an executable file that can run without the need for source code.

 It is relatively faster than other language processors.

 Using a compiler is more secure because the actual source program can be hidden which
makes it private and secure.

 The machine code of the executable file is native to the machine which makes the compiler
well optimized.

Disadvantages of Compiler

 Debugging(removing errors) is relatively tough.

 It requires a lot of memory for producing an Object File.

 The source code needs to be recompiled every time there is a change in the code.

 After the removal of errors in our code, it needs to be recompiled again.

Difference Between Compiler, Interpreter, Assembler

Assembler vs Compiler

Compiler Assembler
Compiler converts program written in a high-level language to The assembler converts assembly
machine-level language. code into machine code.

Debugging is tough as compared to


Debugging is easy in the case of the compiler.
the compiler.

Assembler is less intelligent as


The compiler is more intelligent than the assembler.
compared to the compiler.

A compiler works in the following phases: lexical analyzer, An assembler works in two phases
semantic analyzer, syntax analyzer, intermediate code generator, over the given input: the first phase
code optimizer, symbol table, and error handle. and the second phase.

Assembler converts code into object


Compiler scans the entire program before converting it into
code then it converts object code into
machine code.
machine code.

Examples of assemblers are GNU,


Examples of compilers are Clang, GCC, javac, etc.
GAS, etc.

Compiler vs Interpreter

Compiler
Interpreter

It translates a High-Level language into machine It translates a High-Level language into machine
code at once.
code line by line.

A translator Program is required each time for


A translator Program is not required for execution.
execution.

It creates and stores an object file. It does not create an object program.

Memory consumption is more in the case of the An interpreter takes relatively less memory than the
compiler. compiler.

Debugging of code is relatively harder. Debugging is easy as compared to the compiler.

Compiler is relatively costlier than the interpreter. Less costly.


More useful in the case of security. Interpreter is more vulnerable to threats.

Execution Time is less. Execution time is higher.

Suitable for large programs. Suitable for small programs.

Why is Compiler better than Assembler and Interpreter?Compilers are preferred over
assemblers and interpreters because of various reasons:

 Compilers translate and execute the code faster than assemblers and interpreters.

 The compiler converts the code into Object file which can be used whenever we need to
execute the program, therefore it eliminates the need to re-compile.

 All the errors are found and displayed together at the end.
Summing Up

All three of the language processors are used to convert programming languages into equivalent
machine code. Compilers and interpreters convert High-Level languages whereas an Assembler
is used to convert Low-Level language. Nowadays, most of the languages like Java, C++ are
converted using a compiler whereas Python uses an interpreter. The use of assembler is very rare
and it is mostly only used by computer experts and hackers. Most widely used language translator
among the three is compiler.

Phase 3- Intermediate Code Generator--


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

Features of Memory--

1. Location: It represents the internal or external location of the memory in a computer. The internal
memory is inbuilt in computer memory. It is also known as primary memory. the example of primary
memory are registers, cache and main memory. Whereas, external memory is the separate storage device
from the computer, such as disk, tape, USB pen drive.
2. Capacity: It is the most important feature of computer memory. Storage capacity can vary in external
and internal memory. External devices' storage capacity is measured in terms of bytes, whereas the
internal memory is measured with bytes or words. The storage word length can vary in bits, such as 8,
16 or 32 bits.
3. Access Methods: Memory can be accessed through four modes of memory.
o DMA: As the name specifies, Direct Memory Address (DMA) is a method that allows input/output
(I/O) devices to access or retrieve data directly or from the main memory.
o Sequential Access Method: The sequential access method is used in a data storage device to read
stored data sequentially from the computer memory. Whereas, the data received from random
access memory (RAM) can be in any order.
o Random Access Method: It is a method used to randomly access data from memory. This method
is the opposite of SAM. For example, to go from A to Z in random access, we can directly jump
to any specified location. In the Sequential method, we have to follow all intervening from A to Z
to reach at the particular memory location.
o Associative Access Method: It is a special type of memory that optimizes search performance
through defined data to directly access the stored information based on a memory address.
4. Unit of transfer: As the name suggests, a unit of transfer measures the transfer rate of bits that can be
read or write in or out of the memory devices. The transfer rate of data can be different in external and
internal memory.
o Internal memory: The transfer rate of bits is mostly equal to the word size.
o External memory: The transfer rate of bit or unit is not equal to the word length. It is always
greater than a word or may be referred to as blocks.
5. Performance: The performance of memory is majorly divided into three parts.
o Access Time: In random access memory, it represents the total time taken by memory devices to
perform a read or write operation that an address is sent to memory.
o Memory Cycle Time: Total time required to access memory block and additional required time
before starting second access.
o Transfer rate: It describes the transfer rate of data used to transmit memory to or from an external
or internal memory device. Bit transfer can be different for different external and internal devices.
6. Physical types: It defines the physical type of memory used in a computer such as magnetic,
semiconductor, magneto-optical and optical.
7. Organization: It defines the physical structure of the bits used in memory.
8. Physical characteristics: It specifies the physical behavior of the memory like volatile, non-volatile or
non-erasable memory. Volatile memory is known as RAM, which requires power to retain stored
information, and if any po
9. wer loss has occurred, stored data will be lost. Non-volatile memory is a permanent storage memory that
is used to obtain any stored information, even when the power is off. Non-erasable memory is a type of
memory that cannot be erased after the manufactured like ROM because at the time of manufactured
ROM are programmed.

Classification of Memory

The following figure represents the classification of memory:


Primary or Main Memory
Primary memory is also known as the computer system's main memory that communicates directly within
the CPU

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

The primary memory is further divided into two parts:

1. RAM (Random Access Memory)


2. ROM (Read Only Memory)

Random Access Memory (RAM)


Random Access Memory (RAM)

is one of the faster types of main memory accessed directly by the CPU. It is the hardware in a computer device to
temporarily store data, programs or program results. It is used to read/write data in memory until the machine is
working. It is volatile, which means if a power failure occurs or the computer is turned off, the information stored
in RAM

will be lost. All data stored in computer memory can be read or accessed randomly at any time.
There are two types of RAM:

o SRAM
o DRAM

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

Characteristics of DRAM

1. It requires continuously refreshed to retain the data.


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

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

1. It does not require to refresh.


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

SRAM Vs. DRAM


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 preserve the It requires periodically refreshing to preserve the
information. information.

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

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

It has a complex structure. Its structure is simple.

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

Advantages of RAM

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


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

Disadvantages of RAM

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


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

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

Types of ROM

There are five types of Read Only Memory:

1. MROM (Masked Read Only Memory):


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

Advantages of ROM

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

Disadvantages of ROM

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

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

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

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

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

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

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

Types of RAM: DRAM and SRAM Types of ROM: MROM, PROM, EPROM, EEPROM

Secondary Memory--is a permanent storage space to hold a large amount of data. Secondary memory is also
known as external memory that representing 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.

Features of Secondary Memory


o Its speed is slower than the primary/ main memory.
o Store data cannot be lost due to non-volatile nature.
o It can store large collections of different types, such as audio, video, pictures, text, software, etc.
o All the stored data in a secondary memory cannot be lost because it is a permanent storage area; even the
power is turned off.
o It has various optical and magnetic memories to store data.

Types of Secondary Memory

The following are the types of secondary memory devices:

Hard Disk
A hard disk is a computer's permanent storage device. It is a non-volatile disk that permanently stores data,
programs, and files, and cannot lose store data when the computer's power source is switched off. Typically, it is
located internally on computer's motherboard that stores and retrieves data using one or more rigid fast rotating
disk platters inside an air-sealed casing. It is a large storage device, found on every computer or laptop for
permanently storing installed software, music, text documentation, videos, operating system, and data until the
user did not delete.

Floppy Disk

A floppy disk is a secondary storage system that consisting of thin, flexible magnetic coating disks for holding
electronic data such as computer files. It is also known as Floppy Diskette that comes in three sizes like 8 inches,
5.5 inches and 3.5 inches. The stored data of a floppy disk can be accessed through the floppy disk drive.
Furthermore, it is the only way through a new program installed on a computer or backup of the information.
However, it is the oldest type of portable storage device, which can store data up to 1.44 MB. Since most programs
were larger, that required multiple floppy diskettes to store large amounts of data. Therefore, it is not used due to
very low memory storage.
CD (Compact Disc)

is an optical disk storage device, stands for Compact Disc. It is a storage device used to store various data types
like audio, videos, files, OS, Back-Up file, and any other information useful to a computer. The CD has a width
of 1.2 mm and 12 cm in height, which can store approximately 783 MB of data size. It uses laser light to read
and write data from the CDs.
Types of CDs

1. CD-ROM (Compact Disc Read Only Memory): It is mainly used for bulk size mass like audio CDs,
software and computer games at the time of manufacture. Users can only read data, text, music, videos
from the disc, but they cannot modify or burnt it.
2. CD-R (Compact Disc Recordable): The type of Compact Disc used to write once by the user; after that,
it cannot be modified or erased.
3. CD-RW (Compact Disc Rewritable): It is a rewritable CD disc, often used to write or delete the stored
data.

DVD Drive/Disc

DVD is an optical disc storage device, stands for Digital Video Display or Digital Versatile Disc. It has the
same size as a CD but can store a larger amount of data than a compact disc. It was developed in 1995 by Sony,
Panasonic, Toshiba and Philips four electronics companies. DVD drives are divided into three types, such as
DVD ROM (Read Only Memory), DVD R (Recordable) and DVD RW (Rewritable or Erasable). It can store
multiple data formats like audio, videos, images, software, operating system, etc. The storing capacity of data in
DVD is 4.7 GB to 17 GB.
Blu Ray Disc (BD)

Blu Ray is an Optical disc storage device used to store a large amount of data or high definition of video recording
and playing other media files. It uses laser technology to read the stored data of the Blu-ray Disk. It can store
more data at a greater density as compared to CD/ DVD. For example, compact discs allow us to store 700 MB
of data, and in DVDs, it provides up to 8 GB of storage capacity, while Blu-ray Discs provide 28 GB of space to
store data.

Pen Drive

A pen drive is a portable device used to permanently store data and is also known as a USB flash drive. It is
commonly used to store and transfer the data connected to a computer using a USB port. It does not have any
moveable part to store the data; it uses an integrated circuit chip that stores the data. It allows the users to store
and transfer data like audio, videos, images, etc. from one computer to any USB pen drive. The storing capacity
of pen drives from 64 MB to 128 GB or more.
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.
1. 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.
2. 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.
3. 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 up to 8 MB.

Advantages of Cache Memory

1. Cache memory is the faster memory as compared to the main memory.


2. It stores all data and instructions that are repeatedly used by the CPU for improving the performance of a
computer.
3. The access time of data is less than the main memory.

Disadvantage of Cache Memory

1. It is very costly as compared to the Main memory and the Secondary memory.
2. It has limited storage capacity.

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 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.

Primary Vs. Secondary Memory


Primary Memory Secondary Memory

It is also known as temporary memory. It is also known as a permanent memory.

Data can be access directly by the processor or Data cannot be accessed directly by the I/O processor
CPU. or CPU.

Stored data can be a volatile or non-volatile The nature of secondary memory is always non-
memory. volatile.

It is more costly than secondary memory. It is less costly than primary memory.

It is a faster memory. It is a slower memory.


It has limited storage capacity. It has a large storage capacity.

It required the power to retain the data in primary It does not require power to retain the data in
memory. secondary memory.

Examples of primary memory are RAM, ROM, Examples of secondary memory are CD, DVD,
Registers, EPROM, PROM and cache memory. HDD, magnetic tapes, flash disks, pen drive, etc.

You might also like