0% found this document useful (0 votes)
3 views

Unit_1

The document provides an overview of computer fundamentals, including definitions, characteristics, and the evolution of computers from early counting devices to modern machines. It discusses the history of computing, highlighting key developments and figures, such as Charles Babbage and the invention of the first mechanical calculator. Additionally, it outlines the different generations of computers, detailing advancements in technology from vacuum tubes to integrated circuits and personal computers.

Uploaded by

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

Unit_1

The document provides an overview of computer fundamentals, including definitions, characteristics, and the evolution of computers from early counting devices to modern machines. It discusses the history of computing, highlighting key developments and figures, such as Charles Babbage and the invention of the first mechanical calculator. Additionally, it outlines the different generations of computers, detailing advancements in technology from vacuum tubes to integrated circuits and personal computers.

Uploaded by

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

Computing

Fundamentals
and C
Programming Unit 1
Dr. D. Karthika
Fundamentals
of Computers &
Problem
Solving in C
Agenda
Fundamentals of Computers : Introduction – History of
Computers-Generations of Computers- Classification of
Computers-Basic Anatomy of a Computer System-Input
Devices-Processor- Output Devices-Memory Management –
Types of Software- Overview of Operating System- Pro-
gramming Languages-Translator Programs-Problem Solving
Techniques - Overview of C.
Introduction
Introduction to Computer
WHAT IS COMPUTER?

The word “computer” is comes from the word “TO COMPUTE” means to calculate.
 A computer is normally considered to be a calculation device which can perform the arithmetic
operations very speedily.
 A computer may be defined as a device which operates upon the data.
 Data can be in the form of numbers, letters, symbols, size etc. And it comes in various shapes
& sizes depending upon the type of computer application.
 A computer can store, process & retrieve data as and when we desired.
 The fact that computer process data is so fundamental that many people have started calling
as “Data Processor”.
 A computer first it gets the Data, does Process on it and then produces Information.
Introduction to Computer
WHAT IS COMPUTER?

a=5, b=10 c=a+b


print(c) c=15
DEFINITION OF COMPUTER
Definition
The computer is a super-intelligent electronic device that accepts data from the user, processes
the data by performing calculations and operations on it, and generates the desired output
results. Computer performs both simple and complex operations, with speed and accuracy.
 The computer was originally defined as a super fast calculator. It had the capacity to solve
complex arithmetic and scientific problems at very high speed.
 But nowadays in addition to handling complex arithmetic computations, computers perform
many other tasks like accepting, sorting, selecting, moving, comparing various types of
information.
 They also perform arithmetic and logical operations on alphabetic, numeric and other types of
information.
 This information provided by the user to the computer is data. The information in one form
which is presented to the computer is the input information or input data.
DEFINITION OF COMPUTER
Definition
 Information in another form is presented by the computer after performing a process on it.
 This information is the output information or output data.
 The set of instructions given to the computer to perform various operations is called as the
computer program. The process of converting the input data into the required output form with
the help of the computer program is called as data processing. The computers are therefore
also referred to as data processors.
 Therefore a computer can now be defined as a fast and accurate data processing system that
accepts data, performs various operations on the data, has the capability to store the data and
produce the results on the basis of detailed step by step instructions given to it.
Basic function of a Computer
CPU Monitor,
Printer
Keyboard,
Mouse etc.,

Hard disk
Characteristics of a Computer
Some important characteristics of the computer are as follow:
 Automatic:
 Computers are automatic machines because it works by itself without human intervention.
 Once it started on a job they carry on until the job is finished. Computer cannot start
themselves.
 They can works from the instructions which are stored inside the system in the form of
programs which specify how a particular job is to be done.
 Accuracy:
 Computer provides a high degree of accuracy.
 The degree of accuracy of a particular computer depends upon its design.
 Errors can occur by the computer. But these are due to human weakness, due to incorrect
data, but not due to the technological weakness.
 For example, the computer can accurately give the result of division of any two numbers up to
10 decimal places.
Characteristics of a Computer
 Speed:
 The computer can process data very fast, at the rate of millions of instructions per second.
Some calculations that would have taken hours and days to complete otherwise, can be
completed in a few seconds using the computer.
 For example, calculation and generation of salary slips of thousands of employees of an
organization, weather forecasting that requires analysis of a large amount of data related to
temperature, pressure and humidity of various places, etc.,
 Diligence :
 When used for a longer period of time, the computer does not get tired or fatigued.
 It can perform long and complex calculations with the same speed and accuracy from the start
till the end.
Characteristics of a Computer
 Storage Capability:
 Large volumes of data and information can be stored in the computer and also retrieved
whenever required.
 Internal memory, similar to RAM, can only store a limited amount of data temporarily. External
