2. 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
Process
Input
Output
Information
Instructions
• SO THE ELECTRONIC DEVICE IS KNOWN AS HARDWARE AND
THE SET OF INSTRUCTIONS IS KNOWN AS SOFTWARE.
3. CHARACTERISTICS OF COMPUTER
• SPEED
• ACCURACY
• DILIGENCE
• VERSATILE
• POWER OF REMEMBERING
• NO IQ
• NO FEELING
4. 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.
5. 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, EDVACAND UNIVAC-1.
ENIAC IS THE FIRST ELECTRONIC COMPUTER.
6. 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.
7. 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.
8. 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 CAPABILITYAND CHEAPER.
EXAMPLE OF FOURTH GENERATION COMPUTER IS PERSONAL COMPUTER.
9. 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.
10. 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
11. 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.
12. 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.
13. 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 INWAN.
• EXAMPLE OF MAINFRAME COMPUTER IS: IBM 3000
SERIES.
14. 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.
15. 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.
16. 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
17. ANATOMY OF COMPUTER SYSTEM
• KEYBOARD
• MOUSE
Input devices
• SCANNER
• MONITOR
• PRINTER
Output Devices
• SPEAKER
• PRIMARY MEMORY
• SECONDARY MEMORY
• CONTROL UNIT
• ARITHMETIC LOGICAL UNIT
• MOTHERBOARD
Memory Management
Processing units
18. KEYBOARD
• KEYPAD CONTAINS:
Alphanumeric keys
• 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.
19. MOUSE
• KNOWN AS POINTING & CLICK DEVICE.
• TWO / THREE BUTTONS
• WHEEL / OPTICAL MOUSE
• NORMALLY LEFT CLICK – SELECT/ RUN
RIGHT CLICK – POPUP MENU
20. 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.
21. 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).
AMONITOR IS CHARACTERIZED BY ITS MONITOR SIZE AND RESOLUTION.
22. 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.
23. SPEAKER
• OUTPUT DEVICE.
• IT CONVERTSAN 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
EXTERNALLYTO THE COMPUTER.
24. 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.
25. 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.
26. 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.
27. 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.
28. 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
29. 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
30. 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
31. CD-ROM
• OPTICAL DEVICE.
• REMOVABLE STORAGE.
• READ ONLY MEMORY.
• TYPICAL CAPACITY IS 550 MB – 800MB
33. 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.
34. 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 .
35. ROLE OF RAM IN PROCESSING
STORES INSTRUCTIONS AND/OR DATA.
MEMORY IS DIVIDED INTO AN ARRAY OF "BOXES" EACH
CONTAININGA 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 AWRITE 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.
36. CONTROL UNIT
• CU TRANSFERS THE DATA AND THE INSTRUCTION OF THE
CORRESPONDING OPERATION TO THE ALU STOREDWITH 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.
37. 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
38. CONTD..
• BUSES: IT IS AN ELECTRICAL PATH THAT TRANSFERS DATA AND
INSTRUCTIONS AMONG DIFFERENT PARTS OF COMPUTER. THE BUS
CAN BE DATABUS 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.
39. 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.
40. 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.
41. CONTD..
Computer Machine/Hardware
Machine Language
(Low Level Language)
Operating System
Human Understandable Language
(High Level Language)
User / Programmer
42. TYPES OF OS
BATCH OPERATING SYSTEM:
ONLY ONE PROGRAM IS ALLOWED TO RUN ATATIME.
NO MODIFICATION OF DATAWHILE PROGRAM IS IN RUNNING STATE.
IF AN ERROR IS ENCOUNTERED, START THE PROGRAM FROM SCRATCH.
EXAMPLE: DOS
INTERACTIVE OPERATING SYSTEM:
ITALSO CAN RUN ONLY ONE PROGRAMATATIME.
MODIFICATION AND ENTRY OF DATA ALLOWED WHILE PROGRAM IS
RUNNING.
EXAMPLE: MULTIPLEXED INFORMATIONAND COMPUTING SERVICES.
43. 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.
44. 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.
45. 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.
46. ARCHITECTURE OF UNIX
HIERARCHICAL ARCHITECTURE.
HAS SEVERAL LAYERS AND EACH LAYER PROVIDES A UNIQUE FUNCTION AS
WELLAS MAINTAINS INTERACTION WITH LOWER LAYERS.
THE LAYERS OF UNIX OPERATING SYSTEMARE:
KERNEL
SERVICE
SHELL
USER APPLICATIONS
47. CONTD..
User Applications
Shell (Library Routines)
Service Layer (process, memory, I/O services and file
management
Kernel (Scheduler, Device Driver, I/O Buffer)
Hardware
48. 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.
49. 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.
50. 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
51. 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.
52. 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)
53. 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.
54. 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 CALLEDWAN.
55. INTRODUCTION
• HOW DO YOU COMMUNICATE DATA TO
COMPUTERS?
• HOW DO THE COMPUTERS STORE AND
PROCESS DATA?
56. 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.
57. 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.
58. 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.
59. 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.
60. 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
61. 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
62. DECIMAL TO BASE ‘N’
• CONSIDER THE INTEGER AND FRACTIONAL PARTS
SEPARATELY.
CONVERSIONS
• 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.
63. 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
64. 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.
65. 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.
67. 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
68. 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
69. BINARY TO OCTAL
Convert 10001100101001 to octal:-
STEP ONE: Take the binary number and from right to left,
group all placeholders in triplets. Add leading zeros, if
necessary:
010 001 100 101 001
69
70. 214510 = 8
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):
70
010 001 100 101 0012
010 001 100 101 001
2 1 4 5 1
71. 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
72. 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)
74. 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
82. 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’SAND 9’S COMPLEMENT.
FOR BINARY NUMBERS THE BASE IS 2 AND COMPLEMENTS
ARE 2’S AND 1’S COMPLEMENT.
83. 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.
84. 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.
85. 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.
86. 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 – SIGNWITH THE RESULT: -317389.
87. 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.
88. 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
-----------------
89. 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
---------------
90. 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.
91. 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 KNOWNAS ‘EXPONENT’. E.G. 145.78, 0.23765* 103.
92. 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
COMPUTERWORD IS SHOWN BELOW:
Sign (0) Exponent (1-7) Mantissa (8-31)
93. 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
HOWTO PRESENT RESULTS
WHEN TO MAKE CERTAIN DECISIONS
94. 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.
95. 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 VIAASSEMBLERS.
ADVANTAGES OF ASSEMBLY LANGUAGE ARE:
1. EASY TO LOCATE THE ERROR.
2. EASY TO WRITE CODE IN ASSEMBLY LANGUAGE THAN IN
MACHINE LANGUAGE.
96. HIGH LEVEL LANGUAGES
- USER FRIENDLYAND 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 THEYARE PORTABLE.
97. 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.
98. CONTD..
- FIFTH GENERATION (NATURALLANGUAGES)
• DESIGNED TO MAKE A COMPUTER TO BEHAVE LIKE AN EXPERT AND
SOLVE PROBLEMS.
• LISP AND PROLOG ARE MAINLY USED TO DEVELOP ARTIFICIAL
INTELLIGENCEAND EXPERT SYSTEM.
100. 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.
101. 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.
102. LIFE CYCLE OF A PROGRAM
DEVELOPMENT
• THE ENTIRE PROGRAM DEVELOPMENT IS DIVIDED INTO A
NUMBER OF PHASES:
REQUIREMENTANALYSIS PHASE
DESIGN PHASE
IMPLEMENTATION PHASE
TESTING PHASE
MAINTENANCE PHASE
103. PROGRAMMING PARADIGM
• TO SOLVE A PROBLEM THERE ARE DIFFERENT
PROGRAMMING APPROACHES:
PROCEDURAL PROGRAMMING
MODULAR PROGRAMMING
OBJECT ORIENTED PROGRAMMING
104. 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,
Global
Global
A FUNCTION IS NOT IMPORTANT THAT DISPLAYS OR
Data
Data
CHECKS DATA BUT THE DATA IN ITSELF IS MORE
IMPORTANT.
Function 1
Local data
Function 2
Local data
Function 3
Local data
105. 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.
106. 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.
Object A Object B
Data
Function
s
Data
Function
s
Communication
107. 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.
108. 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.
109. 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.
111. 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 file
Object file Object file
Object file
Runtime linker
library Executable
program
112. LOADERS
• IT IS AN OPERATING SYSTEM UTILITY THAT
COPIES PROGRAMS FROM A STORAGE DEVICE TO
MAIN MEMORYWHERE THEY CAN BE EXECUTED.
• LOADER IS RESPONSIBLE FOR LOADING THE
OPERATING SYSTEM ALSO.
114. 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.
115. 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.
116. 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.
117. 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.
118. 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 BYAN ALGORITHM FOR ITS EXECUTION.
119. 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.
120. 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.
122. 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.
124. EXAMPLE 2: TO COMPUTE SUM,
AVERAGE AND PRODUCT OF 3
NUMBERS
ALGORITHM:
1. START.
2. READ 3 NUMBERS SUCH AS X, YAND Z.
3. FIND THE SUM OF X, YAND Z SAY S=X+Y+Z.
4. COMPUTE THE AVERAGE SAYA=S/3.
5. COMPUTE THE PRODUCT SAY P= X*Y*Z.
6. OUTPUT S, A, P.
7. STOP.
126. 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
127. EXAMPLE 3: TO READ TWO NUMBERS
IN DECREASING ORDER
ALGORITHM:
1. START.
2. READ TWO NUMBERS SAYAAND 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.
131. 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.
133. 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.
134. OVERVIEW OF C LANGUAGE
A STRUCTURED, HIGH LEVEL, CASE SENSITIVE AND MACHINE INDEPENDENT LANGUAGE.
CWAS 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.
135. BASIC STRUCTURE OF A C PROGRAM
Documentation Section
Link Section
Definition Section
Global Declaration Section
main() function section
{
Declaration part
Executable part
}
Subprogram Section (user defined
functions)
136. SAMPLE PROGRAM 1
#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
VOID MAIN()
{
/* PRINT THE STATEMENT */
PRINTF(“HELLO WORLD N ”);
}
OUTPUT: HELLO WORLD
137. 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.
138. CONTD..
EVERY STATEMENT IN C SHOULD ENDWITH 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.
139. 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.
140. 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.