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

C Fundamentals Notes106835015

The document provides an overview of the history and evolution of computers from the first generation machines of the 1940s-1950s to modern computers. It discusses key developments like the creation of the stored program architecture and von Neumann architecture in the 1940s-1950s. It describes how early computers used vacuum tubes and were large, expensive machines with limited capabilities. The transition to transistor-based computers in the 1960s made them smaller, faster, cheaper and more reliable. Integrated circuits and microprocessors further decreased size and improved performance starting in the 1970s. Modern computers range from mobile phones to supercomputers and are programmed using languages from machine code to high-level languages.

Uploaded by

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

C Fundamentals Notes106835015

The document provides an overview of the history and evolution of computers from the first generation machines of the 1940s-1950s to modern computers. It discusses key developments like the creation of the stored program architecture and von Neumann architecture in the 1940s-1950s. It describes how early computers used vacuum tubes and were large, expensive machines with limited capabilities. The transition to transistor-based computers in the 1960s made them smaller, faster, cheaper and more reliable. Integrated circuits and microprocessors further decreased size and improved performance starting in the 1970s. Modern computers range from mobile phones to supercomputers and are programmed using languages from machine code to high-level languages.

Uploaded by

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

Module I - Introduction to computers

A computer is a machine that manipulates data according to a set of instructions. The first
generation of electronic computers was developed in mid 20th century (1940 - 1945). These
machines were of the size of a large room, consuming as much power as that of several
hundred modern PCs. These machines were able to execute only hundreds of instructions per
second and were expensive as well. They used vacuum tubes as their main components.
Modern computers are based on integrated circuits and are millions to billions of
times more capable than the early machines, and occupy only small space. They are capable
of executing billions of instructions per second. These days, embedded computers are found in
many devices from MP3 players to fighter aircraft and from toys to industrial robots.
The ability to store and execute list of instructions called programs makes computers
extremely versatile, distinguishing them from calculators. Computers ranging from a mobile
phone to a super computer are able to perform the computational tasks.
History and evolution of computers
In 1837, Charles Babbage conceptualized computer-analytical engine. However these were
not programmable and generally lacked the versatility and accuracy of modern digital
computers.EDSAC, Manchester Mark, CSIRAC etc evolved in 1940s used the stored
program (Von Neumann) architecture. Nearly all modern computers implement some form of
the stored program architecture.
Computers using Vacuum tubes as their electronic elements were in use throughout
the 1950s, but by 1960s, these were largely replaced by transistor based machine which were
smaller, faster, cheaper to produce, required less power and were more reliable. The first
transistorized computer was demonstrated at the University of Manchester in 1953.
In the 1970s, integrated circuit technology and the subsequent creation of
microprocessors such as Intel 4004, further decreased speed and reliability of computers. By
the late 1970s, many products such as video recorders contained dedicated computers called
microcontrollers and they started to appear as a replacement to mechanical controls in
domestic appliances such as washing machines. In 1980s home computers were developed
and then personal computer. Modern smart phones are fully programmable computers.
Stored program architecture
A stored-program computer is one which stores program instructions in electronic
memory. Often the definition is extended with the requirement that the treatment of programs
and data in memory be interchangeable or uniform.
A computer with a Von Neumann architecture stores program data and instruction data in the
same memory; a computer with Harvard architecture has separate memories for storing
program and data. Stored-program computer is sometimes used as a synonym for von
Neumann architecture.

The defining feature of modern computers which distinguishes them from all other machines
is that they can be programmed. ie. A list of instructions or program can be given to the
computers and it will store them and carry them out at some time in future.
The instructions are read from the computer memory and are generally carried out or
executed in the order they are given. There are also conditional and unconditional jump
instruction which changes the execution sequence. Many computers directly support
subroutines provided a type of jump that remembers the location it jumped from and another
instruction to return to the original sequence. The flow controls allows the computers to
perform task repeatedly without human intervention.
However, computers cannot think for themselves in the sense that only solve
problems in exactly the way are programmed to.
Programs
A computer program may just have few instructions or many millions instructions as
in a program for word processor website. A typical modern computer can execute billion of
instructions per second (GHz), rarely make mistakes. Large computer programs consisting of
several millions of instructions may take teams of programmers year write and due to the
complexity of task, may consist of errors.
In most computers, individual instructions stored as machine code with each
instructions being given a unique number or operation code. The fundamental concept of
storing programs in the memory as codes along with the data they operate on is the Von
Neuman or stored program architecture. In some cases a computer might store some or all its
program in memory that is kept separation the data it operates on. This is called as Harvard
Architecture. Modern Von Neumann computers use some traits of Harvard architecture in
their design such as in CPU cache.
Writing computer programs as long list of numbers or machine codes is extremely
tedious especially for large programs instead each basic instructions can be given a structure
name that is indicative of its section array easy to remember a mnemonic such as SUB,
MULT or JUMP. These mnemonics are collectively known as computers assembly language.
Converting programs written in assembly language in to machine code the computer can
actually understand is usually done by a computer program called assembler. Machine
languages and assembly languages that represent them collectively termed low level
programming languages tend to be unique to a particular type of computer. For eg: an ARM
architecture(which may be found in PDA or handheld videogame) cannot understand the
machine language of an Intel Pentium or AMD Athlon 64 computer that might be in a PC.
Though considerably easier than machine language, writing long error free programs
in assembly language is often difficult. Most complicated programs are written in more
abstract high level programming languages. High level languages are complied or interpreted
to get machine codes.
Hardware compilation: The output of some compilers may target hardware at every level.
For eg. Field programmable gateway or FPGA or structures application specific integrated

