Basic Concepts of Computers PDF
Document Details
Uploaded by Deleted User
MIT-WPU
Tags
Summary
This document is a presentation on basic concepts of computers. It explores the different generations of computers, their architectures, and various types of computer systems. It also introduces different number systems and their conversions.
Full Transcript
UNIT – 1 BASIC CONCEPTS OF COMPUTERS FYBTECH Subject : Programming and Problem Solving Unit1Contents 2 ◻ Unit 1: Introduction of Computer System and Problem Solving: Basics of Computers: Architecture, Processors, Memory, Number Systems, System...
UNIT – 1 BASIC CONCEPTS OF COMPUTERS FYBTECH Subject : Programming and Problem Solving Unit1Contents 2 ◻ Unit 1: Introduction of Computer System and Problem Solving: Basics of Computers: Architecture, Processors, Memory, Number Systems, System Software - Operating system, Editor, Compiler, Assembler, Linker, Loader. Introduction to Computer 3 ◻Computer: ◻ The word computer comes from the word “compute”, which means, “to calculate” ◻ Computer is an electronic device that can perform arithmetic and logical operations at high speed ◻ A computer is also called a data processor because it can store, process, and retrieve data whenever desired ◻ Data is raw material used as input and information is processed data obtained as output of data processing Architecture of Computer system 4 Generation of Computers 5 ◻ “Generation” in computer talk is a step in technology ◻ It provides a framework for the growth of computer industry ◻ Originally it was used to distinguish between various hardware technologies, but now it has been extended to include both hardware and software ◻ Till today, there are five computer generations Generation of Computers 6 Some First Generation 7 Computers ENIAC: Electronic Numerical EDVAC: Electronic Discrete Integrator and Calculator Variable Automatic Computer EDSAC: Electronic Delay Storage UNIVAC: Universal Automatic Automatic Calculator Computer Generation of Computers 8 Note: ◻ SSI: Small Scale Integration ◻ MSI: Medium Scale Integration ◻ PDP: Personal Data Processors ◻ CDC: Control Data Corporation Generation of Computers 9 Note: ◻ VLSI: Very Large Scale Integration Generation of Computers 10 Note: ◻ ULSI: Ultra Large Scale Integration ◻ PVM: Parallel Virtual Machine Generation of Computers 11 ◻ Electronic Devices Used in Computers of Different Generations Classification of Computer 12 ◻ Computers can be classified as follows: Classification of Computer 13 1. According to Type i. Digital Computer A computer that performs calculations and logical operations with quantities represented as digits, usually in the binary number system ii. Analog Computer An analog computer is a form of computer that uses continuous physical phenomena such as electrical, mechanical, or hydraulic quantities to model the problem being solved iii. Hybrid Computer Classification of Computer 14 2. According to Size (capabilities) i. Mini computer A midsized computer. In size and power, minicomputers lie between workstations and mainframes. ii. Micro computer Desktop Computer: A personal or micro-mini computer sufficient to fit on a desk Laptop Computer: A portable computer complete with an integrated screen and keyboard. It is generally smaller in size than a desktop computer and larger than a notebook computer Palmtop Computer/Digital Diary /Notebook /PDAs: A hand-sized computer. Palmtops have no keyboard but the screen serves both as an input and output device iii. Mainframes A very large and expensive computers capable of supporting hundreds, or even thousands, of users simultaneously Classification of Computer 15 2. According to Size (capabilities) iv. Super Computer The fastest and most powerful type of computer Supercomputers are very expensive and are employed for specialized applications that require immense amounts of mathematical calculations For example, weather forecasting requires a supercomputer v. Workstations A terminal or desktop computer in a network In this context, workstation is just a generic term for a user's machine (client machine) in contrast to a "server" or "mainframe" Classification of Computer 16 3. According to Purpose i. General Purpose General purpose computers are designed to perform a range of tasks e.g. Personal Computer ii. Special Purpose Specific purpose computers are designed to handle a specific problem or to perform a specific task e.g. Computers that control Types of Processor 17 ◻ A processor, or "microprocessor," is a small chip that resides in computers and other electronic devices ◻ A processor performs arithmetical, logical, input/output (I/O) and other basic instructions that are passed from an operating system (OS) ◻ Types of processor depends on the architecture of processor Types of Processor 18 Types of Processor 19 Computer Storage 20 ◻ A storage device is any computing hardware that is used for storing and extracting data ◻ It can hold and store information both temporarily and permanently, and can be internal or external to a computer, server or any similar computing device ◻ There are two main types of storage devices: Primary and Secondary Types of Computer Storage Computer Storage 21 Primary Storage and Secondary Storage Primary Storage 22 ◻ Primary storage (also known as main storage or memory) is the area in a computer in which data is stored for quick access by the computer's processor. It consists of Registers, Cache and Main Memory Primary Storage 23 ◻ Main Memory consists of Random Access Memory (RAM) and Read Only Memory (ROM) Random Access Memory 24 (RAM) ◻ It is a read/write (R/W) memory which is volatile ◻ This means when power is turned off, all the contents are destroyed ◻ It can be accessed randomly: that is, any byte of memory can be accessed without touching the preceding bytes ◻ RAM is the most common type of memory found in computers and other devices such as printers ◻ There are two basic types of RAM: 🞑 Dynamic RAM (DRAM) 🞑 Static RAM(SRAM) 25 Definition: Both SRAM (Static Random Access Memory) and DRAM (Dynamic RAM) are types of random-access memory (RAM). SRAM is made up of several transistors that form a latch. This latch stores each bit of data. DRAM, on the other hand, uses a capacitor to store each bit. Definition : SRAM &DRAM Types of RAM 26 ◻ DRAM: 🞑 DRAM needs to be refreshed thousands of times per second 🞑 DRAM stores a bit of data using a transistor and capacitor pair, which together comprise a memory cell 🞑 The capacitor holds a high or low charge (1 or 0, respectively), and the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it 🞑 As this form of memory is less expensive to produce than SRAM, it is the predominant form of computer memory used in modern computers. ◻ SRAM: 🞑 SRAM does not need to be refreshed, which makes it faster, but it is more expensive than DRAM 🞑 In SRAM, a bit of data is stored using the state of a flip-flop 🞑 This form of RAM is more expensive to produce, but is generally faster and requires less power than DRAM and, in modern computers, is often used as cache memory for the CPU Static RAM vs. dynamic RAM 27 Both SRAM and DRAM are types of volatile memory, which means they lose their data if the power goes out. Despite this similarity, they differ in important ways. Much of this difference lies in how they're constructed. SRAM uses a flip-flop circuit to store each data bit. The circuit delivers two stable states, which are read as 1 or 0. To support these states, the circuit requires six transistors, four to store the bit and two to control access to the cell. DRAM requires only one transistor and one capacitor to store a bit. The capacitor holds the electrons that determine whether the bit is a 0 or 1. The transistor acts as a switch for reading and changing the capacitor's state. Unfortunately, DRAM capacitors have a tendency to leak electrons and lose their charge, so they must be refreshed periodically to retain their data, Static and Dynamic RAM 28 SRAM Vs DRAM Read Only Memory (ROM) 29 ◻ ROM is non-volatile which means it retains the stored information even if power is turned off ◻ It is used to store programs that boot the computer and perform diagnostics ◻ Different types of ROM as follows: 🞑 Programmable ROM (PROM) 🞑 Erasable Programmable ROM (EPROM) 🞑 Electrically Erasable Programmable ROM (EEPROM) Types of ROM 30 ◻ PROM (Programmable ROM): 🞑 A PROM is a memory chip on which data can be written onto only once. Once a program is written onto a PROM chip, it remains there forever 🞑 Unlike RAM, PROM retains its contents when the computer is turned off 🞑 The difference between a PROM and a ROM is that a PROM is manufactured as blank memory and programmed later with a special device called PROM programmer or the PROM burner, whereas the ROM is programmed during manufacturing process. 🞑 The process of programming a PROM is sometimes called burning a PROM ◻ EPROM (Erasable Programmable ROM) : 🞑 An EPROM is a special type of PROM that can be erased by exposing it to ultraviolet light 🞑 Once erased, it can be reprogrammed. An EPROM is similar to a PROM except that it requires ultraviolet radiation to be erased Types of ROM 31 ◻ EEPROM (Electrically Erasable Programmable ROM): 🞑 EEPROM is a special type of PROM that can be erased by exposing it to an electrical charge 🞑 Like other types of PROM, EEPROM retains its contents even when the power is turned off 🞑 Also, like other types of ROM, EEPROM is not as fast as RAM 🞑 EEPROM is similar to Flash Memory (sometimes called flash EEPROM) 🞑 The principal difference is that EEPROM requires data to be written or erased one byte at a time whereas flash memory allows data to be written or erased in blocks Secondary Storage 32 ◻ Secondary Storage is alternatively referred to as external memory, secondary memory or auxiliary storage ◻ Secondary storage device is a non- volatile device that holds data until it is deleted or overwritten ◻ Primary storage ◻ Secondary storage 🞑 Volatile 🞑 Nonvolatile 🞑 Temporary 🞑 Permanent ◻ It loses all of its 🞑 Writing : is the contents when power to process of saving the system unit is shut off information 🞑 Reading: is the process of accessing information Secondary Storage 33 ◻ Secondary Storage devices are classified as follows: 34 A floppy disk, also known as a "floppy" or "diskette," is a type of removable storage media used to store data on computers. A hard drive or hard disk drive (HDD) is a type of data storage device that is used in laptops and desktop computers. An HDD is a “non-volatile” storage drive, which means it can retain the stored data even when no power is supplied to the device. A Zip disk is a removable computer disk that can store large amounts of data, similar to a floppy disk but thicker and capable A disk pack ofis storing more. a layered grouping of hard disk platters (circular, rigid discs coated with a magnetic data storage surface). A disk pack is the core component of a hard disk drive. In modern hard disks, the disk pack is permanently sealed inside the drive Magnetic Disks 35 hard disk drive (HDD) Disk pack A Winchester disk is a type of hard disk drive that uses a rotating magnetic disk to store data. Winchester disks are the most common type of hard disk drive in use today. They are typically used in personal computers, servers, and other devices that require large amounts of storage space Winchester disk A CD-ROM, or Compact Disc Read-Only Memory, is a pre- 36 pressed optical disc that stores data that computers can read but A not write WORM CD-R,oror erase. Write Once Read Many CD-R, is a type of Compact Disc Recordable (CD-R) that can only be written to once , but can be read multiple times. WORM storage is considered immutable, meaning that once data is written to the disc, it can't be changed. The data can be read as many times as desired, CD-RW as long stands as the disc for "compact or rewritable". disc drive isn't damaged. It's a digital optical disc storage format that was introduced in 1997. CD- RWs are compact discs that can be written to, read from, erased, and rewritten multiple times. They can store data or music DVD stands for Digital Versatile Disc or Digital Video Disc. It's a type of optical disc that stores and plays digital data using laser technology. Optical Disks Secondary Storage 37 ◻ Sequential-access Storage Devices 🞑 Arrival at the desired storage location may be preceded by sequencing through other locations 🞑 Data can only be retrieved in the same sequence in which it is stored 🞑 Magnetic tape is a typical example of such a storage device Secondary Storage 38 ◻ Direct-access Storage Devices 🞑 Devices where any storage location may be selected and accessed at random 🞑 Permits access to individual information in a more direct or immediate manner 🞑 Magnetic and optical disks are typical examples of such a storage Memory device Storage Devices Magnetic Disks Number System 39 ◻ A number system is a collection of various symbols which are called digits ◻ Two types of number systems are: 🞑 Non-positional Number Systems 🞑 Positional Number Systems Non-positional Number 40 System ◻ Characteristics 🞑 Use symbols such as I for 1, II for 2, III for 3 etc 🞑 Each symbol represents the same value regardless of its position in the number 🞑 The symbols are simply added to find out the value of a particular number ◻ Difficulty 🞑 It is difficult to perform arithmetic with such a number system Positional Number System 41 ◻ Characteristics 🞑 Use only a few symbols called digits 🞑 These symbols represent different values depending on the position they occupy in the number 🞑 The value of each digit is determined by: 1. The digit itself 2. The position of the digit in the number 3. The base of the number system (Base = total number of digits in the number system) 🞑 The maximum value of a single digit is always equal to one less than the value of the base Positional Number System 42 ◻ There are four Positional Number Systems: Binary, Decimal, Octal and Hexadecimal Binary Number System 43 ◻ Characteristics: 🞑 Has only 2 symbols or digits (0 and 1). Hence its base = 2 🞑 The maximum value of a single digit is 1 (one less than the value of the base) 🞑 Each position of a digit represents a specific power of the base (2) 🞑 This number system is used in computers Decimal Number System 44 ◻ Characteristics: 🞑 Has 10 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7,8, 9). Hence, its base = 10 🞑 The maximum value of a single digit is 9 (one less than the value of the base) 🞑 Each position of a digit represents a specific power of the base (10) 🞑 We use this number system in our day-to-day life Octal Number System 45 ◻ Characteristics: 🞑 Has total 8 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7). Hence, its base = 8 🞑 The maximum value of a single digit is 7 (one less than the value of the base) 🞑 Each position of a digit represents a specific power of the base (8) 🞑 Since there are only 8 digits, 3 bits (23 = 8) are sufficient to represent any octal number in binary Hexadecimal Number 46 System ◻ Characteristics: 🞑 Has total 16 symbols or digits (0, 1, 2, 3, 4, 5, 6, 7,8, 9, A, B, C, D, E, F). Hence its base = 16 🞑 The symbols A, B, C, D, E and F represent the decimal values 10, 11, 12, 13, 14 and 15 respectively 🞑 The maximum value of a single digit is 15 (one less than the value of the base) 🞑 Each position of a digit represents a specific power of the base (16) 🞑 Since there are only 16 digits, 4 bits (24 = 16) are sufficient to represent any hexadecimal number in binary Conversions 47 ◻ Decimal to Binary ◻ Here is an example of using repeated division to convert 1792 decimal to binary: ◻ Reverse the remainders, we get 11100000000 ◻ (1792)10 = (11100000000)2 Conversions 48 ◻ Decimal to Octal ◻ Here is an example of using repeated division to convert 1792 decimal to octal: ◻ Reverse the remainders, we get 3400 ◻ (1792)10 = (3400)8 Conversions 49 ◻ Decimal to Hexadecimal ◻ Here is an example of using repeated division to convert 1792 decimal to hexadecimal: ◻ Reverse the remainders, we get 700 ◻ (1792)10 = (700)16 Conversions 50 ◻ The only addition to the algorithm when converting from decimal to hexadecimal is that a table must be used to obtain the hexadecimal digit if the remainder is greater than decimal 9. ◻ For example, 590 decimal converted to hex is: ◻ Reverse the remainders, we get 24E Conversion from other to 51 decimal number system Conversion from Binary to 52 octal ◻ Step 1 − Divide the binary digits into groups of three (starting from the right). ◻ Step 2 − Convert each group of three binary digits to one octal digit. ◻ Example Binary Number − 101012 Calculating Octal Equivalent − Step Binary Number Octal Number 1. 101012 010 101 2. 101012 28 58 3. 101012 258 Binary Number − 101012 = Octal Number − 258 Conversion from octal to 53 Binary ◻ Step 1 − Convert each octal digit to a 3 digit binary number (the octal digits may be treated as decimal for this conversion). ◻ Step 2 − Combine all the resulting binary groups (of 3 digits each) into a single binary number. ◻ Example Binary Number − 101012 Calculating Octal Equivalent − Step Octal Number Binary Number 1. 258 210 510 2. 258 0102 1012 3. 258 0101012 Octal Number − 258 = Binary Number − 101012 Conversion from binary to 54 Hexadecimal ◻ Step 1 − Divide the binary digits into groups of four (starting from the right). ◻ Step 2 − Convert each group of four binary digits to one hexadecimal symbol. ◻ Example Binary Number − 101012 Calculating Octal Equivalent − Step Binary Number Hexadecimal Number 1. 101012 0001 0101 2. 101012 110 510 3. 101012 1516 Binary Number − 101012 = Hexadecimal Number − 1516 Conversion from 55 Hexadecimal to binary ◻ Step 1 − Convert each hexadecimal digit to a 4 digit binary number (the hexadecimal digits may be treated as decimal for this conversion). ◻ Step 2 − Combine all the resulting binary groups (of 4 digits each) into a single binary number. ◻ Example Binary Number − 101012 Calculating Octal Equivalent − Step Hexadecimal Number Binary Number 1. 1516 110 510 2. 1516 00012 01012 3. 1516 000101012 Hexadecimal Number − 1516 = Binary Number − 101012 Octal to Hexadecimal 56 ◻ When converting from octal to hexadecimal, it is often easier to first convert the octal number into binary and then from binary into hexadecimal. ◻ For example, to convert 345 octal into hex:(from the previous example) ◻ Octal =345 Binary =011 100 101 Drop any leading zeros or pad with leading zeros to get groups of four binary digits (bits): Binary 011100101 = 1110 0101 Then, look up the groups in a table to convert to hexadecimal digits. ◻ Binary =1110 0101 Hexadecimal =E5= E5 hex 57 Hexadecimal to Octal 58 ◻ When converting from hexadecimal to octal, it is often easier to first convert the hexadecimal number into binary and then from binary into octal. ◻ For example, to convert A2DE hex into octal: ◻ Hexadecimal =A 2 D E ◻ Binary =1010 0010 1101 1110 = 1010001011011110 ◻ Add leading zeros or remove leading zeros to group into sets of three binary digits. ◻ Binary: 1010001011011110 = 001 010 001 011 011 110 ◻ Then, look up each group in a table: Binar 00 001 010 011 100 101 110 111 y 0 Octal 0 1 2 3 4 5 6 7 Data Representation 59 ◻ Computer uses a fixed number of bits to represent a piece of data, which could be a number, a character, or others ◻ A n-bit storage location can represent up to 2^n distinct entities ◻ For example, a 3-bit memory location can hold one of these eight binary patterns: 000, 001, 010, 011, 100, 101, 110, or 111 ◻ Hence, it can represent at most 8 distinct entities. You could use them to represent: 🞑 Numbers 0 to 7 🞑 Characters 'A' to 'H‘ 🞑 8 kinds of fruits like apple, orange, banana Data Representation 60 Memory Units Data Representation: 61 Signed and Unsigned ◻ Integers, for example, can be represented in 8- bit, 16-bit, 32-bit or 64-bit ◻ Besides bit-lengths, there are two representation schemes for integers: 1. Unsigned Integers: can represent zero and positive integers 2. Signed Integers: can represent zero, positive and negative integers Data Representation: Unsigned 62 ◻ Unsigned integers can represent zero and positive integers, but not negative integers. ◻ The value of an unsigned integer is interpreted as "the magnitude of its underlying binary pattern". Example 1: Example 2: Suppose n=8 and Suppose n=16 and binary pattern is 0100 0001B binary pattern is 0001 0000 0000 1000B Value of this unsigned integer is: Value of this unsigned integer is: 1×2^0 + 1×2^6 = 65D 1×2^3 + 1×2^12 = 4104D Data Representation: Unsigned 63 ◻ An n-bit pattern can represent 2^n distinct integers. An n- bit unsigned integer can represent integers from 0 to (2^n)-1,nas tabulated Minimum below: Maximum 8 0 (2^8)-1 (=255) 16 0 (2^16)-1 (=65,535) 32 0 (2^32)-1 (=4,294,967,295) 64 0 (2^64)-1 (=18,446,744,073,709,551,615) An 8-bit unsigned integer has a range of 0 to 255 Data Representation: Signed 64 ◻ The Most-significant Bit (MSB) is the sign bit, with value of 0 representing positive integer and 1 representing negative integer. ◻ The remaining n-1 bits represents the magnitude (absolute value) of the integer. ◻ The absolute value of the integer is interpreted as "the magnitude of the (n-1)-bit binary pattern". Data Representation: Signed 65 Example 1: Example 2: Suppose n=8 and Suppose n=8 and binary representation is 0 100 0001B binary representation is 1 000 0001B Sign bit is 0 ⇒ positive Sign bit is 1 ⇒ negative Absolute value is 100 0001B = 65D Absolute value is 000 0001B = 1D Hence, the integer is +65D Hence, the integer is -1D Example 3: Example 4: Suppose n=8 and Suppose n=8 and binary representation is 0 000 0000B binary representation is 1 000 0000B Sign bit is 0 ⇒ positive Sign bit is 1 ⇒ negative Absolute value is 000 0000B = 0D Absolute value is 000 0000B = 0D Hence, the integer is +0D Hence, the integer is -0D Data Representation: Signed 66 The drawbacks of sign-magnitude representation are: 1. There are two representations (0000 0000B and 1000 0000B) for the number zero, which could lead to inefficiency and confusion. 2. Positive and negative integers need to be processed Complement of a number 67 ◻ Complements are used in the digital computers in order to simplify the subtraction operation and for the logical manipulations ◻ Binary system complements 🞑 As the binary system has base r = 2. So the two types of complements for the binary system are 2's complement and 1's complement ◻ 1's complement 🞑 The 1's complement of a number is found by changing all 1's to 0's and all 0's to 1's. Example of 1's Complement is as follows: Complement of a number 68 ◻ 2's complement 🞑 The 2's complement of binary number is obtained by adding 1 to the Least Significant Bit (LSB) of 1's complement of the number. 🞑 2's complement = 1's complement + 1 🞑 Example of 2's Complement is as follows: 2’s complement Data Representation: 69 Floating point ◻ In computers, floating-point numbers are represented in scientific notation of fraction (F) and exponent (E) with a radix of 2, in the form of F×2^E ◻ Both E and F can be positive as well as negative ◻ Modern computers adopt IEEE 754 standard for representing floating-point numbers ◻ There are two representation schemes: 🞑 32-bit single-precision 🞑 64-bit double-precision Data Representation: 70 Floating point ◻ 32-bit Single-Precision Floating-Point Numbers 🞑 The most significant bit is the sign bit (S), with 0 for positive numbers and 1 for negative numbers 🞑 The following 8 bits represent exponent (E) 🞑 The remaining 23 bits represents fraction (F) / Mantissa (M) Examples of Single-Precision Floating- Point Numbers 71 Data Representation: 72 Floating point ◻ In 64-bit Double-Precision Floating-Point Numbers 🞑 The most significant bit is the sign bit (S), with 0 for positive numbers and 1 for negative numbers 🞑 The following 11 bits represent exponent (E) 🞑 The remaining 52 bits represents fraction (F) / Mantissa (M) Examples of Double-Precision Floating- Point Numbers 73 Data Representation: char 74 ◻ In computer memory, character are "encoded" (or "represented") using a chosen "character encoding schemes" ◻ It is important to note that the representation scheme must be known before a binary pattern can be interpreted ◻ e.g. the 8-bit pattern "0100 0010B" could represent anything under the sun known only to the person encoded it ◻ The most commonly-used character encoding schemes are: 🞑 7-bit ASCII 🞑 Unicode ASCII 75 ◻ It is an acronym for the American Standard Code for Information Interchange ◻ It is a standard seven-bit code that was first proposed by the American National Standards Institute or ANSI in 1963, and finalized in 1968 as ANSI Standard X3.4 ◻ In the ASCII character set, each binary value between 0 and 127 represents a specific character ◻ Most computers extend the ASCII character set to use the full range of 256 characters available in a byte ASCII 76 ◻ An uppercase "A," for example, is represented by the decimal number 65." ◻ By looking at the ASCII table, you can clearly see a one-to-one correspondence between each character and the ASCII code used. For example, 32 is the ASCII code for a space Code numbers 65 to 90 represents 'A' to 'Z' 97 to 122 represents 'a' to 'z' 48 to 57 represents '0' to '9' ASCII - Binary Character Table (Sample) Unicode 77 ◻ In the pre-Unicode environment, we had 8-bit characters, which limited us to a maximum limit of 256 characters ◻ No single encoding could contain enough characters to cover all the languages ◻ Many encoding schemes are in conflict of each other, i.e., the same code number is assigned to different characters ◻ Unicode aims to provide a standard character encoding scheme, which is universal, efficient, uniform and unambiguous. ◻ Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems ◻ Unicode provides a unique number for every character: 🞑 no matter what the platform 🞑 no matter what the program Unicode 78 ◻ Where is Unicode Used? 🞑 The Unicode standards has been adopted by many software and hardware vendors Most OSs support Unicode Unicode is required for international document and data interchange Programming languages such as Java, C#, Perl, Python Markup Languages such as XML, HTML, XHTML, JavaScript ◻ Unicode Transformation Format (UTF) 🞑 An algorithmic mapping from virtually every Unicode code point to a unique byte sequence 🞑 UTF Encodings Types UTF-8 UTF-16 UTF-32 Data Representation: String 79 ◻ Being able to represent individual characters in specified memory locations is very useful, but it is not very convenient for the way we normally want to work with text information. ◻ Typically, when we work with text, we work with "strings" of characters. ◻ The obvious way to represent a string in memory is as a sequence of ASCII codes - and this is exactly what is done. ◻ Endianess (or byte-order): 🞑 For a multi-byte character, you need to take care of the order of the bytes in storage. 🞑 In big endian, the most significant byte is stored at the memory location with the lowest address (big byte first). 🞑 In little endian, the most significant byte is stored at the memory location with the highest address (little byte first). Software 80 ◻ Software refers to a collection of programs ◻ There are two types of software: 1. System Software 2. Application Software ◻ System software are designed to control the operation and extend the processing capability of a computer system 🞑 e.g. Operating System, Compiler, Assembler, Linker, Loader ◻ Application software are designed to solve a specific problem or to do a specific task 🞑 e.g. MS Word, Paint, Web Browsers (like Chrome, Mozilla Firefox etc.) Introduction to System 81 Software ◻ System Software are programs that are designed specifically for running the hardware on a personal computer ◻ This means that system software is designed to communicate with the internal parts of your computer such as the hard drive, RAM, ROM, cache, microprocessors, etc. so that the user doesn't have to. ◻ System software can be separated into two different categories, Utility Programs and Operating Systems 🞑 The OS boots up the computer and makes sure everything is operational. 🞑 Utility programs perform a very specific task, to either enhance or manage your computer, for example your virus protection program Introduction to System 82 Software Introduction to System 83 Software ◻ Editor: 🞑 A program that enables you to create and edit text files 🞑 Source Code Editor is an standalone application required for writing or editing the source code. A source code editor checks for syntaxes while user writes a code and immediately warns of syntax errors. 🞑 Text Editor is a simple application required for editing plain text such as notepad. Introduction to System 84 Software ◻ Compiler: 🞑 It is a program which translates a high level language program into a machine language program. 🞑 A compiler is more intelligent than an assembler. It checks all kinds of limits, ranges, errors etc. Introduction to System 85 Software ◻ Assembler: 🞑 A computer will not understand any program written in a language, other than its machine language 🞑 The programs written in other languages must be translated into the machine language 🞑 Such translation is performed with the help of software 🞑 A program which translates an assembly language program into a machine language program is called an assembler Introduction to System 86 Software ◻ Linker: 🞑 In high level languages, some built in header files or libraries are stored 🞑 These libraries are predefined and these contain basic functions which are essential for executing the program 🞑 These functions are linked to the libraries by a program called Linker 🞑 If linker does not find a library of a function then it informs to compiler and then compiler generates an error 🞑 The compiler automatically invokes the linker as the last step in compiling a program Introduction to System 87 Software ◻ Loader: 🞑 Loader is a program that loads machine codes of a program into the system memory 🞑 In Computing, a loader is the part of an Operating System that is responsible for loading programs 🞑 It is one of the essential stages in the process of starting a program, because it places programs into memory and prepares them for execution 🞑 Loading a program involves reading the contents of executable file into memory 🞑 Once loading is complete, the operating system starts the program by passing control to the loaded program code Steps to execute a High Level Program 88 Example: C Program Execution