YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Fundamental of computer

FUNDAMENTALS OF COMPUTERS

By - Aadarsh SrivastavaContact - 08826830666

Page 2: Fundamental of computer

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

Page 3: Fundamental of computer

CHARACTERISTICS OF COMPUTER

• SPEED

• ACCURACY

• DILIGENCE

• VERSATILE

• POWER OF REMEMBERING

• NO IQ

• NO FEELING

Page 4: Fundamental of computer

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.

Page 5: Fundamental of computer

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.

Page 6: Fundamental of 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.

Page 7: Fundamental of computer

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.

Page 8: Fundamental of computer

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.

Page 9: Fundamental of 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.

Page 10: Fundamental of computer

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

Page 11: Fundamental of computer

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.

Page 12: Fundamental of computer

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.

Page 13: Fundamental of computer

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.

Page 14: Fundamental of computer

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.

Page 15: Fundamental of computer

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.

Page 16: Fundamental of computer

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

Page 17: Fundamental of computer

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

Page 18: Fundamental of computer

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

Page 19: Fundamental of computer

MOUSE

• KNOWN AS POINTING & CLICK DEVICE.

• TWO / THREE BUTTONS

• WHEEL / OPTICAL MOUSE

• NORMALLY LEFT CLICK – SELECT/ RUN

RIGHT CLICK – POPUP MENU

Page 20: Fundamental of computer

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.

Page 21: Fundamental of computer

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.

Page 22: Fundamental of computer

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.

Page 23: Fundamental of computer

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.

Page 24: Fundamental of 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.

Page 25: Fundamental of computer

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.

Page 26: Fundamental of computer

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.

Page 27: Fundamental of computer

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.

Page 28: Fundamental of computer

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

Page 29: Fundamental of computer

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

Page 30: Fundamental of computer

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

Page 31: Fundamental of computer

CD-ROM

• OPTICAL DEVICE.

• REMOVABLE STORAGE.

• READ ONLY MEMORY.

• TYPICAL CAPACITY IS 550 MB – 800MB

Page 32: Fundamental of computer

PROCESSING IN A COMPUTER (COMPUTER ARCHITECTURE)

Page 33: Fundamental of computer

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.

Page 34: Fundamental of computer

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 .

Page 35: Fundamental of computer

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.

Page 36: Fundamental of computer

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.

Page 37: Fundamental of computer

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

Page 38: Fundamental of computer

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.

Page 39: Fundamental 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.

Page 40: Fundamental of computer

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.

Page 41: Fundamental of computer

CONTD..

Computer Machine/Hardware

User / Programmer

Operating System

Human Understandable Language (High Level

Language)

Machine Language (Low Level Language)

Page 42: Fundamental of computer

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.

Page 43: Fundamental of computer

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.

Page 44: Fundamental of computer

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.

Page 45: Fundamental of computer

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.

Page 46: Fundamental of computer

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

Page 47: Fundamental of computer

CONTD..

Hardware

Kernel (Scheduler, Device Driver, I/O Buffer)

Service Layer (process, memory, I/O services and file management

Shell (Library Routines)

User Applications

Page 48: Fundamental of computer

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.

Page 49: Fundamental of computer

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.

Page 50: Fundamental of computer

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

Page 51: Fundamental of computer

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.

Page 52: Fundamental of computer

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)

Page 53: Fundamental of computer

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.

Page 54: Fundamental of computer

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.

Page 55: Fundamental of computer

INTRODUCTION

• HOW DO YOU COMMUNICATE DATA TO

COMPUTERS?

• HOW DO THE COMPUTERS STORE AND

PROCESS DATA?

Page 56: Fundamental of computer

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.

Page 57: Fundamental of computer

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.

Page 58: Fundamental of computer

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.

Page 59: Fundamental of computer

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.

Page 60: Fundamental of computer

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

Page 61: Fundamental of computer

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

Page 62: Fundamental of computer

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.

Page 63: Fundamental of computer

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

Page 64: Fundamental of computer

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.

Page 65: Fundamental of computer

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.

Page 66: Fundamental of computer

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

Page 67: Fundamental of computer

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

Page 68: Fundamental of computer

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

Page 69: Fundamental of computer

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

Page 70: Fundamental of computer

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

Page 71: Fundamental of computer

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

