Upload
er-aadarsh-srivastava
View
633
Download
8
Tags:
Embed Size (px)
DESCRIPTION
Fundamental of computer
Citation preview
FUNDAMENTALS OF COMPUTERS
By - Aadarsh SrivastavaContact - 08826830666
WHAT IS COMPUTER?• DERIVED FROM WORD ‘COMPUTE’.
• A COMPUTER IS AN ELECTRONIC DEVICE THAT TAKES DATA AND INSTRUCTIONS AS INPUT, PROCESSES THE DATA AND PRODUCES USEFUL INFORMATION AS OUTPUT.
DATA
• SO THE ELECTRONIC DEVICE IS KNOWN AS HARDWARE AND THE SET OF INSTRUCTIONS IS KNOWN AS SOFTWARE.
ProcessInput
Output
Information
Instructions
CHARACTERISTICS OF COMPUTER
• SPEED
• ACCURACY
• DILIGENCE
• VERSATILE
• POWER OF REMEMBERING
• NO IQ
• NO FEELING
HISTORY OF COMPUTERS
• FIRST CALCULATING MACHINE: ABACUS MEANS CALCULATING BOARD.
• MECHANICAL DEVICE NAPIER BONES FOR THE PURPOSE OF MULTIPLICATION.
• SLIDE RULE FOR ADDITION, SUBTRACTION, MULTIPLICATION AND DIVISION.
• PASCAL’S ADDING AND SUBTRACTORY MACHINE.
• LEIBNIZ’S MULTIPLICATION AND DIVIDING MACHINE.
• CHARLES BABBAGE’S ANALYTICAL ENGINE.
• MECHANICAL AND ELECTRICAL CALCULATOR TO PERFORM ALL TYPE OF CALCULATION.
• MODERN ELECTRONIC CALCULATOR.
GENERATIONS OF COMPUTER• EACH GENERATION IS DISTINGUISHED FROM OTHERS ON THE BASIS OF THE
TYPE OF SWITCHING CIRCUITS USED.
• COMPUTERS CAN BE CATEGORIZED INTO 5 GENERATIONS:
• FIRST GENERATION (1940-1956)
VACUUM TUBES USED TO BUILD CIRCUITRY FOR COMPUTER
USED TO PERFORM CALCULATION IN MILLISECONDS.
VERY LARGE IN SIZE.
USED MACHINE LANGUAGE TO PERFORM OPERATIONS.
USED TO TAKE INPUTS FROM PUNCH CARDS AND OUTPUT ON PAPER.
COMPUTERS OF FIRST GENERATION WERE: ENIAC, EDVAC AND UNIVAC-1.
ENIAC IS THE FIRST ELECTRONIC COMPUTER.
CONTD..
SECOND GENERATION (1956-1963)
TRANSISTORS USED TO BUILD CIRCUITRY FOR COMPUTERS.
SMALLER IN SIZE AND FASTER THAN THE FIRST GENERATION COMPUTERS.
CONCEPT OF CENTRAL PROCESSING UNIT (CPU), MEMORY, PROGRAMMING LANGUAGE AND INPUT AND OUTPUT UNITS CAME INTO PICTURE.
USED ASSEMBLY LANGUAGE TO GIVE INSTRUCTIONS.
PROGRAMMING LANGUAGES SUCH AS COBOL, FORTRAN WERE DEVELOPED DURING THIS PERIOD.
COMPUTERS OF SECOND GENERATION WERE: IBM 1620, CDC1604, PDP8 ETC.
CONTD..
THIRD GENERATION (1964-1971)
THEY USED INTEGRATED CIRCUITS (IC). IC IS A SILICON CHIP THAT
EMBEDS AN ELECTRONIC CIRCUIT.
SIZE REDUCED AND SPEED INCREASED.
BASIC (BEGINNERS ALL PURPOSE SYMBOLIC INSTRUCTION CODE)
WAS DEVELOPED DURING THIS PERIOD.
USED KEYBOARD AS INPUT DEVICE AND MONITOR FOR OUTPUT.
THIRD GENERATION COMPUTER INCLUDES IBM 370, PDP11 AND
CDC 7600.
CONTD..• FOURTH GENERATION (1971-TILL DATE):
USED LARGE SCALE INTEGRATED CIRCUIT.
THE CONCEPT OF MICROPROCESSOR CAME.
TECHNIQUES TO CONNECT THE COMPUTERS ESTABLISHED I.E. LAN, WAN.
OPERATING SYSTEMS CAME INTO EXISTENCE SUCH AS: DOS, WINDOWS.
HIGH LEVEL PROGRAMMING LANGUAGES WERE INTRODUCED.
GRAPHICAL USER INTERFACE BASED APPLICATION.
HIGH STORAGE CAPABILITY AND CHEAPER.
EXAMPLE OF FOURTH GENERATION COMPUTER IS PERSONAL COMPUTER.
CONTD..
• FIFTH GENERATION (1980- FUTURE)
USE OF ULTRA LARGE SCALE INTEGRATION TECHNOLOGY.
HIGH SPEED.
PARALLEL PROCESSING.
PORTABLE MASS STORAGE MEDIUM E.G. CD-ROM.
NO REQUIREMENT OF ASSEMBLING THE DIFFERENT COMPONENTS OF COMPUTER.
PORTABLE COMPUTERS.
BASED ON ARTIFICIAL INTELLIGENCE SUCH AS VOICE RECOGNITION SYSTEM.
CLASSIFICATION OF COMPUTERS
• COMPUTERS CAN BE CLASSIFIED IN FOLLOWING CATEGORIES BASED ON THEIR COMPUTING CAPABILITY, SIZE, NUMBER OF USERS AND SPEED:
1.MICROCOMPUTERS
2.MINICOMPUTERS
3.MAINFRAME COMPUTERS
4.SUPERCOMPUTERS
MICROCOMPUTERS
• IT HAS MICROPROCESSOR AS ITS CPU.
• IT PERFORMS THE FOLLOWING OPERATIONS:
1. INPUTTING
2. STORING
3. PROCESSING
4. OUTPUTTING
5. CONTROLLING
• EXAMPLES OF MICROCOMPUTERS IS IBM-PC.
MINICOMPUTERS
• MEDIUM SIZED COMPUTERS.
• DESIGNED TO BE SERVE MULTIPLE USERS
SIMULTANEOUSLY.
• USED AS SERVERS IN LAN.
• IT HAS LARGE STORAGE CAPACITY AND
OPERATES AT HIGHER SPEED.
MAINFRAME COMPUTERS
• VERY HIGH SPEED AND STORAGE CAPACITY.
• THEY ARE PLACED IN CENTRAL LOCATION AND ARE CONNECTED TO SEVERAL USER TERMINALS.
• LARGER AND EXPENSIVE.
• GENERALLY USED IN CENTRALIZED DATABASES.
• CAN ALSO BE USED AS CONTROLLING NODE IN WAN.
• EXAMPLE OF MAINFRAME COMPUTER IS: IBM 3000 SERIES.
SUPERCOMPUTER
• FASTEST AND MOST EXPENSIVE MACHINES.
• IT IS BUILT BY INTERCONNECTING HUNDREDS OF MICROPROCESSORS.
• IT SUPPORTS MULTIPROCESSING AND PARALLEL PROCESSING.
• MAINLY USED FOR WEATHER FORECASTING, BIOMEDICAL RESEARCH, AIRCRAFT DESIGN ETC.
• EXAMPLE OF SUPER COMPUTER IS: CRAY XMP.
BASIC TERMS OF COMPUTER SYSTEM
• COMPUTER SYSTEM IS BASICALLY DIVIDED INTO 2 PARTS:
1. HARDWARE
2. SOFTWARE
• HARDWARE REFERS TO PHYSICAL PARTS OF COMPUTER
SYSTEM AND SOFTWARE REFERS TO SET OF
INSTRUCTIONS FOR COMPUTER TO PERFORM SOME TASK.
COMPUTER ORGANIZATION
• 4 LOGICAL UNITS IN EVERY COMPUTER:
• INPUT UNIT• OBTAINS INFORMATION FROM INPUT DEVICES (KEYBOARD, MOUSE)
• OUTPUT UNIT • OUTPUTS INFORMATION (TO SCREEN, TO PRINTER, TO CONTROL OTHER
DEVICES)
• MEMORY UNIT • RAPID ACCESS, LOW CAPACITY, STORES INPUT INFORMATION
• CENTRAL PROCESSING UNIT (CPU) • SUPERVISES AND COORDINATES THE VARIOUS COMPONENTS OF THE
COMPUTER
• PERFORMS ARITHMETIC CALCULATIONS AND LOGIC DECISIONS
ANATOMY OF COMPUTER SYSTEM
• KEYBOARD
• MOUSE
• SCANNER
• MONITOR
• PRINTER
• SPEAKER
• PRIMARY MEMORY
• SECONDARY MEMORY
• CONTROL UNIT
• ARITHMETIC LOGICAL UNIT
• MOTHERBOARD
Input devices
Output Devices
Processing units
Memory Management
KEYBOARD
• KEYPAD CONTAINS: • ALPHABETS• NUMBERS• SPECIAL SYMBOLS S.A. PAGE UP, PAGE DOWN, HOME,
END ETC.• FUNCTION KEYS S.A. F1, F2 ETC. PERFORMS A SPECIFIC
TASK.• MODIFIER KEYS S.A. CTRL, SHIFT.• SPACE BAR AND ESCAPE KEY• NUMERIC KEYPAD
• QWERT KEYBOARD (TYPEWRITER KEYBOARD).• ON KEY PRESS IT SENDS A CODE (ASCII CODE) TO THE CPU.
Alphanumeric keys
MOUSE
• KNOWN AS POINTING & CLICK DEVICE.
• TWO / THREE BUTTONS
• WHEEL / OPTICAL MOUSE
• NORMALLY LEFT CLICK – SELECT/ RUN
RIGHT CLICK – POPUP MENU
SCANNER
INPUT DEVICE, CONVERTS A HARD COPY INTO A COMPUTER FILE (DIGITIZED IMAGE).
USED TO SCAN SIGNATURES, PHOTOGRAPHS, DOCUMENTS ETC.
DIGITIZED IMAGE CAN BE BLACK & WHITE OR COLORED.
FOR COLORED IMAGES EACH IMAGE IS CONSIDERED AS COLLECTION OF DOTS WITH EACH DOT REPRESENTING THE COMBINATION OF RED, GREEN, BLUE IN DIFFERENT PROPORTION.
NOWADAYS SCANNERS WITH OCR PRODUCES EDITABLE DOCUMENTS.
MONITOR
OUTPUT DEVICE
IT PRODUCES VISUAL DISPLAYS GENERATED BY THE COMPUTER.
IT IS CONNECTED TO SOME PART OF THE CPU THROUGH CABLES.
THE MONITOR CAN BE CLASSIFIED AS CRT (CATHODE RAY TUBE) AND LCD (LIQUID CRYSTAL DISPLAY).
A MONITOR IS CHARACTERIZED BY ITS MONITOR SIZE AND RESOLUTION.
PRINTER OUTPUT DEVICE PRODUCES HARD COPY OF THE ELECTRONIC TEXT. TYPES:
DOT MATRIX: USED IN LOW QUALITY AND HIGH VOLUME APPLICATIONS.
INKJET: SLOWER THAN DOT MATRIX BUT PRODUCES HIGH QUALITY PRINTOUTS.
LASER: CONSISTS OF MICROPROCESSOR, ROM AND RAM THAT CAN STORE THE TEXTUAL INFORMATION.
PRINTER AND COMPUTER IS CONNECTED USING CABLE, THE COMPUTER CONVERTS THE DOCUMENT THAT IS UNDERSTANDABLE BY THE PRINTER USING PRINT DRIVER SOFTWARE.
SPEAKER
• OUTPUT DEVICE.
• IT CONVERTS AN ELECTRICAL SIGNAL INTO SOUND.
• AUDIO DRIVERS NEED TO BE INSTALLED TO PRODUCE THE AUDIO OUTPUT.
• SPEAKERS ARE EITHER IN-BUILT IN THE COMPUTER OR ATTACHED EXTERNALLY TO THE COMPUTER.
PRIMARY MEMORY PRIMARY MEMORY IS THE BUILT IN UNIT OF THE COMPUTER.
THE DATA IS STORED IN MACHINE UNDERSTANDABLE BINARY FORMAT IN THE MEMORY.
THE TYPES OF PRIMARY MEMORY ARE:
ROM
--PERMANENT MEMORY
--NON-VOLATILE.
--A CHIP INSERTED IN MOTHERBOARD.
--STORES THE BIOS WHICH PERFORMS POST(POWER ON SELF TEST).
RAM
--IT IS READ/WRITE MEMORY.
--VOLATILE.
CONTD..
CACHE MEMORY
-- IT STORES THE DATA AND APPLICATION THAT WAS LAST PROCESSED BY THE CPU.
--WHEN CPU PERFORMS PROCESSING, IT FIRST SEARCHES THE CACHE AND THEN RAM.
ROM TYPES
THERE ARE 3 TYPES OF ROM:
PROM: PROGRAMMABLE ROM I.E. A MEMORY CHIP ON WHICH DATA CAN BE WRITTEN ONLY ONCE. IT IS MANUFACTURED AS BLANK MEMORY.
EPROM: ERASABLE PROM I.E. A SPECIAL TYPE OF PROM THAT CAN BE ERASED BY EXPOSING IT TO UV LIGHT.
EEPROM: ELECTRIC ERASABLE PROM I.E. SIMILAR TO PROM BUT REQUIRES ELECTRICITY TO BE ERASED.
RAM TYPES
• SRAM: IT IS STATIC RAM. IT IS FASTER, EXPENSIVE
AND CONSUMES LESS POWER. SRAM IS USED IN
CACHE MEMORY.
• DRAM: IT IS DYNAMIC RAM. IT IS SLOWER,
CHEAPER AND CONSUMES LESS POWER. DRAM IS
WIDELY USED IN MAIN MEMORY.
SECONDARY MEMORY
• THEY REPRESENT THE EXTERNAL STORAGE DEVICES CONNECTED TO THE COMPUTER.
• NON-VOLATILE MEMORY.
• STORES INFORMATION THAT IS NOT IN USE CURRENTLY.
• CLASSIFICATION OF SECONDARY STORAGE:
--MAGNETIC STORAGE DEVICE INCLUDES FLOPPY DISK, HARD DISK ETC.
--OPTICAL STORAGE DEVICE INCLUDES CD-ROM, CD-RW, DVD-ROM ETC.
--MAGNETO-OPTICAL STORAGE DEVICE INCLUDES
HARD DISK
• NON-REMOVABLE STORAGE DEVICE.
• SEVERAL CIRCULAR MAGNETIC DISKS ARE
HOUSED IN A SINGLE CASE.
• DATA IS STORED AS 1S & 0S.
• TYPICAL CAPACITY IS 20 GB -80 GB
FLOPPY DISK
• MAGNETIC MEMORY DEVICE.
• REMOVABLE STORAGE.
• A SINGLE CIRCULAR MYLAR PLASTIC DISK,
COATED WITH MAGNETIC MATERIAL IS PACKED
IN A PROTECTIVE PLASTIC CASING.
• TYPICAL SIZE IS 3.5” & CAPACITY IS 1.44MB
CD-ROM
• OPTICAL DEVICE.
• REMOVABLE STORAGE.
• READ ONLY MEMORY.
• TYPICAL CAPACITY IS 550 MB – 800MB
PROCESSING IN A COMPUTER (COMPUTER ARCHITECTURE)
CPU
• A CENTRAL PROCESSING UNIT (CPU) CONSISTS OF
• AN ARITHMETIC/LOGIC UNIT (ALU) WHERE MATH AND LOGIC OPERATIONS ARE PERFORMED,
• A CONTROL UNIT WHICH DIRECTS MOST OPERATIONS BY PROVIDING TIMING AND CONTROL SIGNALS,
• AND REGISTERS THAT PROVIDE SHORT-TERM DATA STORAGE AND MANAGEMENT FACILITIES.
ALU
• A : THE TYPE OF OPERATION THAT THE ALU NEEDS TO PERFORM IS DETERMINED BY SIGNALS FROM THE CONTROL UNIT .
• B: THE DATA CAN COME EITHER FROM THE INPUT UNIT, OR
• C: FROM THE MEMORY UNIT.
• D: RESULTS OF THE OPERATION CAN EITHER BE TRANSFERRED BACK TO THE MEMORY UNIT OR
• E: DIRECTLY TO THE OUTPUT UNIT .
ROLE OF RAM IN PROCESSING
STORES INSTRUCTIONS AND/OR DATA.
MEMORY IS DIVIDED INTO AN ARRAY OF "BOXES" EACH CONTAINING A BYTE OF INFORMATION. A BYTE CONSISTS OF 8 BITS. A BIT (BINARY DIGIT) IS EITHER 0 (OFF) OR 1 (ON). THE MEMORY UNIT ALSO SERVES AS A STORAGE FOR
INTERMEDIATE AND FINAL RESULTS OF ARITHMETIC OPERATIONS.
F : CONTROL SIGNAL (A READ OR A WRITE OPERATION).
G : A LOCATION IN MEMORY
H : INPUT TO MEMORY DATA LINES WHEN THE CONTROL SIGNAL J IS ENABLED.
I : MEMORY TO THE OUTPUT UNIT WHEN THE CONTROL SIGNAL L IS ENABLED.
CONTROL UNIT
• CU TRANSFERS THE DATA AND THE INSTRUCTION OF THE CORRESPONDING OPERATION TO THE ALU STORED WITH IT.
• IT FETCHES AN INSTRUCTION FROM MEMORY BY SENDING AN ADDRESS (G) AND
• A READ COMMAND (F) TO THE MEMORY UNIT.
• THE INSTRUCTION WORD(S) STORED AT THE MEMORY LOCATION SPECIFIED BY THE ADDRESS IS THEN TRANSFERRED TO THE CONTROL UNIT (K).
• AFTER DECODING THIS INSTRUCTION, THE CONTROL UNIT TRANSMITS THE APPROPRIATE SIGNALS TO THE OTHER UNITS IN ORDER TO EXECUTE THE SPECIFIED OPERATION.
• THIS SEQUENCE OF FETCH AND EXECUTE IS REPEATED BY THE CONTROL UNIT UNTIL THE COMPUTER IS EITHER POWERED OFF OR RESET.
MOTHERBOARD
• IT REFERS TO A DEVICE USED FOR CONNECTING THE CPU WITH THE INPUT AND OUTPUT DEVICES.
• SOME OF THE COMPONENTS OF A MOTHERBOARD ARE:
BUSES
SYSTEM CLOCK
MICROPROCESSOR
CONTD..
• BUSES: IT IS AN ELECTRICAL PATH THAT TRANSFERS DATA AND INSTRUCTIONS AMONG DIFFERENT PARTS OF COMPUTER. THE BUS CAN BE DATA BUS OR ADDRESS BUS.
• SYSTEM CLOCK: IT IS A CLOCK USED TO SYNCHRONIZE THE ACTIVITIES PERFORMED BY THE COMPUTER.
• MICROPROCESSOR: CPU COMPONENT THAT PERFORMS THE PROCESSING AND CONTROLS THE ACTIVITIES PERFORMED BY DIFFERENT PART OF COMPUTER.
SOFTWARE
SOFTWARE INCLUDES APPLICATION SOFTWARE AND SYSTEM SOFTWARE.
APPLICATION SOFTWARE IS A PROGRAM DESIGNED FOR THE END USERS.
EXAMPLE OF APPLICATION SOFTWARES ARE MS WORD, MS EXCEL ETC.
SYSTEM SOFTWARE IS DESIGNED TO OPERATE COMPUTER HARDWARE AND TO PROVIDE THE PLATFORM FOR RUNNING APPLICATION SOFTWARE.
EXAMPLE OF SYSTEM SOFTWARE ARE: OPERATING SYSTEM, COMPILERS, INTERPRETERS, ASSEMBLERS AND OTHER UTILITY PROGRAMS.
OPERATING SYSTEM
• OS IS SYSTEM SOFTWARE, WHICH MAY BE VIEWED AS COLLECTION OF SOFTWARE CONSISTING OF PROCEDURES FOR OPERATING THE COMPUTER.
• IT PROVIDES AN ENVIRONMENT FOR EXECUTION OF PROGRAMS (APPLICATION SOFTWARE).
• IT’S AN INTERFACE BETWEEN USER & COMPUTER.
CONTD..
Computer Machine/Hardware
User / Programmer
Operating System
Human Understandable Language (High Level
Language)
Machine Language (Low Level Language)
TYPES OF OS
BATCH OPERATING SYSTEM:
ONLY ONE PROGRAM IS ALLOWED TO RUN AT A TIME.
NO MODIFICATION OF DATA WHILE PROGRAM IS IN RUNNING STATE.
IF AN ERROR IS ENCOUNTERED, START THE PROGRAM FROM SCRATCH.
EXAMPLE: DOS
INTERACTIVE OPERATING SYSTEM:
IT ALSO CAN RUN ONLY ONE PROGRAM AT A TIME.
MODIFICATION AND ENTRY OF DATA ALLOWED WHILE PROGRAM IS RUNNING.
EXAMPLE: MULTIPLEXED INFORMATION AND COMPUTING SERVICES.
CONTD.. MULTIUSER OPERATING SYSTEM:
ALLOWS MULTIPLE USER TO USE THE SYSTEM AT THE SAME TIME OR AT DIFFERENT TIMES.
EXAMPLE: LINUX, WINDOWS 2000.
MULTI-TASKING OPERATING SYSTEM:
ALLOWS MORE THAN ONE PROGRAM TO RUN AT THE SAME TIME.
EXAMPLE: UNIX AND WINDOWS 2000.
MULTITHREADING OPERATING SYSTEM:
ALLOWS RUNNING OF DIFFERENT PARTS OF A PROGRAM AT THE SAME TIME.
EXAMPLE: UNIX, LINUX.
DOS OPERATING SYSTEM
SHORT FORM FOR MICROSOFT DISK OPERATING SYSTEM.
COMMAND LINE USER INTERFACE.
NOW A DAYS IT IS NOT USED AS A STAND ALONE PRODUCT, IT COMES AS AN INTEGRATED PRODUCT WITH WINDOWS.
IN MS-DOS ONE NEED TO WRITE THE COMMANDS TO ACCOMPLISH SOME TASK. THE COMMANDS ARE CATEGORIZED INTO 3 CLASSES:
ENVIRONMENT COMMAND: CLS, TIME, DATE, VER ETC.
FILE MANIPULATION COMMAND: COPY, DEL, TYPE, DIR ETC.
UTILITIES: FORMAT, EDIT ETC.
UNIX OPERATING SYSTEM
• UNIX CONTROLS ALL THE COMMANDS GENERATED FROM THE USER KEYBOARDS AS WELL AS THE DATA GENERATED IN SUCH A WAY THAT EACH USER BELIEVES THAT HE/SHE IS THE ONLY PERSON WORKING ON THE COMPUTER.
• IT IS WRITTEN IN C LANGUAGE.
• THE PROPERTIES OF UNIX ARE: MULTI USER AND MULTI TASKING CAPABILITY, PORTABILITY, FLEXIBILITY, SECURITY ETC.
ARCHITECTURE OF UNIX
HIERARCHICAL ARCHITECTURE.
HAS SEVERAL LAYERS AND EACH LAYER PROVIDES A UNIQUE FUNCTION AS WELL AS MAINTAINS INTERACTION WITH LOWER LAYERS.
THE LAYERS OF UNIX OPERATING SYSTEM ARE:
KERNEL
SERVICE
SHELL
USER APPLICATIONS
CONTD..
Hardware
Kernel (Scheduler, Device Driver, I/O Buffer)
Service Layer (process, memory, I/O services and file management
Shell (Library Routines)
User Applications
KERNEL
• KERNEL ENABLES A USER TO ACCESS THE HARDWARE WITH THE HELP OF SYSTEM CALL.
• OTHER FUNCTIONS OF KERNEL ARE:
INITIATING AND EXECUTING DIFFERENT PROGRAMS AT THE SAME TYPE.
ALLOCATING THE MEMORY.
FILE HANDLING.
SENDING AND RECEIVING INFORMATION ON NETWORK.
SERVICE LAYER
• REQUESTS ARE RECEIVED FROM THE SHELL AND THEY ARE TRANSFORMED INTO COMMANDS TO THE KERNEL.
• IT CONSISTS OF MANY PROGRAMS TO PROVIDE VARIOUS SERVICES.
• IT PROVIDES SERVICES SUCH AS:
ACCESS TO I/O DEVICES.
ACCESS TO STORAGE DEVICES.
FILE MANIPULATION ACTIVITIES.
SHELL
INTERFACE BETWEEN THE USER AND COMPUTER.
ALSO KNOWN AS COMMAND INTERPRETER AND UTILITY LAYER.
PRIMARY FUNCTION OF THE SHELL IS TO READ THE DATA AND INSTRUCTIONS FROM THE TERMINAL, EXECUTE THE COMMAND AND SHOW THE OUTPUT.
VARIOUS SHELLS ARE FOUND IN UNIX OS:
BOURNE SHELL
C SHELL
KORN SHELL
RESTRICTED SHELL
USER APPLICATIONS
• USED TO PERFORM SEVERAL TASKS AND
COMMUNICATION WITH OTHER USERS OF UNIX.
• INCLUDES DATABASE MANAGEMENT, SOFTWARE
DEVELOPMENT , TEXT PROCESSING AND
ELECTRONIC COMMUNICATION ETC.
NETWORKING CONCEPTS
• COMPUTER NETWORK REFERS TO INTERCONNECTION OF GROUP OF COMPUTERS.
• DIFFERENT TYPES OF COMPUTER NETWORKS ARE:
LAN (LOCAL AREA NETWORK)
MAN (METROPOLITAN AREA NETWORK)
WAN (WIDE AREA NETWORK)
LAN
• PRIVATELY OWNED NETWORK.
• IT IS LIMITED TO FEW KILOMETERS.
• IT USES TWISTED PAIR CABLE, COAXIAL CABLE AND
OPTICAL FIBER.
• IT ADOPTS THE TOPOLOGIES AS: BUS, RING AND STAR.
• NORMALLY IT WORKS AT THE SPEED OF 100-1000 MBPS.
MAN AND WAN
• IT CONNECTS THE COMPUTERS OVER A LARGE GEOGRAPHICAL AREA SUCH AS DISTRICT OR CITY.
• 2 OR MORE INTERCONNECTED LANS CAN BE SAID MAN.
• A NETWORK THAT SPANS ACROSS A COUNTRY OR ACROSS THE WORLD IS CALLED WAN.
INTRODUCTION
• HOW DO YOU COMMUNICATE DATA TO
COMPUTERS?
• HOW DO THE COMPUTERS STORE AND
PROCESS DATA?
BINARY NUMBER SYSTEM
• BINARY SYSTEM IS A NUMERAL SYSTEM THAT REPRESENTS NUMERICAL VALUES USING ONLY 2 DIGITS: 0 AND 1 WHICH ARE KNOWN AS BITS.
• THE BASE OF THE BINARY NUMBER SYSTEM IS 2.
• ALL DECIMAL NUMBERS THAT A USER ENTERS IN A COMPUTER SYSTEM ARE FIRST CONVERTED INTO BINARY NUMBERS THEN THE ARITHMETIC OPERATIONS ARE PERFORMED ON THEM. THE RESULTS ARE AGAIN CONVERTED INTO ITS DECIMAL EQUIVALENT AND ARE DISPLAYED TO THE USER.
CONTD…
• IN COMPUTER SYSTEM NUMBERS CAN BE REPRESENTED IN TWO WAYS:
--SIGNED
--UNSIGNED
• IN SIGNED NUMBER, MSB REPRESENTS THE SIGN OF THE NUMBER.
• IF MSB IS 0 THEN NUMBER IS POSITIVE, IF 1 THEN NUMBER IS NEGATIVE.
• FOR EXAMPLE: 11111111 IN UNSIGNED IS 255 AND IN SIGNED IT IS -127.
BINARY CODES
• VARIOUS BINARY CODES ARE USED TO ENCODE STATEMENTS THAT CONSISTS OF LETTERS IN NUMERIC AND SYMBOL FORM.
• COMMONLY USED BINARY CODES ARE:
-- BINARY CODED DECIMAL (BCD CODE)
-- AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE
(ASCII) CODE.
CONTD..
• IN BCD, EACH DECIMAL DIGIT IS REPRESENTED BY A BINARY CODE OF 4 BITS.
• FOR EXAMPLE: DECIMAL NUMBER IS 127.
SO IN BCD IT WILL BE: 0001 0010 0111.
• ASCII IS A STANDARD ALPHANUMERIC CODE THAT REPRESENTS NUMBERS, ALPHABETIC CHARACTERS AND SYMBOLS USING A 7 BIT CODE FORMAT. IT CONSISTS OF 128 DECIMAL NUMBERS RANGING FROM 0 TO 127 ASSIGNED TO LETTERS, NUMBERS, PUNCTUATION MARKS AND SOME SPECIAL CHARACTERS.
DECIMAL (BASE 10) AND BINARY (BASE 2)
• DECIMAL
• USES POSITIONAL REPRESENTATION
• EACH DIGIT CORRESPONDS TO A POWER OF 10 BASED ON ITS POSITION IN THE NUMBER
• BINARY
• TWO DIGITS: 0, 1
• TO MAKE THE BINARY NUMBERS MORE READABLE, THE DIGITS ARE OFTEN PUT IN GROUPS OF 4
OCTAL (BASE 8) AND HEXADECIMAL (BASE 16)
OCTAL
8 DIGITS ARE USED-0,1,2,3,4,5,6,7.
EACH DIGIT CORRESPONDS TO A POWER OF 8 BASED ON ITS POSITION IN THE NUMBER .
HEXADECIMAL
SHORTER & EASIER TO READ THAN BINARY
16 DIGITS: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
“0X” OFTEN PRECEDES HEXADECIMAL NUMBERS
DECIMAL TO BASE ‘N’ CONVERSIONS
• CONSIDER THE INTEGER AND FRACTIONAL PARTS SEPARATELY.
• FOR THE INTEGER PART,• REPEATEDLY DIVIDE THE GIVEN NUMBER BY
BASE N, AND GO ON ACCUMULATING THE REMAINDERS, UNTIL THE NUMBER BECOMES ZERO.
• ARRANGE THE REMAINDERS IN REVERSE ORDER.
• FOR THE FRACTIONAL PART,• REPEATEDLY MULTIPLY THE GIVEN FRACTION BY
N.• ACCUMULATE THE INTEGER PART.
• ARRANGE THE INTEGER PARTS IN THE ORDER THEY ARE OBTAINED.
DECIMAL TO BINARY 125.35 TO BINARY?
125 /2= 62 REMAINDER-1
62/2=31 REMAINDER-0
31/2=15 REMAINDER-1
5/2=7 REMAINDER-1
7/2=3 REMAINDER-1
3/2=1 REMAINDER-1
½=0 EXIT
NOW .35 IN BINARY WILL BE:
.35*2=0.70 KEEP 0
.70*2=1.4 KEEP 1
.40*2=0.80 KEEP 0
SO 125.35 IN BINARY IS: 1111101.010
DECIMAL TO OCTAL• 125.35 IN BASE 8?
• 125/8= 15 REMAINDER-5
15/8=1 REMAINDER-7
.35*8= 2.8 KEEP 2
.8*8=6.4 KEEP 6
.4*8=3.2 KEEP 3
.2*8=1.6 KEEP 1
• SO 125.35 IN BASE 8 IS: 175.2631.
DECIMAL TO HEXADECIMAL
• 125.35 IN HEXADECIMAL?
• 125/16=7 REMAINDER-13 (D)
7/16=0 REMAINDER-7
.35*16=5.6 KEEP 5
.6*16=9.6 KEEP 9
• 125.35 IN HEXADECIMAL IS 7D.59.
BINARY TO DECIMAL
• 1010 = 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20
= 8 + 2
= 10
• 1100 1001 = 1 * 27 + 1 * 26 + 1 * 23 + 1 * 20
= 128 + 64 + 8 + 1
= 201
OCTAL TO DECIMAL
• 563.21 IN DECIMAL WILL BE:
80 *3+ 81 *6+ 82*5+ 8-1 * 2+ 8-2 * 1
3+ 48 +320+.25+.016
371.266
HEXADECIMAL TO DECIMAL
• SHORTER & EASIER TO READ THAN BINARY
• 16 DIGITS: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
• “0X” OFTEN PRECEDES HEXADECIMAL NUMBERS
• 0X123 = 1 * 162 + 2 * 161 + 3 * 160
= 1 * 256 + 2 * 16 + 3 * 1 = 256 + 32 + 3 = 291
• ANOTHER EXAMPLE
• 0XABC = A * 162 + B * 161 + C * 160
= 10 * 256 + 11 * 16 + 12 * 1 = 2560 + 176 + 12 = 2748
BINARY TO OCTAL
69
STEP ONE: Take the binary number and from right to left, group all placeholders in triplets. Add leading zeros, if necessary:
Convert 10001100101001 to octal:-
010 001101100001
70
STEP TWO: Convert each triplet to its single-digit octal equivalent. (HINT: For each triplet, the octal conversion is the same as converting to a decimal number):
010 001 100 101 0012
010 001101100001
2 1 154
214518=0
BINARY TO HEXADECIMAL
• CONSIDER BINARY: 1000100100110111
STEP 1 BREAK THE BYTE INTO 'QUARTETS' - 1000 1001 0011 0111
STEP 2 USE THE TABLE ABOVE TO COVERT EACH QUARTET TO ITS HEX EQUIVALENT - 8937
• THEREFORE ... 1000100100110111 = 8937
OCTAL TO HEXADECIMAL
• STEP 1: FIRST CONVERT OCTAL TO BINARY.
STEP 2: CONVERT BINARY TO HEXADECIMAL.
• CONVERT OCTAL 1057 TO HEXADECIMAL:
• 1 0 5 7
001 000 101 111
0010 0010 1111
2 2 15 (F)
OCTAL TO BINARY
• FOR INSTANCE, CONVERT BINARY 1010111100 TO OCTAL:
THEREFORE, 10101111002 = 12748.
• CONVERT BINARY 11100.01001 TO OCTAL:
THEREFORE, 11100.010012 = 34.228.
001 010 111 100
1 2 7 4
011 100 . 010 010
3 4 . 2 2
HEXADECIMAL TO BINARY
• CONVERT 0A2B.F TO BINARY:
0 IN BINARY-0000
A IN BINARY-1010
2 IN BINARY-0010
B IN BINARY-1011
F IN BINARY- 1111
SO HEX EQUIVALENT IS: 0000 1010 0010 1011.1111
BINARY ADDITION
• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 10
+ 0 1
0 0 1
1 1 10
75
• 1111 CARRY• 111101 100111+
1100100
76
1 1 1 (carry) 0 1 1 0 1
1 0 1 1 1+-------------
1 0 0 1 0 0
BINARY SUBTRACTION
• 0 - 0 = 0
• 0 - 1 = BORROW 1
FROM MSB
• 1 - 0 = 1
• 1 - 1 = 0
- 0 1
0 0 Borrow 1 from MSB
1 1 0
77
EXAMPLE OF SUBTRACTION
111
• 110011<- MINUEND
- 10110<- SUBTRAHEND
• 11100
-10111
011101
101
MULTIPLY BINARY NUMBERS
79
0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1
* 0 1
0 0 0
1 0 1
MULTIPLY 1011 AND 1010
• 1 0 1 1
× 1 0 1 0 --------------- 0 0 0 0 1 0 1 1 0 0 0 0
+ 1 0 1 1 ------------------ 1 1 0 1 1 1 0
80
DIVIDING BINARY NUMBERS ___________
1 0 1 ) 1 1 0 1 1
− 1 0 1
-----
0 1 1
− 0 0 0
-----
1 1 1
− 1 0 1
-----
1 0
COMPLEMENT
• THERE ARE TWO TYPES OF COMPLEMENTS FOR A NUMBER OF BASE R, CALLED R ’S COMPLEMENT AND R-1 ‘S COMPLEMENT.
• FOR EXAMPLE: FOR DECIMAL NUMBERS THE BASE IS 10 AND COMPLEMENTS ARE 10’S AND 9’S COMPLEMENT.
FOR BINARY NUMBERS THE BASE IS 2 AND COMPLEMENTS ARE 2’S AND 1’S COMPLEMENT.
DECIMAL NUMBER COMPLEMENTS
• 9’S COMPLEMENT OF THE DECIMAL NUMBER N=(10N-1)-N=N(9’S)-N
• 10’S COMPLEMENT OF THE DECIMAL NUMBER N=9’S COMPLEMENT+1
• EXAMPLE 1: 9’S COMPLEMENT OF 134795?
999999
-134795
-----------------
865204
10’S COMPLEMENT OF 134795 IS 865204+1=865205.
CONTD..
• EXAMPLE 2:
FIND THE 9’S AND 10’S COMPLEMENT OF 00000000.
9’S COMPLEMENT OF 00000000 IS :
99999999
-00000000
-------------
99999999
10’S COMPLEMENT OF 00000000 IS:
99999999+1=100000000-> DISCARD 1 SINCE WE HAVE 8 BIT REPRESENTATION ONLY.
BINARY NUMBER COMPLEMENTS
1’S COMPLEMENT OF A NUMBER N IS: (2N-1)-N.
SIMPLY INVERTING THE DIGITS OF A NUMBER N GIVES THE 1’S COMPLEMENT OF THE BINARY NUMBER.
2’S COMPLEMENT OF A NUMBER N IS: 1’S COMPLEMENT OF THE NUMBER N + 1.
FOR EXAMPLE:
1’S COMPLEMENT OF 110100101 IS: 001011010.
2’S COMPLEMENT OF 110100101 IS: 001011010+1=001011011.
SUBTRACTION USING 10’S COMPLEMENT
• PERFORM 76425-28321.
FIND 10’S COMPLEMENT OF 28321=(99999-28321)+1 =71679
ADD 10’S COMPLEMENT TO FIRST NUMBER: 76425+71679= =148104
DISCARD 1, SO RESULT IS: 48104.
• PERFORM 28531-345920.
FIND 10’S COMPLEMENT OF 345920= (999999- 345920)+1=654080
ADD 10’S COMPLEMENT TO FIRST NUMBER: 28531+654080=682611
FIND THE 10’S COMPLEMENT OF THE RESULT=(999999-682611)+1=317389
APPEND – SIGN WITH THE RESULT: -317389.
SUBTRACTION USING 2’S COMPLEMENT
PERFORM 11010011-10001100
FIND 2’S COMPLEMENT OF 10001100: 01110011+1=01110100.
ADD THIS RESULT TO THE FIRST NUMBER: 01110100+11010011
= 101000111
IGNORE THE LAST CARRY : 01000111.
PERFORM 10001100-11010011
FIND 2’S COMPLEMENT OF 11010011: 00101100+1=00101101.
ADD THIS RESULT TO THE FIRST NUMBER: 00101101+10001100
=10111001
CHANGE MSB TO 0: 00111001
FIND 1’S COMPLEMENT OF ABOVE RESULT: 11000110
ADD 1 TO THE RESULT: 11000110+1: 11000111-> MSB INDICATES A NEGATIVE VALUE.
SUBTRACTION USING 9’S COMPLEMENT
PERFORM 76425-28321.
FIND 9’S COMPLEMENT OF 28321: 99999-28321=71678
ADD THE ABOVE RESULT TO THE FIRST NUMBER:
71678
+76425
--------
148103
+1
----------------
48104
-----------------
SUBTRACTION USING 1’S COMPLEMENT
PERFORM 11010011-10001100.
1’S COMPLEMENT OF 10001100: 01110011
ADD THE RESULT TO FIRST NUMBER:
11010011
+01110011
-------------
101000110
+1
---------------
101000111
---------------
EXAMPLE
Q.1. EXPRESS -4 IN 2’S COMPLEMENT FORM.
ANS. POSITIVE EXPRESSION OF NUMBER=0000 0100
1’S COMPLEMENT=1111 1011
ADD 1= 1111 1100.
FLOATING POINT REPRESENTATION
• REPRESENTED IN NORMALIZED FORM.
• A FLOATING POINT NUMBER WHOSE MANTISSA DOESN’T CONTAIN ZERO AS THE MOST SIGNIFICANT DIGIT OF THE NUMBER IS CONSIDERED TO BE IN NORMALIZED FORM.
• FOR EXAMPLE: + 370 IN BCD IS: 0000 0011 0111 0000 IS IN NORMALIZED FORM BECAUSE LEADING ZEROS ARE NOT PART OF A ZERO DIGIT.
• SEVERAL TIMES THE NUMBER IS WRITTEN AS A FRACTION MULTIPLIED BY A POWER OF 10. FRACTIONAL PART IS KNOWN AS ‘MANTISSA’ AND THE POWER OF 10 IS KNOWN AS ‘EXPONENT’. E.G. 145.78, 0.23765* 103.
BINARY FLOATING POINT NUMBER
• A BINARY FLOATING POINT NUMBER IS REPRESENTED BY:
MANTISSA * 2 EXPONENT
WHERE MANTISSA IS A BINARY FRACTION WITH A NON ZERO LEADING BIT.
• WITH THE FLOATING POINT REPRESENTATION, THE FOLLOWING FACTORS HAVE TO BE DECIDED:
-- TOTAL NO. OF BITS USED FOR REPRESENTING THE MANTISSA.
-- TOTAL NO. OF BITS USED FOR REPRESENTING THE EXPONENT.
-- WHETHER TO USE A BASE OTHER THAN 2 FOR THE EXPONENT.
• A REPRESENTATION OF FLOATING POINT NUMBERS IN A 32 BIT COMPUTER WORD IS SHOWN BELOW: Sign (0) Exponent (1-
7)Mantissa (8-31)
PROGRAMMING LANGUAGE : DEFINITION
• A VOCABULARY AND SET OF GRAMMATICAL RULES FOR INSTRUCTING A COMPUTER TO PERFORM SPECIFIC TASKS.
• THE SET OF INSTRUCTIONS ARE WRITTEN TO TELL THE COMPUTER:
WHAT OPERATION TO PERFORM
WHERE TO LOCATE DATA
HOW TO PRESENT RESULTS
WHEN TO MAKE CERTAIN DECISIONS
EVOLUTION OF PROGRAMMING LANGUAGES
• FIRST GENERATION : MACHINE LANGUAGES
• COMPUTERS CAN UNDERSTAND ONLY PULSE AND NO PULSE MEANS 1 AND 0. THIS BINARY CODE IS CALLED MACHINE CODE OR MACHINE LANGUAGE. THEY ARE DIRECTLY EXECUTABLE PROGRAM.
• COMPUTERS DON’T UNDERSTAND ENGLISH, HINDI OR TAMIL.
• MACHINE LANGUAGE POSES 3 PROBLEMS: 1. IT IS DIFFICULT TO UNDERSTAND AND REMEMBER
THE VARIOUS COMBINATIONS OF 0’S AND 1’S. 2. IT IS DIFFICULT FOR ONE COMPUTER TO
COMMUNICATE WITH OTHER COMPUTERS SINCE EVERY MACHINE HAS ITS OWN MACHINE LANGUAGE.
3. IT IS MACHINE DEPENDENT.
CONTD..- SECOND GENERATION LANGUAGE (ASSEMBLY LANGUAGES)
IT IS ALSO LOW LEVEL LANGUAGE AND MACHINE DEPENDENT.
ITS INSTRUCTION CONSISTS OF MNEMONIC CODE FOLLOWED BY 0 OR MORE OPERANDS.
THE MNEMONIC CODE USED IN ASSEMBLY LANGUAGE IS ALSO KNOWN AS ‘OPCODE’ WHICH SPECIFIES THE OPERATION TO BE PERFORMED ON GIVEN ARGUMENTS.
TRANSLATED VIA ASSEMBLERS.
ADVANTAGES OF ASSEMBLY LANGUAGE ARE:
1. EASY TO LOCATE THE ERROR.
2. EASY TO WRITE CODE IN ASSEMBLY LANGUAGE THAN IN MACHINE LANGUAGE.
HIGH LEVEL LANGUAGES- USER FRIENDLY AND MACHINE INDEPENDENT
- THIRD GENERATION (PROCEDURE ORIENTED LANGUAGES)
HIGH LEVEL LANGUAGES DESIGNED TO SOLVE GENERAL PURPOSE PROBLEMS ARE CALLED PROCEDURAL LANGUAGES.
USES MATHEMATICAL NOTATIONS (TRANSLATED VIA COMPILERS)
THEY INCLUDE COBOL, PASCAL, FORTRAN, BASIC,C, C++,JAVA ETC.THE SYNTAX USED IN EVERY LANGUAGE IS DIFFERENT. ANOTHER ADVANTAGE IS THAT THEY ARE PORTABLE.
CONTD..
- FOURTH GENERATION (PROBLEM ORIENTED LANGUAGES)
USED TO SOLVE SPECIFIC PROBLEMS.
THEY INCLUDE QUERY LANGUAGES, REPORT GENERATORS AND APPLICATION GENERATORS.
A SINGLE STATEMENT IN 4 GL CAN PERFORM THE SAME TASK AS MULTIPLE LINES IN 3 GL. FOR EXAMPLE: TO CREATE BUTTON, WE JUST DRAG THE BUTTON FROM TOOL BAR IN 4 GL WHILE WE HAVE TO WRITE CODE FOR CREATING A BUTTON IN 3 GL.
CONTD..
- FIFTH GENERATION (NATURAL LANGUAGES)
• DESIGNED TO MAKE A COMPUTER TO BEHAVE LIKE AN EXPERT AND SOLVE PROBLEMS.
• LISP AND PROLOG ARE MAINLY USED TO DEVELOP ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEM.
PL HIERARCHY
PROGRAMMING ENVIRONMENT
• IT COMPRISES ALL THOSE COMPONENTS THAT FACILITATE THE DEVELOPMENT OF A PROGRAM.
• THESE COMPONENTS ARE DIVIDED INTO TWO CATEGORIES:
PROGRAMMING TOOLS AND APPLICATION PROGRAM INTERFACE (API).
• API CAN BE DEFINED AS A COLLECTION OF DATA STRUCTURES, CLASSES, PROTOCOLS AND PRE DEFINED FUNCTIONS IN FORM OF LIBRARIES. THESE LIBRARIES CAN BE INCLUDED IN THE SOFTWARE PACKAGES OF PROGRAMMING LANGUAGES LIKE C, C++ ETC.
CONTD..
• A SOFTWARE APPLICATION WHICH IS USED FOR THE DEVELOPMENT, MAINTENANCE AND DEBUGGING OF A SOFTWARE PROGRAM IS KNOWN AS PROGRAMMING TOOL.
• THERE ARE SOME CATEGORIES OF PROGRAMMING TOOLS:
INTEGRATED DEVELOPMENT TOOL: CONTAINS COMPILER, EDITOR, DEBUGGER ETC.
DEBUGGING TOOL: HELPS TO DETECT AND REMOVE BUGS OR ERROR FROM A PROGRAM.
MEMORY USAGE TOOL: HELPS TO MANAGE THE MEMORY RESOURCES EFFICIENTLY.
LIFE CYCLE OF A PROGRAM DEVELOPMENT
• THE ENTIRE PROGRAM DEVELOPMENT IS DIVIDED INTO A NUMBER OF PHASES:
REQUIREMENT ANALYSIS PHASE
DESIGN PHASE
IMPLEMENTATION PHASE
TESTING PHASE
MAINTENANCE PHASE
PROGRAMMING PARADIGM
• TO SOLVE A PROBLEM THERE ARE DIFFERENT
PROGRAMMING APPROACHES:
PROCEDURAL PROGRAMMING
MODULAR PROGRAMMING
OBJECT ORIENTED PROGRAMMING
PROCEDURAL PROGRAMMING
• THE PROBLEM IS VIEWED AS A SEQUENCE OF THINGS
TO BE DONE SUCH AS READING, CALCULATING &
PRINTING.
• DATA IS NOT GIVEN IMPORTANCE IN THIS
METHODOLOGY. DATA MOVES OPENLY FROM ONE
FUNCTION TO ANOTHER. E.G. A PAYROLL PROGRAM,
A FUNCTION IS NOT IMPORTANT THAT DISPLAYS OR
CHECKS DATA BUT THE DATA IN ITSELF IS MORE
IMPORTANT.
Global Data
Global Data
Function 1
Local data
Function 2
Local data
Function 3
Local data
MODULAR PROGRAMMING
WITH INCREASING SIZE OF PROGRAM, A SINGLE LIST OF INSTRUCTIONS IS A VERY INAPPROPRIATE MANNER OF PROGRAMMING.
SO A PROGRAM IS DIVIDED INTO SMALLER UNITS CALLED FUNCTIONS (SUBPROGRAMS).
WHEN WE GROUP A NUMBER OF FUNCTIONS TOGETHER INTO A LARGE ENTITY IS CALLED MODULE.
GROUPING OF FUNCTIONS IS DONE ACCORDING TO SPECIFIC TASKS. DATA IS HIDDEN BETWEEN DIFFERENT MODULES.
OBJECT ORIENTED PROGRAMMING
• THE IDEA BEHIND THIS IS TO COMBINE DATA AND INSTRUCTIONS THAT OPERATE ON THAT DATA. SUCH A UNIT IS CALLED AN OBJECT.
• TREATS DATA AS CRITICAL ELEMENT. IT DOESN’T ALLOW THE DATA TO MOVE FREELY AROUND THE SYSTEM. OBJECTS MAY COMMUNICATE THROUGH FUNCTIONS.
Data
Functions
Data
Functions
Communication
Object A Object B
ASSEMBLER
INSTRUCTIONS WRITTEN IN ASSEMBLY LANGUAGE MUST BE TRANSLATED TO MACHINE LANGUAGE INSTRUCTIONS OR OBJECT CODE : ASSEMBLER DOES THIS
ONE TO ONE TRANSLATION : ONE AL INSTRUCTION IS MAPPED TO ONE ML INSTRUCTION.
AL INSTRUCTIONS ARE CPU SPECIFIC.
ASSEMBLERS ARE CLASSIFIED IN TWO CATEGORIES: SINGLE PASS AND TWO PASS ASSEMBLERS.
COMPILER INSTRUCTIONS WRITTEN IN HIGH-LEVEL LANGUAGE ALSO
MUST BE TRANSLATED TO MACHINE LANGUAGE INSTRUCTIONS : COMPILER DOES THIS
GENERALLY ONE TO MANY TRANSLATION : ONE HL INSTRUCTION IS MAPPED TO MANY ML INSTRUCTION.
HL INSTRUCTIONS ARE NOT CPU SPECIFIC BUT COMPILER IS.
COMPILED LANGUAGES INCLUDE COBOL, FORTRAN, C, C++ ETC.
COMPILERS ARE ALSO CLASSIFIED AS SINGLE PASS AND MULTI PASS COMPILERS.
INTERPRETER
• A TRANSLATION PROGRAM THAT CONVERTS EACH
HIGH LEVEL PROGRAM STATEMENT INTO THE
CORRESPONDING MACHINE CODE.
• INSTEAD OF THE ENTIRE PROGRAM, ONE
STATEMENT AT A TIME IS TRANSLATED AND
EXECUTED IMMEDIATELY.
DIFFERENCE BETWEEN COMPILATION AND INTERPRETATION
LINKERS• LINKERS AND LOADERS ARE IMPORTANT PART OF ANY
TRANSLATOR PROGRAM.
• LINKER: ALSO KNOWN AS BINDER. IT IS A PROGRAM THAT COMBINES OBJECT MODULES TO FORM AN EXECUTABLE PROGRAM.
Source file
Source file
Source file
Source file
Object fileObject file Object file Object file
linkerRuntime library Executable
program
LOADERS
• IT IS AN OPERATING SYSTEM UTILITY THAT
COPIES PROGRAMS FROM A STORAGE DEVICE TO
MAIN MEMORY WHERE THEY CAN BE EXECUTED.
• LOADER IS RESPONSIBLE FOR LOADING THE
OPERATING SYSTEM ALSO.
TRANSLATION FROM HLL TO ML
STEPS TO SOLVE A PROBLEM
ANALYZE THE PROBLEM.
DIVIDE THE PROCESS USED TO SOLVE THE PROBLEM IN A SERIES OF TASKS.
FORMULATE THE ALGORITHM TO SOLVE THE PROBLEM.
CONVERT THE ALGORITHM IN COMPUTER PROGRAM.
WRITE THE PROGRAM IN COMPUTER.
INPUT THE DATA.
PROGRAM OPERATES ON INPUT DATA.
RESULT PRODUCED.
SEND THE GENERATED RESULT TO OUTPUT UNIT TO DISPLAY IT TO USER.
TECHNIQUES TO SOLVE THE PROBLEM
• THERE ARE 2 IMPORTANT TECHNIQUES TO SOLVE THE
PROBLEM:
ALGORITHMS
FLOW CHART
• ALGORITHM IS A COMPLETE, DETAILED AND PRECISE STEP BY
STEP METHOD TO SOLVE A PROBLEM INDEPENDENT OF THE
SOFTWARE OR HARDWARE OF THE COMPUTER.
• FLOW CHART IS THE PICTORIAL REPRESENTATION OF THE
ALGORITHM DEPICTING THE FLOW OF THE VARIOUS STEPS.
TOP DOWN APPROACH OF ALGORITHMS
• ALSO KNOWN AS DIVIDE AND CONQUER.
• IN THIS APPROACH PROBLEM IS DIVIDED INTO 2 OR MORE SUB PROBLEMS. THE SOLUTION OF EACH SUB PROBLEM IS TAKEN OUT INDEPENDENTLY. FINALLY, THE SOLUTION OF ALL SUB PROBLEM IS COMBINED TO OBTAIN THE SOLUTION OF THE MAIN PROBLEM.
• EXAMPLE OF TOP DOWN APPROACH IS BINARY SEARCH.
PROGRAM VERIFICATION
• SUPPOSE WE HAVE CODED A PROGRAM FOR FINDING THE AVERAGE OF 3 NUMBERS, NOW WE WANT TO VERIFY THE CODED PROGRAM IS CORRECT OR NOT.
• THIS CAN BE VERIFIED BY IMPLEMENTING THE PROGRAM ON A GIVEN LIST OF DATA.
• IMPLEMENT THE SAME PROGRAM TWICE OR THRICE ON THE GIVEN LIST FOR DIFFERENT ELEMENTS. IF THE PROGRAM GIVES THE CORRECT RESULT, THEN IT IS VERIFIED THAT THE PROGRAM IS CORRECT.
EFFICIENCY OF AN ALGORITHM (TERMINATION AND CORRECTNESS)
• EFFICIENCY OF AN ALGORITHM MEANS HOW FAST AN ALGORITHM CAN PRODUCE THE RESULT FOR A GIVEN PROBLEM.
• THE EFFICIENCY OF AN ALGORITHM DEPENDS ON THE TIME AND SPACE COMPLEXITY.
• SPACE COMPLEXITY OF AN ALGORITHM REFERS TO THE AMOUNT OF MEMORY REQUIRED BY THE ALGORITHM FOR ITS EXECUTION AND GENERATION OF THE FINAL OUTPUT.
• TIME COMPLEXITY REFERS TO THE AMOUNT OF COMPUTER TIME REQUIRED BY AN ALGORITHM FOR ITS EXECUTION.
ANALYSIS OF AN ALGORITHM
• THE ANALYSIS OF AN ALGORITHM DETERMINES THE AMOUNT OF RESOURCES SUCH AS TIME AND SPACE REQUIRED BY IT FOR ITS EXECUTION.
• THE COMPLEXITY OF AN ALGORITHM IS ESTIMATED BY ASYMPTOTIC NOTATIONS.
• ASYMPTOTIC NOTATIONS: THEY ARE REPRESENTED IN TERMS OF FUNCTION T(N), WHERE N IS THE SET OF NATURAL NUMBERS I.E. 1,2,3,..N.
ASYMPTOTIC NOTATIONS
• Θ NOTATION: REPRESENTS THE AVERAGE CASE RUNNING TIME.
• O NOTATION: REPRESENTS WORST CASE RUNNING TIME I.E. UPPER BOUND.
• Ω NOTATION: REPRESENTS BEST CASE RUNNING TIME I.E. LOWER BOUND.
FLOW CHARTS SYMBOLS
EXAMPLE 1: TO FIND THE SIMPLE INTEREST
ALGORITHM:
1. START
2. READ THE NAME OF THE PERSON, BALANCE AND RATE OF INTEREST.
3. CALCULATE THE INTEREST= BALANCE * RATE.
4. OUTPUT THE NAME OF THE PERSON AND INTEREST AMOUNT.
5. STOP.
EXAMPLE 1: FLOWCHART
EXAMPLE 2: TO COMPUTE SUM, AVERAGE AND PRODUCT OF 3
NUMBERS
ALGORITHM:
1. START.
2. READ 3 NUMBERS SUCH AS X, Y AND Z.
3. FIND THE SUM OF X, Y AND Z SAY S=X+Y+Z.
4. COMPUTE THE AVERAGE SAY A=S/3.
5. COMPUTE THE PRODUCT SAY P= X*Y*Z.
6. OUTPUT S, A, P.
7. STOP.
EXAMPLE 2: FLOW CHART
SWITCHING LOGICS
• SWITCHING LOGIC CONSISTS OF TWO COMPONENTS - A CONDITION AND A GOTO COMMAND DEPENDING ON THE RESULT OF THE CONDITION TEST. THE COMPUTER CAN DETERMINE THE TRUTH VALUE OF A STATEMENT INVOLVING ONE OF SIX MATHEMATICAL RELATIONS SYMBOLIZED IN THE TABLE BELOW:
Symbol Meaning
== Equals
!= Not Equal
< Less than
<= Less than or equal to
> Greater than
>= Greater than or equal to
EXAMPLE 3: TO READ TWO NUMBERS IN DECREASING ORDER
ALGORITHM:
1. START.
2. READ TWO NUMBERS SAY A AND B.
3. IF A< B
4. BIG=B
5. SMALL=A
6. ELSE
7. BIG=A
8. SMALL=B.
9. OUTPUT BIG, SMALL.
10.STOP.
EXAMPLE 3: FLOW CHART
EXAMPLE 4: REPETITION (TO COUNT FROM 1 TO 10)
ALGORITHM:
1.START.
2.INITIALIZE A COUNTER K=1.
3.WHILE K<=10
4. PRINT K.
5. K =K+1.
6.STOP.
EXAMPLE 4: FLOW CHART
EXAMPLE 5: TO FIND THE FACTORIAL OF A NUMBER
ALGORITHM:
1. START.
2. INPUT THE NUMBER SAY N.
3. INITIALIZE A VARIABLE SAY F=1 AND A COUNTER SAY M=1.
4. WHILE M!=N
5. FIND F=F*M.
6. M=M+1.
7. OUTPUT F.
8. STOP.
EXAMPLE 5: FLOW CHART
TRACING THE ALGORITHM
• TO GIVE THE DESCRIPTION OF A PROGRAM SPECIFYING THE TYPE OF CODE, ACTUAL CODES AND ITS CORRESPONDING DESCRIPTION IS KNOWN AS TRACING AN ALGORITHM.
• FOR EXAMPLE: INT NUM1, NUM2;
TYPE: DECLARATION STATEMENT
CODE: INT NUM1, NUM2;
DESCRIPTION: DECLARES THE INTEGER TYPE VARIABLES TO STORE THE VALUES ENTERED BY THE USER.
OVERVIEW OF C LANGUAGE
A STRUCTURED, HIGH LEVEL, CASE SENSITIVE AND MACHINE INDEPENDENT LANGUAGE.
C WAS EVOLVED BY DENNIS RITCHIE IN 1972.
C COMPILER COMBINES THE CAPABILITIES OF AN ASSEMBLY LANGUAGE WITH THE FEATURES OF A HIGH LEVEL LANGUAGE.
C IS HIGHLY PORTABLE.
C IS WELL SUITED FOR THE STRUCTURED PROGRAMMING.
BASIC STRUCTURE OF A C PROGRAM
Documentation Section
Link Section
Definition Section
Global Declaration Section
main() function section{
Declaration partExecutable part
}
Subprogram Section (user defined functions)
SAMPLE PROGRAM 1
#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
VOID MAIN()
{
/* PRINT THE STATEMENT */
PRINTF(“HELLO WORLD \N ”);
}
OUTPUT: HELLO WORLD
CONTD..
• EVERY PROGRAM MUST HAVE EXACTLY ONE MAIN FUNCTION.
• EMPTY PARENTHESES INDICATES THAT MAIN HAS NO ARGUMENT.
• THE STATEMENTS IN CURLY BRACES { } FORM THE FUNCTION BODY.
• STATEMENTS INSIDE /* */ ARE SAID TO BE COMMENTS.
• COMMENTS CAN BE ANYWHERE IN THE PROGRAM BUT CAN’T BE NESTED.
• PRINTF() IS A PREDEFINED STANDARD C FUNCTION FOR PRINTING OUTPUT.
CONTD..
EVERY STATEMENT IN C SHOULD END WITH SEMICOLON (;).
THE INFORMATION IN () AFTER THE FUNCTION NAME IS KNOWN AS ARGUMENT.
\N IS NEWLINE CHARACTER USED TO PRODUCE A NEWLINE. NO SPACE BETWEEN \ AND N.
\N, \T ETC ARE KNOWN AS ESCAPE SEQUENCES.
#INCLUDE IS A PREPROCESSOR DIRECTIVE AND STDIO.H IS STANDARD I/O HEADER FILE.
SAMPLE PROGRAM 2
• ADDING TWO NUMBERS
#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
VOID MAIN()
{
INT A=30;
FLOAT B=45.5;
FLOAT C;
C=A+B;
PRINTF( “THE SUM IS: %F”, C);
}
OUTPUT: THE SUM IS 75.5.
EXECUTION OF A C PROGRAM
THE COMPILATION AND EXECUTION PROCESS OF C CAN BE DIVIDED IN TO MULTIPLE STEPS:
1. PREPROCESSING - USING A PREPROCESSOR PROGRAM TO CONVERT C SOURCE CODE IN EXPANDED SOURCE CODE. "#INCLUDES" AND "#DEFINES" STATEMENTS WILL BE PROCESSED AND REPLACED ACTUALLY SOURCE CODES IN THIS STEP.
2. COMPILATION - USING A COMPILER PROGRAM TO CONVERT C EXPANDED SOURCE TO ASSEMBLY SOURCE CODE.
3. ASSEMBLY - USING A ASSEMBLER PROGRAM TO CONVERT ASSEMBLY SOURCE CODE TO OBJECT CODE.
4. LINKING - USING A LINKER PROGRAM TO CONVERT OBJECT CODE TO EXECUTABLE CODE. MULTIPLE UNITS OF OBJECT CODES ARE LINKED TO TOGETHER IN THIS STEP.
5. LOADING - USING A LOADER PROGRAM TO LOAD THE EXECUTABLE CODE INTO CPU FOR EXECUTION.