circuit (ASIC). Such compliers are said to hardware compliers or synthesis too because
programs they compile effectively and the configuration of the hardware and the output of the
compilation are instructions that are executed in sequence- as interconnection of transistors
look tables.
Scripting language: Script language is a programming language that allows control of one or
more software applications so are distinct from the core code of the plan which is usually
written in a different language and are often created or least modified by the end user. Scripts
are often interpreted from source code while the applications they controlled are complied to
native machine code. Scripting languages are nearly always embedded in the application they
control.
Shell script: A major class of scripting languages has grown out of the formation of job
control which relates to starting and controlling the behavior of the system programs. Many
of these languages interpret double as command line interpreters such as Unix shell or the
MS DOS COMMAND.COM others such as Apple script, add scripting capability to
computing environments lacking a command line interface.
GUI scripting: With the advent of graphical user interfaces came a specialized kind of
scripting language for controlling a computer. These languages interact with the same graphic
windows, menus, buttons and so in that a system generates. They do this by simulating the
actions of a human user. These languages are typically used to automate the user actions or
configure a standard state. Such languages are also called 'macros' when control is through
simulated key presser or mouse click.
Parts of a computer: The general purpose computer has 4 main components: ALU, control
unit, memory, I/O device. These parts are interconnected by buses often made up of groups of
wires. Inside each of these parts are thousands to trillions of small electrical circuits which
can be turned off or on by means of an electronic switch. Each circuit represents a bit (binary
digit) of information so that when the circuit is on it represents a 1 & when off, it
represents a 0.
The control unit, ALU, registers &basic I/O are collectively known as CPU. Since
mid 1970s CPU's have typically constructed on a single integrate circuit called
microprocessor.
Memory Unit
Primary Storage memory
Secondary Storage memory

Program Storage memory


Data Storage memory

Control Unit
Input

Output

Control unit: Control unit manages the computers various components, it reads and
interprets (decodes) the program instructions, transfer them into a series of control signals to
activate other parts of the computer.
A key component common to all CPU is the program counter, a special memory cell
(register) that keeps track of which location in memory the next instruction is to be read from.
ALU: It is capable of performing 2 classes of operations- Arithmetic & Logic. Arithmetic
operations include addition, subtraction, multiplication, division, trigonometric functions
(sine, cos etc.). Logic operations include AND, OR, XOR, NOT etc.
Memory: magnetic core memory was the computer memory throughout 1960s & was
replaced by semiconductor memory. A computers memory can be viewed as a list of cells into
which numbers can be placed or read. Each cell has a numbered 'address' and can store a
single number.
Each memory cell is set up to store binary numbers in groups of 8 bits or byte. Each
byte is able to represent 256 different numbers. To store larger numbers, several consecutive
bytes may be used.
The CPU contains a special set of memory cells called registers that can be read and
written to much more rapidly than the main memory area.
Computer main memory comes in 2 varieties: RAM and ROM. RAM can be read &
written to any line the CPU commands it, but ROM is preloaded with data of software that
never changes so the CPU can only read from it. ROM is used to store the computers initial
start up instructions. Contents of RAM are erased when the power to the computer is turned
off, but ROM retains the data indefinitely.
ROM contains a specified program called BIOS that help loading the computers
operating system from the hard disk drive in to RAM whenever the computer is turned on or
reset. In embedded computers which frequently do not have disk drive all of the required.
Software may be stored in ROM is often called firmware, because it is more like hardware
than software. Flash memory is one difference between ROM & RAM as it returns its data
when turned off but it is also rewritable. It is typically much slower than conventional ROM
& RAM.
In many computers there may be one or more RAM cache memories which are slower
than registers but faster than main memory.
Input/output: - Hard disks are common I/O devices used with computer. I/O devices also
include peripherals such as keyboard, mouse, display & printer.
Evolution of processor: - Generally microprocessor & micro computers are categorized in
terms of the maximum number of binary bits in the data they process ie. Their word length
the first microprocessor 4004 was designed to process data arranged as 4 bit word. The low