Page 72: Fundamental of computer

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)

Page 73: Fundamental of computer

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

Page 74: Fundamental of computer

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

Page 75: Fundamental of computer

BINARY ADDITION

• 0 + 0 = 0

• 0 + 1 = 1

• 1 + 0 = 1

• 1 + 1 = 10

+ 0 1

0 0 1

1 1 10

75

Page 76: Fundamental of computer

• 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

Page 77: Fundamental of computer

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

Page 78: Fundamental of computer

EXAMPLE OF SUBTRACTION

111

• 110011<- MINUEND

- 10110<- SUBTRAHEND

• 11100

-10111

011101

101

Page 79: Fundamental of computer

MULTIPLY BINARY NUMBERS

79

0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

* 0 1

0 0 0

1 0 1

Page 80: Fundamental of computer

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

Page 81: Fundamental of computer

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

Page 82: Fundamental of computer

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.

Page 83: Fundamental of computer

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.

Page 84: Fundamental of computer

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.

Page 85: Fundamental of computer

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.

Page 86: Fundamental of computer

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.

Page 87: Fundamental of computer

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.

Page 88: Fundamental of computer

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

-----------------

Page 89: Fundamental of computer

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

---------------

Page 90: Fundamental of computer

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.

Page 91: Fundamental of computer

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.

Page 92: Fundamental of computer

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)

Page 93: Fundamental of computer

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

Page 94: Fundamental of computer

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.

Page 95: Fundamental of computer

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.

Page 96: Fundamental of computer

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.

Page 97: Fundamental of computer

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.

Page 98: Fundamental of computer

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.

Page 99: Fundamental of computer

PL HIERARCHY

Page 100: Fundamental of computer

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.

Page 101: Fundamental of computer

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.

Page 102: Fundamental of computer

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

Page 103: Fundamental of computer

PROGRAMMING PARADIGM

• TO SOLVE A PROBLEM THERE ARE DIFFERENT

PROGRAMMING APPROACHES:

PROCEDURAL PROGRAMMING

MODULAR PROGRAMMING

OBJECT ORIENTED PROGRAMMING

Page 104: Fundamental of computer

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

Page 105: Fundamental of computer

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.

Page 106: Fundamental of computer

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

Page 107: Fundamental of computer

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.

Page 108: Fundamental of computer

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.

Page 109: Fundamental of computer

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.

Page 110: Fundamental of computer

DIFFERENCE BETWEEN COMPILATION AND INTERPRETATION

Page 111: Fundamental of computer

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

Page 112: Fundamental of computer

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.

Page 113: Fundamental of computer

TRANSLATION FROM HLL TO ML

Page 114: Fundamental of computer

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.

Page 115: Fundamental of computer

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.

Page 116: Fundamental of computer

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.

Page 117: Fundamental of computer

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.

Page 118: Fundamental of computer

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.

Page 119: Fundamental of computer

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.

Page 120: Fundamental of computer

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.

Page 121: Fundamental of computer

FLOW CHARTS SYMBOLS

Page 122: Fundamental of computer

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.

Page 123: Fundamental of computer

EXAMPLE 1: FLOWCHART

Page 124: Fundamental of computer

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.

Page 125: Fundamental of computer

EXAMPLE 2: FLOW CHART

Page 126: Fundamental of computer

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

Page 127: Fundamental of computer

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.

Page 128: Fundamental of computer

EXAMPLE 3: FLOW CHART

Page 129: Fundamental of computer

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.

Page 130: Fundamental of computer

EXAMPLE 4: FLOW CHART

Page 131: Fundamental of computer

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.

Page 132: Fundamental of computer

EXAMPLE 5: FLOW CHART

Page 133: Fundamental of computer

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.

Page 134: Fundamental of computer

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.

Page 135: Fundamental of computer

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)

Page 136: Fundamental of computer

SAMPLE PROGRAM 1

#INCLUDE<STDIO.H>

#INCLUDE<CONIO.H>

VOID MAIN()

{

/* PRINT THE STATEMENT */

PRINTF(“HELLO WORLD \N ”);

}

OUTPUT: HELLO WORLD

Page 137: Fundamental of computer

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.

Page 138: Fundamental of computer

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.

Page 139: Fundamental of computer

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.

Page 140: Fundamental of computer

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.


Related Documents