storage devices like USB drives and solid-state drives (SSDs) offer permanent storage for
vast amounts of data. Floppy disks and compact discs (CDs) are outdated technologies for
data storage.
 Versatility :
 Computer is versatile in nature (The computer's a multitasking powerhouse).
 It seamlessly juggles various tasks, letting you switch between writing a document, jamming to
music, and printing on the fly.
History of Computer
Evolution of Computers
 In the beginning, when the task was simply counting or adding, people used either their
fingers or pebbles along lines in the sand. In order to simplify the process of counting, people
in Asia Minor built a counting device called abacus. This device allowed users to do
calculations using a system of sliding beads arranged on a rack.
 With the passage of time, many computing devices such as Napier bones and slide rule
were invented.
 In 1642, a French mathematician, Blaise Pascal invented the first functional automatic
calculator. This brass rectangular box, also called a Pascaline, used eight movable dios to
adds sums eight figures long.
 In 1694, German mathematician Gottfried wilhem von Leibniz extended pascal’s design to
perform multiplication, division and to find square root. This machine is known as Stepped
Reckoner.
Evolution of Computers
 The real beginnings of computers as we know them today, however, lay with an English
mathematics professor, Charles Babbage. In 1822, he proposed a machine to perform
differential equations, called a Difference Engine.
 In 1889, Herman Hollerith, who worked for us census bureau, also applied the Jacquard
loom concept to computing. Hollerith’s method used cards to store data, which he fed into a
machine that complled the results mechanically.
 Mark I, which was built as a partnership between Harvard Aiken and IBM in 1944.This
electronic calculating machine used relays and electromagnetic components to replace
mechanical components
 In 1946, John Eclcert and John Mauchy of developed ENIAC (electronic numerical integrator
and calculator).Thus computer used electronic vacuum tubes to make internal parts of the
computer.
Evolution of Computers
 Eckert and mauchy also proposed the development of EDVAC (electronic discrete variable
automatic computer).
 It was the first electronic computer to use the stored program concept introduced by John von
Neumann.
 In 1949, at the Cambridge university, Maurice wilkes developed EDSAC (electronic delay
storage automatic calculator)
 This machine used mercury delay lines for memory and vacuum tubes for logic.
 The Eckert – mauchy corporation manufactured UNIVAC ( universal automatic computer) in
1951 and its implementation marked the real beginning of the computer era.
Evolution of Computers
 The history of computing goes back much further than electronic machines! Early tools like the
abacus (2000 years ago) and the slide rule (invented in 1620 by William Oughtred) laid
the groundwork for future calculating devices.

The Abacus Slide Rule

 In 1642, Blaise Pascal, a French math whiz, built a revolutionary device: the first mechanical
calculator(first digital computer)! This marvel of engineering used numbered dials for input and
displayed results on another dial using clever gears. Basically, it was the original calculator,
paving the way for future computing machines.
Evolution of Computers
 In 1671, Gottfried von Leibnitz, a German mathematician, invented a calculating machine
which was able to add and perform multiplications. He invented a special stepped gear
mechanism for introducing the addend digits, which is still being used.
 Early calculator dreams weren't quite ready for prime time. While Pascal and Leibniz built
amazing prototypes in the 1600s, they weren't practical for everyday use. The wait wasn't too
long though!
 By the 1700s, Thomas of Colmar created the world's first commercially viable calculator that
could handle all four basic operations (add, subtract, multiply, and divide). This sparked a
wave of innovation, leading to calculators with features like keeping track of running totals,
storing past calculations, and even printing results – all by 1890!
Evolution of Computers
 The First Computer:
 In 1822, Charles Babbage builds the Difference Engine, a mechanical calculator that's
basically a 100-year-early computer. This steam-powered marvel, with automatic calculations
and printing, is why he's called the "father of modern computers“.
 Early calculator dreams weren't quite ready for prime time. While Pascal and Leibniz built
amazing prototypes in the 1600s, they weren't practical for everyday use. The wait wasn't too
long though!
 In 1890, Herman Hollerith (US Census Bureau) revolutionized data processing with punched
cards. These cards held information and could be read by machines, reducing errors and
boosting efficiency. This system was like early unlimited memory, as you could easily add
more punched cards.
Evolution of Computers
 Well known early computers:
The early computer era saw a variety of machines emerge, each with unique strengths and
weaknesses. Here are some key types with examples:
 Mark I :
 Post-WWII, the need for faster calculations led Howard Aiken (Harvard) to create the Mark I in
1944. This automatic calculator could perform basic math operations (multiplication in 4
seconds, division in 11 seconds) and print results.
 ENIAC :
 WWII sparked a need for super-fast computers! In 1942, to tackle complex ballistics
calculations for new weapons, John Eckert and John Mauchly at the University of
Pennsylvania whipped up the ENIAC (Electronic Numerical Integrator And Calculator).
This powerhouse was a major leap in computing power for the military.
Evolution of Computers
 It used 18,000 vacuum tubes, about 1,800 square feet of floor space, and consumed about
180,000 watts of electrical power. It had punched cards I/O and its programs were wired on
boards. ENIAC is accepted as the first successful high-speed electronic digital computer
which was used from 1946 to 1955.
 EDIVAC :
 ENIAC's success inspired John von Neumann, a math whiz, to dream up a revolutionary idea
in 1945: the stored program concept.
 This meant both data and instructions would live in the computer's memory, allowing for
automatic operation. This brilliant concept became the foundation for future high-speed
computers. Building on his ideas, a team at the Moore School (creators of ENIAC) along with
the US Army built the EDVAC (Electronic Discrete Variable Automatic Computer) between
1947 and 1950. This machine was the first to use von Neumann's stored program concept, a
major turning point in computer architecture.
Evolution of Computers
 UNIVAC :
 UNIVAC (1951) wasn't just the first mass-produced computer, it was also a stored-program
computer – a giant leap thanks to John von Neumann's ideas.
 The Universal Automatic Computer (UNIVAC), developed in 1951, was the first digital
computer to be produced and was installed in the Census Bureau.
 These first-generation machines were kind of finicky, needing a lot of maintenance, but they
were reliable (around 70-80%) and paved the way for the next decade of computing.
 UNIVAC's impact goes beyond just its technical capabilities. It showed the immense potential
of computers in various fields, inspiring a new generation of engineers and scientists to push
the boundaries of computing even further. It was a true pioneer that helped usher in the digital
age.
Computer Generations
 First Generation Computers (1940 to 1956) :
 Imagine computers the size of rooms! That's what the first generation was all about. These
pioneering machines relied on bulky vacuum tubes for calculations and magnetic drums for
memory, which wasn't very spacious by today's standards.
 Power-hungry and pricey: Running these early computers was no small feat. They gobbled
up electricity and were expensive to maintain.
 Limited abilities: Don't expect multitasking here. First-generation computers tackled one task
at a time, following instructions written in a special language only the machine understood
(machine language). Data and instructions were fed through punched cards or paper tape,
and results were printed on paper.
 Paving the way: Despite their limitations, these computers like ENIAC, EDVAC, and UNIVAC
were the essential first steps. They proved the power of electronic computing and laid the
foundation for the faster, more user-friendly computers we have today.
Computer Generations
 First Generation Computers (1940 to 1956) :
Computer Generations
 Second Generation Computers (1956 to 1963) :
 The 1950s saw a revolution in computing with the invention of the transistor. This tiny marvel
replaced the bulky vacuum tubes of the first generation. The impact was dramatic:
 Smaller and mightier: Transistors made computers significantly smaller, cheaper, and more
reliable. They were no longer room-sized behemoths, paving the way for more compact
machines.
 Power efficiency boost: Transistors also slashed energy consumption, making them more
economical to operate. Second-generation computers introduced assembly language, a step
up from machine language. It used symbols and abbreviations, making programming slightly
less like writing code for aliens.
 Birth of high-level languages: This era saw the dawn of high-level programming languages
like COBOL (COmmon Business Oriented Language) and FORTRAN (FORmula
TRANslation). These languages were more intuitive, closer to human languages, making
Computer Generations
 Second Generation Computers (1956 to 1963) :
 A trade-off for power: While these advancements were significant, second-generation computers
were still expensive. Their complexity required large computer centers with dedicated teams of
programmers and support staff.

Transistor
Computer Generations
 Third Generation Computers (1964 to 1971) :
 The invention of the integrated circuit (IC) by Jack Kilby in 1958 marked a turning point in
computing history. This tiny chip combined multiple transistors on a single piece of
silicon, leading to the third generation of computers. Here's what made them stand out:
 Mighty Microchips: ICs dramatically reduced the size and cost of computers. No more room-
filling giants! This opened doors for more compact and affordable machines.
 User-Friendly Input/Output: Punched cards became a relic of the past. Keyboards and
monitors became the norm, making human-computer interaction much easier.
 Peripheral Power: Manufacturers offered a wider range of accessories like displays, printers,
and consoles, giving users more options.
 Multitasking Marvels: Operating systems emerged, allowing computers to run multiple
applications at once. No more waiting for one task to finish before starting another!
Computer Generations
 Third Generation Computers (1964 to 1971) :

Integrated Circuits
Computer Generations
 Fourth Generation (1971-mid-1980s):
 The 1970s saw a major shift in computing - a move away from expensive, single-purpose
machines towards more affordable computers capable of handling a variety of tasks. This
transformation was fueled by a revolutionary technology called Large Scale Integration
(LSI).
 LSI: Shrinking the Giant Brains: Imagine squeezing hundreds of computer components
onto a single chip! That's the magic of LSI. This miniaturization revolutionized computer
hardware, paving the way for smaller and cheaper machines.
 The Birth of the PC: A Personal Computing Boom: By the 1980s, the trend continued with
Very Large Scale Integration (VLSI), cramming hundreds of thousands of components onto
a single chip. This miniaturization frenzy led to the introduction of the personal computer (PC).
These programmable machines were small and affordable enough for individual ownership,
opening doors to a whole new era of personal computing. Companies like Apple and IBM
Computer Generations
 Fourth Generation (1971-mid-1980s):
Computer Generations
 Fifth Generation (mid-1980s-present):
 The fifth generation of computers marks the era of massive miniaturization and the dawn of
the information age. Here's a breakdown of its key characteristics:
 Technology: Very Large Scale Integration (VLSI) - millions of transistors crammed onto a
single chip, leading to even smaller and more powerful computers.
 Size: This era saw a vast range of computer sizes, from powerful supercomputers to portable
laptops, making computing more versatile.
 Functionality: Processing power and memory capacity took a quantum leap. This period
witnessed the birth of the internet and the World Wide Web, connecting people globally and
revolutionizing communication. Advancements in artificial intelligence (AI) also began to take
shape.
Computer Generations
 Fifth Generation (mid-1980s-present):
 Looking Ahead:
 The concept of distinct generations can be blurry as technology continues to evolve rapidly.
Future computer generations may be defined by breakthroughs in areas like:
 Quantum computing: Utilizing the principles of quantum mechanics to solve problems
intractable for classical computers.
 Biocomputing: Harnessing biological processes for computing, potentially leading to more
efficient and powerful machines.
 Neuromorphic computing: Mimicking the structure and function of the human brain to
achieve more human-like intelligence in machines.
 The fifth generation of computers laid the foundation for the incredible computing power and
capabilities we enjoy today. It's an era that continues to evolve, shaping the future of
technology and communication.
Computer Generations
Classification of
Computers
Classification of Computers
 Four major categories: micro, mini, mainframe and super computer
Classification of Computers
 There are several ways to classify computers, depending on what aspect you're interested in.
Here are the most common classifications:
 By Size and Capacity:
 Supercomputers: The mightiest machines, tackling massive scientific computations and
complex simulations (think weather forecasting, climate modeling). The largest commercial
use of super computers is in the entertainment advertising industry, CRAY – 3, Cyber 205 and
PARAM are some well known super computers
 Mainframe Computers: Large and powerful, handling critical tasks for businesses, like data
processing and financial transactions (think banks, insurance companies). Examples of
mainframe computers are IBM’s E5000, VAX8000 and CDC6600.
 Minicomputers: Smaller than mainframes but still powerful, used in specialized applications
like scientific research or departmental computing (think universities, research labs). Some of
the widely used mini computers are PDP II, IBM (8000 series) and VAX 7500.
Classification of Computers
 Microcomputers (Personal Computers): The everyday heroes, designed for individual use -
from browsing the web to gaming to office work (think laptops, desktops). IBM – pc, Pentium
100, ibm-pc Pentium 200 and Apple Macintosh are some of the example of micro computer
 Microcontrollers: Tiny computers embedded in devices, controlling specific functions (think
smartphones, appliances, cars).
 By Purpose:
 General-purpose computers: All-rounders, suitable for a wide range of tasks, like personal
computers.
 Special-purpose computers: Built for a specific job, like weather forecasting systems or
industrial robots.
 Embedded systems: Tiny computers integrated within a larger device, performing a specific
function (think microcontrollers in cars or fitness trackers).
Classification of Computers
 By Technology:
 Analog computers: Use continuous signals (like electrical voltage) to represent data (less
common today, used for specialized applications).
 Digital computers: The dominant force, using discrete values (0s and 1s) to represent data
(most computers today).
 Hybrid computers: A blend of both analog and digital technologies, used in specific
applications where both types offer advantages (rare today).
Components of
Computers
Basic Anatomy of a Computer System
Basic Anatomy of a Computer System
 The computer system essentially comprises into three important parts – input device,
central processing unit (CPU), and the output device. The CPU itself is made of three
components namely, the arithmetic logic unit (ALU), memory unit, and the control unit.
 In addition to these, auxiliary storage/secondary storage devices are used to store data
and instructions on a long-term basis.
 Input Unit :
 Accept data and instructions from the outside world.
 Convert it to a form that the computer can understand. Supply the converted data to the
computer system for further processing.
 The input unit is used to send information or instructions or commands to the computer.
 The data received from the input unit is immediately steered in main memory and then
processed.
Basic Anatomy of a Computer System
 Following are the some of the input devise.
 (i) Keyboard
 (ii) Mouse
 (iii) Light pen
 (iv) Joystick
 (v) Ocr (optical character recognizer)
 (vi) MICR (magnetic ink character recognizer)
 (vii) OMR ( optical mark recognizer)
Basic Anatomy of a Computer System
 Central Processing Unit (CPU)
 It performs all calculations and all decisions.
 It controls and co-ordinates all units of the computer
 It interprets instructions of a program
 It stores data temporarily and monitors external requests.
 The CPU is sub-divided into the following sub-system.
 (i) Control unit
 (ii) Arithmetic and logical unit
 (iii) Memory unit
 (a) Primary storage
 (b) Secondary storage.
Basic Anatomy of a Computer System
 Control unit
 The control unit instructs the computer how to carry out program instructions. It directs the
flow of data between memory and arithmetic logical unit.
 The input unit does not know when to receive data and where to put the data in the storage
unit after receiving it similarly, the control unit instructs the input unit where to store the data
after receiving it from the user.
 In the same way, it controls the flow of data and instructions from the storage unit to ALU
during program execution the control unit fetches instructions from the primary memory,
decodes them to determine the operations required, and then sets up instructions execution.
 Eg. To add two numbers or to read a character from a keyboard. A number registers are
associated with the control unit.
Basic Anatomy of a Computer System
 Arithmetic And Logical Unit
 Arithmetic and logical unit performs all the arithmetic and logical operations.
 Arithmetic operations like addition, subtraction, multiplication and logical operations, such as
comparisons are performed in ALU.
 All calculations are performed in the arithmetic and logical unit (ALU) of the computer. ALU
also does comparisons and take decision.
 Example: it can check if the number A is less than equal to or greater than the number B.
once the calculations or the logical operation is performed by ALU, then the result is
transferred to the storage unit
Basic Anatomy of a Computer System
 Memory unit
 Memory is the part of computer which holds data for processing and other information it is
also called as main memory or primary memory.
 A device that stores program instructions or data used by the cpu when performing a given
function.
 Memory is a device, which is used to store information temporarity/permanently, it is the place
where the information is safekeeped. Secondary memory, such as disk storage, is functionalty
considered I/O because it is accessed through the I/O system.
 (a) Primary storage
 The primary storage is also called as “main memory” stores and access information very
fastly. This is generally used to hold the program being currently executed in the computer, the
data being received from the input unit, the intermediate and final results of the program.
Basic Anatomy of a Computer System
 Primary storage is also known as system memory, internal, temporary and “RAM”
 Installed on the main computer board (motherboard)
 Typically comprised of ICs (integrated circuits)
 Fast access – usually in the order of nano second.
 (b) Secondary storage
 The secondary storage is also known as Auxiliary Storage it may store several programs,
documents, databases etc.
 The program that we want to run on the computer is first transferred to the primary memory
before it can run. Similarly, after running the program if need to save the result, we will transfer
them to the secondary storage.
 The secondary memory is slower and cheaper than the primary memory. Some of the
commonly used secondary memory devices are Floppy diskette, Zip diskette, Hard disk
and Magnetic disks and Tapes etc
Basic Anatomy of a Computer System
 Output unit
 Devices used to get the response or result of a process from the computer is called output.
Output unit is the communication between the user and the computer.
 The output unit of a computer provider the information and results of a computation to the
outside world.
 Computers do not work in the decimal system, they work in the binary system. Therefore if
required, the output unit also converts the binary data into a form that users can understand.
 Commonly used output devices are.
 Visual display unit (VDU) or monitor
 Printer
 Computer output microfilm
 Plotter.
Memory
Management
Memory Management
 Computer’s memory can be classified into two types – RAM, and ROM.

 RAM or Random Access Memory is the central storage unit in a computer system.

 It is the place in a computer where the operating system, application programs, and the data

in current use are kept temporarily so that they can be accessed by the computer’s processor.

 The more RAM a computer has, the more data a computer can manipulate.

 Random access memory, also called the Read/Write memory, is the temporary memory of a

computer. It is said to be ‘volatile’ since its contents are accessible only as long as the

computer is on. The contents of RAM are cleared once the computer is turned off.
Memory Management
 ROM or Read Only Memory is a special type of memory which can only be read and
contents of which are not lost even when the computer is switched off.
 It typically contains manufacturer’s instructions. Among other things, ROM also stores an
initial program called the ‘bootstrap loader’ whose function is to start the computer software
operating, once the power is turned on.
 While manufacturer-programmed ROMs have data burnt into the circuitry, user programmed
ROMs can have the user load and then store read-only programs.
 PROM or Programmable ROM is the name given to such ROMs.
 Information once stored on the ROM or PROM chip cannot be altered. However, another type
of memory called EPROM (Erasable PROM) allows a user to erase the information stored on
the chip and reprogram it with new information.
 EEPROM (Electrically EPROM) and UVEPROM (Ultra Violet EPROM) are two types of
EPROMs.
Memory Management
 Secondary storage, unlike RAM, offers a non-volatile solution for storing data permanently.
Think of it as your digital archive, where information persists even after you power down your
computer. Here's a look at some common secondary storage devices and their uses:
 Hard Disk Drive (HDD): This workhorse of the storage world uses magnetic platters to store
data. It's known for its:
 High Capacity: HDDs offer vast storage capacities, perfect for large files like movies or
extensive document collections.
 Affordability: Compared to other options, HDDs are relatively inexpensive per gigabyte of
storage.
 Slower Access: While still functional, HDDs can be slower to access data compared to newer
technologies like Solid State Drives (SSDs).
Memory Management
 Solid State Drive (SSD): This flash memory-based device offers a faster and more durable
alternative to HDDs. Here's why:
 Blazing Speed: SSDs boast significantly faster read/write speeds, leading to quicker boot
times and program loading.
 Durability: With no moving parts, SSDs are less susceptible to physical damage compared to
HDDs.
 Cost Factor: While capacities are increasing, SSDs tend to be more expensive per gigabyte
than HDDs.
Memory Management
 Optical Discs: These versatile discs use lasers to read and write data. Common types
include:
 CD (Compact Disc): A classic choice for storing music, movies, and data backups. CDs offer
decent capacity (around 700MB) but are slower for reading and writing data.
 DVD (Digital Versatile Disc): Offers significantly higher capacity (up to 4.7GB) compared to
CDs, making it suitable for larger files or movie collections.
 Blu-ray Disc: Boasts the highest capacity among optical discs (up to 50GB), ideal for storing
high-definition movies or large backups.
Memory Management
 Magnetic Tape: While less common for personal computers, magnetic tapes are still used in
data centers and for archival purposes due to their:
 High Capacity: Tape cartridges can hold massive amounts of data, making them suitable for
large-scale backups.
 Cost-effective Archiving: For long-term data storage where speed isn't a priority, tapes offer
a cost-effective solution.
 Slower Access: Retrieving specific data from tapes can be time-consuming compared to
hard drives or SSDs.
Memory Management
 Solid-state Flash Drives (USB Drives): These portable storage devices offer a convenient
way to transfer and store data. They are:
 Compact and Portable: Small and lightweight, USB drives are perfect for carrying data
between computers.
 Fast Data Transfer: USB drives provide decent transfer speeds, making them suitable for
everyday tasks.
 Capacity Variations: Capacities range from gigabytes to terabytes, allowing you to choose
based on your needs.
Memory Management
Types of Software
Types of Software
 Software is a set of instructions that tells the computer about the tasks to be performed and
how these tasks are to be performed. Program is a set of instructions, written in a language
understood by the computer, to perform a specific task. A set of programs and documents are
collectively called software.
 Software can be categorised as system software and application software.
Types of Software
 System software acts as the foundation for a computer system, providing the platform for
application software (like games or productivity tools) to run. Here's a breakdown of the
different types of system software and some examples:
 1. Operating System (OS): The maestro of the system, the OS manages all computer
hardware resources and provides services for applications. Think of it as the traffic controller,
ensuring everything runs smoothly.
 Examples: Windows, macOS, Linux, Android (for smartphones)
 2. Device Drivers: These act as interpreters, allowing the OS to communicate with specific
hardware devices like printers, keyboards, or graphics cards. Imagine them translating
different languages so the OS and devices understand each other.
 Examples: A printer driver allows the OS to send printing instructions to a specific printer
model.
Types of Software
 3. Utility Software: These programs perform maintenance or optimization tasks to keep your
system running efficiently. Think of them as the system's toolbox. Examples: Disk formatting
tools, antivirus software, system backup utilities.
 4. Programming Language Translators: These bridge the gap between human-written
code and machine code understood by the computer. They translate high-level programming
languages (like Python or Java) into machine code. Examples: Compilers, interpreters.
 5. Firmware: Low-level software pre-installed on hardware devices, providing basic
functionality before the OS loads. Think of it as the device's built-in instructions.
 Examples: BIOS (Basic Input/Output System) on a computer motherboard, firmware on a
router that enables basic network functionality.
 In essence, system software provides the essential tools and services that applications need
to function effectively. It manages hardware resources, translates instructions, and keeps the
system running smoothly, laying the groundwork for a productive computing experience.
Types of Software
 Application software may consist of a single program, such as Microsoft notepad it may also
consist of a collection of programs often called a software package which work together to
accomplish a task, such as database management software.
 Application software ranges from games, calculators and word processors document creating
programs to programs that “paint” images on screen (image editors) some of the most
commonly used application software are discussed below:
 Word processors, Spreadsheets, Image editor etc.,
Overview of OS
 An Operating System (OS) is a vital component of a computer system that manages both
hardware and software resources and provides services for computer programs.
 It acts as an intermediary between users and the computer hardware.
 Functions of an Operating System :
 Process Management:
 Manages the execution of processes, including multitasking, process scheduling, and process
synchronization.
 Ensures that CPU time is efficiently allocated to running processes.
 Memory Management:
 Handles allocation and deallocation of memory space as needed by various programs.
 Manages different types of memory such as RAM (Random Access Memory) and cache.
Overview of OS
 File System Management:
 Organizes and manages files on storage devices.
 Provides mechanisms for data storage, retrieval, naming, sharing, and protection.
 Device Management:
 Manages device communication via their respective drivers.
 Coordinates the use of hardware devices like printers, disk drives, and network cards.
 Security and Access Control:
 Protects system data and resources from unauthorized access.
 Implements user authentication, authorization, and encryption.
 User Interface: Provides a user interface, which can be command-line based (CLI) or
graphical (GUI).
 Allows users to interact with the system and execute commands or run applications.
Overview of OS
 Types of Operating Systems
 Batch Operating System:
 Executes batches of jobs without manual intervention.
 Jobs with similar needs are grouped together and executed sequentially.
 Time-Sharing Operating System:
 Allows multiple users to share system resources simultaneously.
 Each user gets a time slice for their processes, making the system seem responsive.
 Distributed Operating System:
 Manages a group of independent computers and makes them appear as a single computer.
 Distributes computational tasks among the networked machines.
 Network Operating System:
 Provides functionalities to connect and manage networked computers.
 Examples include Novell NetWare and Windows Server.
Overview of OS
 Real-Time Operating System (RTOS):
 Processes data in real-time with strict timing constraints.
 Used in systems requiring high reliability and predictability like embedded systems.
 Mobile Operating System:
 Designed specifically for mobile devices like smartphones and tablets.
 Examples include Android and iOS.
 Popular Operating Systems
 Windows:Developed by Microsoft. Known for its user-friendly interface and extensive
software support.
 macOS:Developed by Apple Inc. Renowned for its seamless integration with Apple
hardware and design.
 Linux:Open-source operating system based on Unix. Known for its robustness, security,
and flexibility.
Overview of OS
 Android:Developed by Google. Predominantly used in smartphones and tablets.
 iOS:Developed by Apple Inc. Exclusively used in iPhones and iPads.
 Importance of Operating Systems
 Resource Management: Efficiently manages hardware and software resources, ensuring
optimal performance.
 User Convenience: Provides a platform for users to interact with the computer system
seamlessly.
 Application Support: Serves as a platform for software applications, enabling them to run
and perform tasks.
 Security: Implements measures to protect the system and data from threats and
unauthorized access.
 System Stability: Ensures the system runs smoothly and manages errors and crashes
effectively.
Programming
Languages
Programming Languages
 Programming languages are formal languages used to communicate instructions to a
computer. They are the tools developers use to create software, applications, and systems.
Each programming language has its own syntax, semantics, and use cases.
 Types of Programming Languages
 Low-Level Languages:
 Machine Language: The most basic programming language, consisting of binary code (0s
and 1s).Directly executed by the computer’s CPU.
 Assembly Language: A step above machine language, using symbolic representations of
machine instructions. Requires an assembler to convert into machine code.
 High-Level Languages:
 Easier for humans to read and write.
 Require a compiler or interpreter to convert into machine code.
Programming Languages
 Procedural Languages:
 Based on the concept of procedure calls.
 Programs are a sequence of instructions that operate on data.
 Examples: C, Pascal, Fortran.
 Object-Oriented Languages:
 Based on objects, which are instances of classes.
 Emphasize encapsulation, inheritance, and polymorphism.
 Examples: Java, C++, Python.
 Functional Languages:
 Emphasize the evaluation of functions.
 Avoid changing state and mutable data.
 Examples: Haskell, Lisp, Erlang.
Programming Languages
 Scripting Languages:
 Used for automating tasks and writing small programs.
 Often interpreted rather than compiled.
 Examples: JavaScript, Python, Ruby.
 Markup Languages:
 Used to define the structure and presentation of data.
 Not typically considered "programming" in the traditional sense.
 Examples: HTML, XML.
Programming Languages
 Popular Programming Languages
 Python:
 High-level, interpreted language known for its readability and simplicity.
 Widely used in web development, data science, automation, and artificial intelligence.
 JavaScript:
 Scripting language primarily used for web development.
 Enables dynamic content on websites and runs in the browser.
 Java:
 Object-oriented, platform-independent language.
 Commonly used in enterprise applications, Android development, and large systems.
 C: General-purpose procedural language.
 Known for its performance and low-level access to memory.Often used in system
programming and embedded systems.
Programming Languages
 C++:
 Extension of C with object-oriented features.
 Used in software requiring high performance, such as game development and real-time
simulations.
 C#:
 Developed by Microsoft, primarily used for Windows applications.
 Object-oriented and integrates well with the .NET framework.
 Ruby:
 Known for its simplicity and productivity.
 Often used in web development, particularly with the Ruby on Rails framework.
 PHP:
 Server-side scripting language designed for web development.
 Powers many websites and content management systems.
Programming Languages
 Swift:
 Developed by Apple for iOS and macOS development.
 Known for its performance and safety features.
 Go (Golang):
 Developed by Google, known for its simplicity and efficiency.
 Used in cloud services, networking, and scalable applications.
 Libraries and Frameworks:
 Pre-written code that can be reused to perform common tasks, reducing development time.
 Libraries are collections of functions and classes.
 Frameworks provide a foundation with a specified way to build and deploy applications.
Translator Programs
 Translator programs are essential in computer science, converting code written in high-level
programming languages into a form that a computer's hardware can execute. These programs
bridge the gap between human-readable code and machine code.
 Types of Translator Programs
 Compiler:
 Converts the entire high-level program code into machine code before execution.
 Generates an executable file, which can be run independently of the source code.
 Examples: GCC for C/C++, javac for Java.
 Advantages: Faster execution after compilation since the code is already translated into
machine language. Optimizations can be performed during compilation to improve
performance.
 Disadvantages: Compilation can be time-consuming. Debugging errors can be more
challenging since they are identified only after the entire code is compiled.
Translator Programs
 Interpreter:
 Translates high-level program code into machine code line by line, executing each line
immediately.No separate executable file is created.
 Examples: Python interpreter, JavaScript engine in web browsers.
 Advantages: Easier to debug since errors are detected and reported line by line. No need for
a separate compilation step, which can speed up the development process.
 Disadvantages: Slower execution since translation happens at runtime. May need to
translate the same line of code multiple times if it is part of a loop or called multiple times.
 Assembler:
 Translates assembly language code into machine code.
 Assembly language is a low-level programming language that uses symbolic representations
of machine instructions. Examples: NASM (Netwide Assembler), MASM (Microsoft Macro
Assembler).
Translator Programs
 Advantages: Provides control over hardware resources and can lead to highly efficient
programs. Useful for programming embedded systems and performance-critical applications.
 Disadvantages: Writing in assembly language is more complex and time-consuming.
Programs are less portable because they are specific to a particular hardware architecture.
 Role of Translator Programs
 Efficiency: Translate human-readable code into efficient machine code that can be executed
by the computer's CPU.
 Portability: Allow code written in high-level languages to be run on different hardware
platforms by providing appropriate translations for each platform.
 Abstraction: Enable programmers to write code in high-level languages without worrying
about the underlying hardware details.
 Error Detection: Identify and report syntax and semantic errors in the source code, helping
developers debug and improve their programs.
Translator Programs
 Example Workflows
 Compilation Workflow: Source Code (written in C) → Compiler (e.g., GCC) → Machine
Code (executable file) → Execution on the CPU.
 Interpretation Workflow: Source Code (written in Python) → Interpreter (Python interpreter)
→ Immediate Execution Line by Line.
 Assembly Workflow: Source Code (written in Assembly) → Assembler (e.g., NASM) →
Machine Code (executable file) → Execution on the CPU.
Overview of C
Overview of C
 C is a powerful and influential general-purpose programming language that has been around
since the early 1970s. Developed by Dennis Ritchie at Bell Labs, C was originally designed to
create the Unix operating system.
 It has had a significant impact on many modern programming languages and is widely used
for system programming, including operating systems and embedded systems.
 Here's a breakdown of what makes C stand out:
 Key Characteristics of C:
 Procedural Language: C follows a procedural programming paradigm, where programs are
divided into procedures (functions) that perform specific tasks. This structured approach
promotes code organization and reusability.
 Mid-Level Language: C strikes a balance between low-level and high-level languages. It
offers more control over hardware compared to high-level languages like Python but is still
easier to learn and write than assembly language.
Overview of C
 Rich Set of Operators: C provides a versatile set of operators for performing various
operations, including arithmetic, logical, bitwise, and relational comparisons.
 Pointers: One of C's defining features, pointers allow you to directly manipulate memory
addresses. This power comes with responsibility, as improper pointer usage can lead to
memory-related errors.
 Static Typing: C requires you to declare the data type of variables before using them. This
helps to prevent errors during compilation but can add some upfront effort when writing.
 Standard Library: Includes a standard library that provides numerous built-in functions for
input/output operations, string manipulation, mathematical computations, and more.
 Basic Structure of a C Program
Overview of C
#include <stdio.h> // Preprocessor directive for input/output functions
int main() { // Main function
printf("Hello, World!\n"); // Print statement
return 0; // Return statement indicating successful execution
}
Preprocessor Directives: Lines starting with #, such as #include, are preprocessor directives
that instruct the compiler to include standard libraries or perform other preprocessing tasks.
Main Function: The main() function is the starting point of every C program.
Statements: Each statement in C ends with a semicolon (;).
 Applications of C
Overview of C
Systems Programming: C is widely used for developing system software like operating
systems, device drivers, and embedded systems programming. Its efficiency and control over
hardware make it a favorite for low-level tasks.
Application Development: While not as common today for everyday applications, C can still be
used to create high-performance software, especially in graphics, game development, and
scientific computing.
Foundations of Programming: Learning C provides a solid foundation for understanding
programming concepts and can be a stepping stone to other languages like C++ or Java.
THANK YOU

You might also like