performance and the limited system capability restricted its use to simpler special purpose
applications. It was commonly used in electronic calculators.
In 1974 second generation of microprocessor was introduced. These devices are 8008,
8080 & 8085 were 8 bit microprocessor & were designed to process 8 bit data. They were
characterized by better performance and system capabilities and greater ease of
programming. They were able to provide system requirements for many applications that
could not be satisfied with the earlier 4 bit microprocessor. They were used for dedicated
applications such as electronic instruments, cash registers and printers.
In the mid 1970s 16 bit microprocessor (third generation) evolved, 8086 in 1976.
Later on 80186, 80188, 80286 etc. were developed. They have the ability to handle 8 bit, 16
bit and special data types and their powerful instruction sets are more like those provided by a
microcomputer.
In 1985, 32 bit processor 80386DX was developed followed by 80386SX in 1988,
then 80486DX and 80486SX in 1989 and 1990 respectively. In 1993, higher performance
processors Pentium IV were developed.
In Pentium processors, 32 bit architecture is enhanced with a 64 bit external data bus
and internal data path that are 64 bits, 128 bits or 256 bits wide. It employs super scalar
pipelined architecture. Some examples of processors are given below.
32 bit- 80386, Pentium, Motorola 68000
64 bit- Alpha, power PC, SPARC
Embedded processor- Intel 8051, 8048
Personal computer- Laptop, PDA (personal digital assistant), tablet PC.....
Theoretical/Experimental Quantum computer, DNA computing, optical computing..
Word
Length
8-bit

16-bit
32-bit

64-bit
128-bit

Intel
CPU
8080
8085
8088
8086
80186
88026
80386 (3)
80486 (4)
Pentium (5)
Pentium Pro (6)
Pentium II
Celeron
Pentium 3
Pentium 4 (7)
Celeron II

Approx.
Year
1975
1976
1977
1980
1981
1982
1987
1990
1993
1995
1996
1998
1999
2000

256-bit

Intel Core (8)

2006

System software is computer software designed to operate and control the computer
hardware and to provide a platform for running application software. System software can be
separated into two different categories, operating systems and utility software.

The operating system (prominent examples being z/OS, Microsoft Windows, Mac OS
X and Linux), allows the parts of a computer to work together by performing tasks like
transferring data between memory and disks or rendering output onto a display device. It
also provides a platform to run high-level system software and application software.

A kernel is the core part of the operating system that defines an API
(Application Program Interface) for applications programs (including some system
software) and an interface to device drivers.

Device drivers such as computer BIOS and device firmware provide


basic functionality to operate and control the hardware connected to or built into
the computer.

A user interface "allows users to interact with a computer." [2] Since the 1980s
the graphical user interface (GUI) has been perhaps the most common user interface
technology. The command-line interface is still a commonly used alternative.

Utility software helps to analyze, configure, optimize and maintain the computer, such as
virus protection.

In some publications, the term system software also includes software development tools (like
a compiler, linker or debugger).
In contrast to system software, software that allows users to do things like create text
documents, play games, listen to music, or web browsers to surf the web are called
application software.
BIOS:- Is a boot firmware designed to be the first code run by a PC when powered. The
initial function of BIOS is to identify, test and initialize system devices such as video display
card, hand disk & floppy disk.
BIOS programs are stored on a chip and are built to work with various devices that
make up the complementary chipset of the system. They provide a small library basic I/O
functions that can be called to operate and control the peripherals such as keyboard, text
display functions etc.
Initially, BIOS were stored in ROM or PROM. FLASH BIOS chips became common
around 1999 with plug in adapter cards such as SCSI, RAM etc. Network Interface cards and
video boards include their own BIOS.

User
Application System
OS
BIOS

CPU

Software:- Computer software is a general term used to describe a collection of computer


programs procedures and documentation that perform some tasks on a computer system. this
includes application software such as word processors which perform productive tasks for
users system software such as operating systems which interface with hardware to provide
the necessary services for application software and middle ware which controls and
coordinates distributed systems.
Operating System:-The structure of computing system consists of 5 layers:
Hardware:

Hardware consists of CPU, Main memory, I/O Devices, etc,

BIOS: Boot firmware to identify, test and initialize the system


Software (Operating System):
Software includes process management routines,
memory management routines, I/O control routines, file management routines.
System programs:

This layer consists of compilers, Assemblers, linker etc.

Application programs:
This is dependent on users need. Ex. Railway reservation
system, Bank database management etc.,

An operating system (OS) manages computer resources and provides programmers


with an interface used to access those resources. Operating System is a software,
which makes a computer to actually work. It is the software the enables all the
programs we use. The OS organizes and controls the hardware. OS actually acts as an
interface between the application programs and the machine hardware

An operating system performs basic tasks such as, controlling and allocating memory,
prioritizing system requests, controlling input and output devices, facilitating networking and
managing file systems.

Examples: Windows, Linux, Unix and Mac OS, etc.,

The main functions of operating systems are: Program creation, Program execution,
Input/Output operations, Error detection, Resource allocation and protection.
Operating System can also be classified as-Single User Systems and Multi User Systems
Single User Systems: Provides a platform for only one user at a time. They are
popularly associated with Desk Top operating system which runs on standalone
systems where no user accounts are required. Example: DOS
Multi-user operating system: Allows multiple users to access a computer system
concurrently. Eg: Unix
Time-sharing system can be classified as multi-user systems as they enable a multiple
user access to a computer through the sharing of time. Being able to have multiple
accounts on a Windows operating system does not make it a multi-user system. But
for a Unix-like operating system, it is possible for two users to login at a time and this
capability of the OS makes it a multi-user operating system.
Linux:- Linux is a family of Unix like computer operating system. It is one of the most
prominent examples of free software and open source development: typically all underlying
source code can be freely modified, used and redistributed by anyone. The name Linux
comes from the Linux kernel started in 1991 by Linus Torvalds. The systems utilities and
libraries usually come from the GNU operating system announced in 1983 by Richard
Stallman.
Microsoft Windows:- Microsoft first introduced an operating environment Windows in
1985 as an add on to MS-DOS.
DOS:- is name for several closely related OS dominated the IBM PC compatible market
between 1981 and 1995. It is a single user single task operating system with basic kernel
functions that are non-reentrant. Only one program at a time can use this. DOS kernel
provides various functions for programs like displaying characters as screen reading a
character from the keyboard, access disk files etc.
Multiprogramming: is a technique to execute number of programs simultaneously by a
single processor. In Multiprogramming, more than one process reside in main memory at a
time. The OS picks and begins to execute one of the jobs in the main memory. If any I/O wait
happened in a process, then CPU switches from that job to another job. Hence, CPU in not
idle at any time. The different programs are being executed in time-sharing mode, with the
use of interrupts.
Advantages: Efficient memory utilization, Throughput increases, CPU is never idle, so
performance increases.
Time sharing or multitasking: is a logical extension of multiprogramming. Multiple jobs
are executed by switching the CPU between them. In this, the CPU time is shared by different

processes, so it is called as Time sharing System. Time slice is defined by the OS, for
sharing CPU time between processes. Examples: Multics, Unix, etc.,
Multiprocessing:- Some computers are designed to distribute their work across several
CPUs in a multiprocessing configuration.
Distributed system: A distributed operating system manages a group of independent
computers and makes them appear to be a single computer. The development of networked
computers that could be linked and hence could communicate with each other, gave rise to
distributed computing. When computers in a group work in cooperation, they make a
distributed system.
Embedded operating systems: are designed to be used in embedded computer systems.
They are designed to operate on small machines like Mobile phones. They are able to operate
with a limited number of resources. They are very compact and extremely efficient by design.
Eg: Windows CE and Minix 3 are some examples of embedded operating systems
Programming Languages:
A programming language is a language that can be used to control the behavior of a
machine, particularly a computer. Programming languages, like human languages, are defined
through the use of syntactic and semantic rules, to determine structure and meaning
respectively.Programming languages are used to facilitate communication about the task of
organizing and manipulating information, and to express algorithms precisely.Now there are
more than 2,500 documented programming languages.

Machine language:It is the lowest-level programming language.

Machine languages are the only languages understood by computers.While easily


understood by computers, machine languages are almost impossible for humans to use
because they consist entirely of numbers. For example, an x86 processor can execute
the following binary instruction as expressed in machine language:
Binary:
10110000 01100001 (Hexadecimal: b061).
Assembly language: is a low-level language for programming computers.
The word "low" does not imply that the language is inferior to high-level
programming languages but rather refers to the small or nonexistent amount of
abstraction between the language and machine language, because of this, low-level
languages are sometimes described as being "close to the hardware." It implements a

symbolic representation of the numeric machine codes and other constants needed to
program a particular CPU architecture.
A utility program called an assembler is used to translate assembly language
statements into the target computer's machine code. The assembler performs a more or
less isomorphic translation (a one-to-one mapping) from mnemonic statements into
machine instructions and data. Assembly language representation is easier to
remember (more mnemonic),
Example: mov al, 61h . This instruction means:
Move the hexadecimal value 61 (97 decimal) into the processor register named
"al".
The mnemonic "mov" is an operation code or opcode, A comma-separated
list of arguments or parameters follows the opcode.
High-level languages (HLL): are relatively easy to learn because the instructions
bear a close resemblance to everyday language, and because the programmer does not
require a detailed knowledge of the internal workings of the computer. Each
instruction in a high-level language is equivalent to several machine-code
instructions; therefore it is more compact than equivalent low-level programs. Highlevel languages are used to solve problems and are often described as problemoriented languages.Examples: BASIC, FOTRAN, C, C++, JAVA etc.
Example (C program to add 2 numbers):
#include<stdio.h>
//header files
Void main()
{
int a, b, c;
// declaration of 3 variables
printf(Enter two numbers:\n);
Scanf(%d, &a);
// read 1st number
Scanf(%d, &b);
// read 2nd number
c=a+b;
// compute the sum
printf(Sum of 2 numbers is %d, c);
//print sum
}
Networking & Internet:- is used to coordinate the information between multiple locations.
ARPANET was the first computer network and when the network spread beyond academic
and military institutions, it is known as internet. In 1990s more applications like e-mail,
www also combined with the development of cheap, fast networking technologies like
Ethernet, TCP/IP etc.
Wi-Fi:-.
Wi-Fi , also, WiFi, Wi-fi or wifi , is a brand origin ally licensed by the Wi-Fi
Alliance to describe the underlying technology of wireless local area networks ( WLAN )
based on the IEEE 802.11 specifications.
Wi-Fi was developed to be used for mobile computing devices, such as laptops, in LANs, but
is now increasingly used for more applications, including Internet and VoIP phone access,

gaming, and basic connectivity of consumer electronics such as televisions and DVD players,
or digital cameras. There are even more standards in development that will allow Wi-Fi to be
used by cars in highways in support of an Intelligent Transportation System to increase
safety, gather statistics, and enable mobile commerce IEEE 802.11p.
.
A person with a Wi-Fi device, such as a computer, telephone, or personal digital assistant
(PDA) can connect to the Internet when in proximity of an access point. The region covered
by one or several access points is called a hotspot. Hotspots can range from a single room to
many square miles of overlapping hotspots.
Wi-Fi: How it works
The typical Wi-Fi setup contains one or more Access Points (APs) and one or more clients.
An AP broadcasts its SSID (Service Set Identifier, Network name") via packets that are called
beacons, which are broadcast every 100 ms. The beacons are transmitted at 1 Mbit/s, and are
of relatively short duration and therefore do not have a significant influence on performance.
Since 1 Mbit/s is the lowest rate of Wi-Fi it assures that the client who receives the beacon
can communicate at least 1 Mbit/s. based on the settings (e.g. the SSID), the client may
decide whether to connect to an AP. Also the firmware running on the client Wi-Fi card is of
influence. Say, two APs of the same SSID are in range of the client, the firmware may decide
based on signal strength to which of the two APs it will connect. The Wi-Fi standard leaves
connection criteria and roaming totally open to the client. This is strength of Wi-Fi, but also
means that one wireless adapter may perform substantially better than the other.
Since Wi-Fi transmits in the air, it has the same properties as a non-switched ethernet
network. Even collisions can therefore appear like in non-switched ethernet LAN's.
Channels
Except for 802.11a, which operates at 5 GHz, Wi-Fi uses the spectrum near 2.4 GHz, which
is standardized and unlicensed by international agreement, although the exact frequency
allocations vary slightly in different parts of the world, as does maximum permitted power.
However, channel numbers are standardized by frequency throughout the world, so
authorized frequencies can be identified by channel numbers. The frequencies for 802.11 b/g
span 2.400 GHz to 2.487 GHz. Each channel is 22 MHz wide and 5 MHz spacers between
the channels are required. With the required spacers, only 3 channels (1, 6, and 11) can be
used simultaneously without interference.

You might also like

pFad - Phonifier reborn

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

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


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy