History of Computers PDF
Document Details
Tags
Summary
This document provides an overview of the history of computers, starting from the earliest mechanical devices to the modern digital computers. It details the key characteristics of each generation, highlighting advancements in technology, components, and programming languages.
Full Transcript
History of Computers When we study the many aspects of computing and computers, it is important to know about the history of computers. Charles Babbage designed an Analytical Engine which was a general computer It helps us understand the growth and progress of technology through the time...
History of Computers When we study the many aspects of computing and computers, it is important to know about the history of computers. Charles Babbage designed an Analytical Engine which was a general computer It helps us understand the growth and progress of technology through the times. It is also an important topic for competitive and banking exams. What is a Computer? A computer is an electronic machine that collects information, stores it, processes it according to user instructions, and then returns the result. A computer is a programmable electronic device that performs arithmetic and logical operations automatically using a set of instructions provided by the user. Generations of Computers Computers have gone through many changes over time. The first generation of computers started around 1940 and since then there have been five generations of computers until 2023. Computers evolved over a long period of time, starting from the 16th century, and continuously improved themselves in terms of speed, accuracy, size, and price to become the modern day computer. The different phases of this long period are known as computer generations. First Generation of Computers The first generation used vacuum tube technology and were built between 1946 and 1959. Vacuum tubes were expensive and produced a lot of heat, which made these computers very expensive and only affordable to large organizations. Machine language was the programming language used for these computers, and they could not multitask. The ENIAC was the first electronic general-purpose computer that used 18,000 vacuum tubes and was built in 1943 for war-related calculations. Examples of the first generation include EDVAC, IBM-650, IBM-701, Manchester Mark 1, Mark 2, etc. The main characteristics of first generation of computers (1940s-1950s) Main electronic component – vacuum tube Main memory – magnetic drums and magnetic tapes Programming language – machine language Power – consume a lot of electricity and generate a lot of heat. Speed and size – very slow and very large in size (often taking up entire room). Input/output devices – punched cards and paper tape. Examples – ENIAC, UNIVAC1, IBM 650, IBM 701, etc. Quantity – there were about 100 different vacuum tube computers produced between 1942 and1963. Second Generation of Computers The second-generation computers were composed of transistors whose major manufacturing came from the USA (Santa Clara Valley). The use of silicon in transistors made the name of the location "Silicon Valley". They were comparatively accurate, although these second-generation computers carried out calculations at a rate of 5000 additions/second. However, increasing the performance capacity of these machines required the addition of more transistors. Thus, these machines kept demanding more and more extra machine parts. The main characteristics of second generation of computers (1950s-1960s) Main electronic component – transistor Memory – magnetic core and magnetic tape / disk Programming language – assembly language Power and size – low power consumption, generated less heat, and smaller in size (in comparison with the first generation computers). Speed – improvement of speed and reliability (in comparison with the first generation computers). Input/output devices – punched cards and magnetic tape. Examples – IBM 1401, IBM 7090 and 7094, UNIVAC 1107, etc. Third Generation Machines (1964-1971) The use of multiple transistors into a single chip brought forth Integrated Circuits, the backbone of third-generation computers. According to Moore's Law, every two years, the expenditure of the IC would reduce by half, as twice the number of transistors can be fitted into ICs. The closure of circuits in an IC reduced the flow-time of electricity, leading to its swift calculation capabilities. But air conditions were mandatory for its proper functioning. The main characteristics of third generation of computers (1960s-1970s) Main electronic component – integrated circuits (ICs) Memory – large magnetic core, magnetic tape / disk Programming language – high level language (FORTRAN, BASIC, Pascal, COBOL, C, etc.) Size – smaller, cheaper, and more efficient than second generation computers (they were called minicomputers). Speed – improvement of speed and reliability (in comparison with the second generation computers). Input / output devices – magnetic tape, keyboard, monitor, printer, etc. Examples – IBM 360, IBM 370, PDP-11, UNIVAC 1108, etc. Fourth Generation of Computers The invention of stamp-size chips, called microprocessors, has paved the way for fourth- generation computers. The tiny microprocessor carries all the necessary components to run the machine. One of the oldest firms still involved in the development of integrated electronics is Intel. These machines were known as microcomputers due to their reduced size in comparison to the earlier ones. One of the most renowned fourth-generation personal computers, under the public spotlight during that time, was the Apple II from Apple Computers. The main characteristics of fourth generation of computers (1970s-present) Main electronic component – very large-scale integration (VLSI) and microprocessor. VLSI– thousands of transistors on a single microchip. Memory – semiconductor memory (such as RAM, ROM, etc.) o RAM (random-access memory) – a type of data storage (memory element) used in computers that temporary stores of programs and data (volatile: its contents are lost when the computer is turned off). o ROM (read-only memory) – a type of data storage used in computers that permanently stores data and programs (non-volatile: its contents are retained even when the computer is turned off). Programming language – high level language (Python, C#, Java, JavaScript, Rust, Kotlin, etc.). o A mix of both third- and fourth-generation languages Size – smaller, cheaper and more efficient than third generation computers. Speed – improvement of speed, accuracy, and reliability (in comparison with the third generation computers). Input / output devices – keyboard, pointing devices, optical scanning, monitor, printer, etc. Network – a group of two or more computer systems linked together. Examples – IBM PC, STAR 1000, APPLE II, Apple Macintosh, etc. Fifth Generation of Computers The fifth-generation computers might carry decision-making capabilities. Through the use of advanced artificial intelligence and improved neural networks, they can "learn" and "adapt". The smallest fifth-generation computer, with the size of a rice grain, can quantify temperature in cell clusters. These future computers carry limitless real-life applications and might be difficult to control due to their capabilities at interpreting information and making decisions. The main characteristics of fifth generation of computers (the present and the future) Main electronic component: based on artificial intelligence, uses the Ultra Large-Scale Integration (ULSI) technology and parallel processing method. o ULSI – millions of transistors on a single microchip o Parallel processing method – use two or more microprocessors to run tasks simultaneously. Language – understand natural language (human language). Power – consume less power and generate less heat. Speed – remarkable improvement of speed, accuracy and reliability (in comparison with the fourth generation computers). Size – portable and small in size, and have a huge storage capacity. Input / output device – keyboard, monitor, mouse, trackpad (or touchpad), touchscreen, pen, speech input (recognise voice / speech), light scanner, printer, etc. Example – desktops, laptops, tablets, smartphones, etc. A block diagram of computer system shows you a structural representation of the computer. This diagram gives you a short review of the working process of a computer, from inserting data to retrieving results. Understanding the block diagram of computer system is essential for anyone interested in computer science or technology. It provides a framework for understanding how different components of a computer work together to process data and produce results. By learning about the block diagram of a computer system, you can gain a better understanding of how computers work and how to optimize their performance. In this article, we will explain the computer block diagram, including every tiny detail. Block diagram of computer system The computer‟s functional units create the computer‟s block diagram. The computer divides its tasks among the major available units in its block diagram. The Major Components Of The Block Diagram of Computer System Are:- 1. Input Unit 2. Output Unit 3. Central Processing Unit (CPU) (1) Control Unit (CU) (2) Arithmetic And Logic Unit (ALU)6 (3) Memory Unit (i)Primarymemory (ii)Secondary memory Input Unit The computer requires the input unit to receive data and information and then use it to solve problems. The user provides the computer with data and information. With the use of input devices, we give data and information input. The input unit is made up of a variety of input devices. Some input devices are a keyboard, mouse, microphone, scanner, etc. The computer‟s CPU may process instructions that are provided to it by application programs running on the monitor. In order for a user to interact with these application programs, input devices must be present. When a user enters data into the application program via input devices, the CPU suspends the application program‟s instructions and begins receiving input signals. When the CPU receives input signals, it uses the data from these signals to restart the processing of the application program‟s instructions. The Input Unit’s Primary Functions Are As Follows: 1. With the use of input devices, collect data from the user. 2. Convert the data from electrical signals to computer-readable machine language. 3. Instruct the CPU to receive data from the input devices. 4. Provide the transformed data to the CPU through the memory unit for further processing. Output Unit The computer‟s output unit communicates the results of processing and information to the outside world. In general, the output unit reverses the process of the input unit, converting machine language into electronic signals readable by the output devices. The Visual Display Unit (VDU), usually known as the monitor, is the most commonly utilized output device. Other popular output devices include a projector, headphones, speakers, etc. Central Processing Unit (CPU) The CPU is the backbone of the computer system. Without it, a computer is nothing. All the instructions that the computer receives from the user, or a set of instructions, are processed by this „brain‟. This brain then prints out the desired result based on the instructions received and the input that the user made. Rephrase It plays a crucial role in performing arithmetic and logical operations. It is responsible for controlling the operations of other devices. Three Major Components Of the CPU Are:- Arithmetic Logical Unit (ALU) The Arithmetic Logic Unit (ALU) is a major part of the computer‟s Central Processing Unit (CPU). The Arithmetic Logic Unit (ALU) is the portion of the Central Processing Unit (CPU) that handles all of the Central Processing Unit (CPU‟s) calculations. The ALUs work for all math and operations that are related to arithmetical and logical operations. Also, they work on the basis of comparisons. Mostly, they are responsible for performing the decision-making so that they can do most of the operations. When any calculations must be performed, the Control Unit (CU) passes the data from the memory unit to the Arithmetic Logic Unit (ALU). When the computation is completed and the results are created by the ALU, the CU returns the computation data to the memory unit. The arithmetic unit performs logical, arithmetic, and bit-shifting operations. Central Unit (CU) Another important part of the computer‟s central processing unit (CPU) is the control unit (CU). The control unit, which coordinates and controls other functional units of the computer, is sometimes known as the “central nervous system” of the machine. All CPU functions, including ALU operations and data flow inside the CPU, are under the direction of CU. The CU plays some important functions in the system which are:- 1. When data is received from users via input devices, the control unit informs the input unit where to keep it. 2. The control unit (CU) gets one instruction at a time from memory and then executes the instruction at ALU during program execution; thus, the Govern unit also serves to control the flow of data and instructions from memory to ALU. 3. And the result of the calculation provided by ALU is given over to CU, which directs it back to memory as well as to the output unit for display on the screen. The Control Unit (CU) manages the flow of data from the ALU to the memory and output units. Memory Unit (MU) The memory unit is responsible for storing data and information for the computer‟s other functional components. The computer‟s memory unit stores the data and information received from the input unit before it is processed by the central processing unit (CPU). A memory unit is also known as a memory unit. The memory unit also plays some major functions in the system, which are:- 1. The data received from the input unit is stored in the memory unit. 2. Data and information are passed to the CPU for further processing. 3. Variable stores any data or instructions created by the CPU during intermediate processing. 4. After that, the variable stores the final result of data processing in the CPU. 5. Finally, sends the processed data results to the output devices. 6. It also stores data and information for future use. The Memory Unit is divided into two categories:- Primary Memory The primary memory is the most quickly accessible memory unit. These memories require relatively little time to receive and deliver data for processing. The Control Unit and Arithmetic Logic Unit are also close to the primary memory. This memory is typically used to store the program that is now running in the CPU, data received by the input unit, and intermediate and final program results stored and transmitted from memory to the CPU and back. The primary memory is temporary and volatile. It means that if the computer is turned off, the data is permanently erased. As a result, it cannot store data for an extended period of time. In order to prevent data loss, the primary memory sends the data to the computer‟s secondary memory. Secondary Memory Secondary memory capacity ranges from gigabytes to terabytes, and it serves as an archive for the computer system. Secondary memory can be used to store application programs, documents, films, audio, databases, and so on. Data and information transmission and reception are slower than in primary memory. The Central Processing Unit (CPU) is the location where programs are executed. Even before the CPU begins program execution, it must request that the secondary memory load the program‟s key instructions and information from the secondary memory into the primary memory, after which program execution begins. Block Diagram of Computer Processing Unit (CPU) The Central Process unit or CPU is configured with various components, including the ALU(arithmetic logic unit), control unit, registers, and memory unit. The arithmetic logic unit holds out arithmetic and logic operations, and the control unit interprets and executes instructions. Registers are one of the temporary memory locations that store data and instructions being processed. In the last, the CPU is connected to the main memory, which keeps data and instructions that the CPU will access. Types of computers A computer is a device that converts data into meaningful information, processes the input based on the set of instructions provided by the user, and produces the desired output. Computers are classified into two categories based on the size of computers and based on the data handling abilities of the computer, as shown in the image below: Different types of computers based on size On the basis of size, computers can be divided into five categories, such as: Supercomputer Mainframe computer Minicomputer Workstation PC Supercomputer Let's explain the type of computer known as a supercomputer and its significance in modern computing. Supercomputers are the largest and fastest computers, capable of processing trillions of functions in seconds. These computers are primarily used for data-intensive and computation- intensive scientific tasks such as password encryption and decryption, weather forecasting, exploring the solar system, molecular modeling, etc. Some of the advantages of using this type of computer are: Enables virtual testing Calculates up to ten trillion individual calculations per second Allows you to decrypt and encrypt your password easily Solves more significant issues and can be used for research and development Runs more problems in less time and has advanced graphic capabilities Some of the disadvantages of using this type of computer are: It is pricey and takes up a lot of space. This type of computer necessitates the use of trained personnel. It is not suitable for day-to-day operations and is best suited for specific applications. Mainframe computer Mainframe computers have a large amount of memory and processors and can perform billions of transactions and simple calculations in real time. This type of computer is primarily used for transaction servers, commercial databases, and applications that require high reliability, security, and speed. These are the computers to have when „0‟ downtime is acceptable. Some of the advantages of using this type of computer are: Manages terabytes of data in databases Handles high-bandwidth communication with ease Processes thousands of transactions per second on a large scale Support thousands of users and application programs accessing numerous resources at the same time Some of the disadvantages of using this type of computer are: A mainframe computer has significantly more expensive than a regular computer. A mainframe computer requires more space, and a regular person cannot perform maintenance. Because of the hardware components, installing a mainframe computer is more complex than installing a regular computer. Environmental constraints must be met when placing mainframe computers, such as the temperature of the surroundings should not be excessively high. Minicomputer Minicomputers are smaller, less expensive, and less powerful than mainframes or supercomputers but more pricey and powerful than personal computers. These computers are multi-user systems with more than one user working simultaneously. These computers are primarily used for engineering and scientific computations, file management, business transaction processing, and other similar tasks. Some of the advantages of using these types of computers are: Mini computers are inexpensive. Suitable for both private and commercial usage Due to their small size, it is easy to transport and use these types of computers. This computer makes no noise during operation because it lacks heat dissipation via fans. Some of the disadvantages of using these types of computers are: These computers do not have either a CD or a DVD drive. The screen size in these types of computers is small, as is the keyboard. These computers cannot be upgraded because the hardware components inside are fixed. Because they have limited RAM space, these computers cannot store large amounts of data. Workstation Now let's explain the type of computer known as a workstation and its significance in modern computing. A workstation is a computer or group of computers used primarily by a single user to perform professional or commercial work. These types of computers have more computational (processing) power than a standard PC. They are primarily used for video editing, playing high- graphic games, 3D animation, etc. Some of the advantages of using these types of computers are: These computers are designed to last a long time. This computer performs better than a personal computer. If an issue or problem arises in these computers, it is simple to diagnose. These computers have a larger keyboard than a laptop and are simple to use. It has more memory than a PC and multiple processors attached to it. These computers are easily scalable as you necessitate more memory and processing power. Some of the disadvantages of using these types of computers are: Since these types of computers are larger than laptops, they are more challenging to transport. These computers are extremely heavy, which makes them difficult to move and transport. PC A PC or personal computer or microcomputer, is a general-purpose computer for personal use. This type of computer comprises a CPU, memory, an input unit, and an output unit. This type of computer is appropriate for personal tasks such as watching a movie, completing an assignment, etc. Some of the advantages of using these types of computers are: These computers require little maintenance These computers are small in size and very easy to use This type of computer can be customized to meet the user‟s needs. These computers have a large amount of disc space, allowing for storing a large amount of data. These computers have more RAM, graphics cards, GPU, and hard drive slots, making them easily upgradeable. Some of the disadvantages of using these types of computers are: There is no battery backup on desktop computers. A desktop PC requires a dedicated room to be installed. A desktop PC always requires a separate mouse, keyboard, and monitor. Definition of Computer / What is Computer ? The term computer is derived from the Latin term „computare‟, this means to calculate. "Computer" word was used firstly in the 1640s; it was used to represent “the person who calculates". The use of the term to mean "calculating machine” is from 1897 The "modern use" of the term, to mean "programmable digital electronic computer" started from 1945; (Source : Wikipedia) Definition of Computer : A computer is a device that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming. Modern computers have the ability to follow generalized sets of operations, called programs. These programs enable computers to perform an extremely wide range of tasks. Or A Computer is an electronic device or machine that can perform arithmetic operations like addition , subtraction, multiplication, division etc. as well as logical operations like comparisons at very high speed. A computer is also called a data processor because it can store , process and retrieve data whenever desired. Or Computer is an electronic device that can receive data through the input unit, store the data in memory unit, processes the data in Arithmetic and Logic Unit (ALU) with the help of computer software and finally give the results through output unit. Charles Babbage 1791 – 1871 from England was a mathematician, philosopher, inventor who originated the concept of a digital programmable computer. He is considered as a "father of the computer" for his essential ideas of modern computers and invention of analytical engine in 1937. Characteristics of Computer The characteristics of the computer are as follow: 1. Automatic : Computers are automatic, once started they carry out their jobs automatically without human intervention. 2. Speed : Computers processing speed is very fast. Most of the modern computers (Ghz or 109 instructions per second processing speed) can process billions of instruction in one second. Multi core processor architecture has further enhanced the processing speed of the computers. 3. Accuracy : Computer performs every calculation with the same accuracy. Computer can give wrong outputs only when the inputs supplied to it are wrong. 4. Diligence : Computer is free from monotony, tiredness and lack of concentration. It can keep continuously working for years. 5. Versatility: Computer can perform variety of tasks such as word processing, web browsing, gaming, database management etc. 6. Memory : Computer can store huge amount of data in its memory and can recall any piece of information whenever required. 7. No I.Q. : Computer do not have any intelligence. We have to give it instructions what to do and how to do. Moreover, it can respond to only those instructions which are already fed into it. 8. No Feeling : Computers do not have any feeling, they do not have any sense of joy, love, success, failure etc. Applications of Computers 1. Standalone Applications. A stand alone application is one, through which a computer can perform all its tasks on its own without the need of communication with other computer systems. Applications Examples Applications Nature of use Name of Application Office Writing documents, doing calculations, MS Office, Open Office preparing presentation Multimedia Drawing and Painting, Watching videos , MS Paint, Windows media Composing / Listening Music , Photograph Player, VLC, Photoshop editing Programming Write Computer Programs using computer Turbo C, Visual Studio, software‟s Python 2. Internet applications. The applications which are accessible from any computer by using the network/ Internet are known as Internet applications. These devices work upon client-server model and use browser or application specific software‟s for accessing Internet applications. Applications Nature of use Name of Application Web Searching/ browsing To search desired information Google, Bing, Baidu etc. on Internet. Communication Sending Emails, messages, Gmail, Yahoomail, Facebook, photos, videos, meme etc Twitter etc. Transaction Booking Tickets, ATM, Net Websites/ Mobile Apps of R Banking, Online shopping etc. Education Online courses, Online books, NPTEL, MOOC, SWYAM, video lectures etc. ShoduSindhu etc. Entertainment Online TV & Radio, Watching Youtube, tiktok, Amazon movies, videos, listen to prime, NetFlix etc. music, Online video games etc. 3. Special purpose applications. The applications which are developed for some specific purpose comes under this category e.g. Applications Nature of use Climate Forecasting The applications which are used by weather analysts to predict daily weather and rain, earthquakes, cyclones. Defence Applications used by defence personnel for missile targeting, unmanned aircrafts. Cellular Applications used by mobile service providers for mobile Communication communication. Space Applications used by space agencies like ISRO, NASA for monitoring satellite data and space mission Medicine Medical equipments such as CT SCAN, ECG, echo cardiography, ultrasound etc used to diagnose patient conditions. 4. Embedded applications Embedded applications are those which are used to control a device and provide a user interface. Applications Nature of use Appliances Mobile phones, GPS, Microware ovens, washing machines , video gaming consoles etc. are controlled by specific embedded applications. Smartcards These cards contains a chip that store users data. The examples of such cards are Dabit/Credit Card, SIM Card, Entry Card etc. Self Diagnostic devices The devices which are used to test Blood Sugar, Blood Pressure etc. Robots The machine that is controlled by complex computer programs and can be used in the field of manufacturing, surgery, defence etc. Number System In a digital system, the system can understand only the optional number system. In these systems, digits symbols are used to represent different values, depending on the index from which it settled in the number system. In simple terms, for representing the information, we use the number system in the digital system. The digit value in the number system is calculated using: 1. The digit 2. The index, where the digit is present in the number. 3. Finally, the base numbers, the total number of digits available in the number system. Note: When the number system represents a digit from 0 - 9, the base of the number will be 10. Types of Number System In the digital computer, there are various types of number systems used for representing information. 1. Binary Number System 2. Decimal Number System 3. Hexadecimal Number System 4. Octal Number System Binary Number System Generally, a binary number system is used in the digital computers. In this number system, it carries only two digits, either 0 or 1. There are two types of electronic pulses present in a binary number system. The first one is the absence of an electronic pulse representing '0'and second one is the presence of electronic pulse representing '1'. Each digit is known as a bit. A four-bit collection (1101) is known as a nibble, and a collection of eight bits (11001010) is known as a byte. The location of a digit in a binary number represents a specific power of the base (2) of the number system. Characteristics: 1. It holds only two values, i.e., either 0 or 1. 2. It is also known as the base 2 number system. 3. The position of a digit represents the 0 power of the base(2). Example: 20 4. The position of the last digit represents the x power of the base(2). Example: 2x, where x represents the last position, i.e., 1 Examples: (10100)2, (11011)2, (11001)2, (000101)2, (011010)2. Decimal Number System The decimal numbers are used in our day to day life. The decimal number system contains ten digits from 0 to 9(base 10). Here, the successive place value or position, left to the decimal point holds units, tens, hundreds, thousands, and so on. The position in the decimal number system specifies the power of the base (10). The 0 is the minimum value of the digit, and 9 is the maximum value of the digit. For example, the decimal number 2541 consist of the digit 1 in the unit position, 4 in the tens position, 5 in the hundreds position, and 2 in the thousand positions and the value will be written as: (2×1000) + (5×100) + (4×10) + (1×1) (2×103) + (5×102) + (4×101) + (1×100) 2000 + 500 + 40 + 1 2541 Octal Number System The octal number system has base 8(means it has only eight digits from 0 to 7). There are only eight possible digit values to represent a number. With the help of only three bits, an octal number is represented. Each set of bits has a distinct value between 0 and 7. Below, we have described certain characteristics of the octal number system: Characteristics: 1. An octal number system carries eight digits starting from 0, 1, 2, 3, 4, 5, 6, and 7. 2. It is also known as the base 8 number system. 3. The position of a digit represents the 0 power of the base(8). Example: 80 4. The position of the last digit represents the x power of the base(8). Example: 8x, where x represents the last position, i.e., 1 Number Octal Number 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Examples: (273)8, (5644)8, (0.5365)8, (1123)8, (1223)8. Hexadecimal Number System It is another technique to represent the number in the digital system called the hexadecimal number system. The number system has a base of 16 means there are total 16 symbols(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) used for representing a number. The single-bit representation of decimal values10, 11, 12, 13, 14, and 15 are represented by A, B, C, D, E, and F. Only 4 bits are required for representing a number in a hexadecimal number. Each set of bits has a distinct value between 0 and 15. There are the following characteristics of the octal number system: Characteristics: 1. It has ten digits from 0 to 9 and 6 letters from A to F. 2. The letters from A to F defines numbers from 10 to 15. 3. It is also known as the base 16number system. 4. In hexadecimal number, the position of a digit represents the 0 power of the base(16). Example: 160 5. In hexadecimal number, the position of the last digit represents the x power of the base(16). Example: 16x, where x represents the last position, i.e., 1 Binary Number Hexadecimal Number 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Examples: (FAC2)16, (564)16, (0ABD5)16, (1123)16, (11F3)16. Number Base Conversion In our previous section, we learned different types of number systems such as binary, decimal, octal, and hexadecimal. In this part of the tutorial, we will learn how we can change a number from one number system to another number system. As, we have four types of number systems so each one can be converted into the remaining three systems. There are the following conversions possible in Number System 1. Binary to other Number Systems. 2. Decimal to other Number Systems. 3. Octal to other Number Systems. 4. Hexadecimal to other Number Systems. Binary to other Number Systems There are three conversions possible for binary number, i.e., binary to decimal, binary to octal, and binary to hexadecimal. The conversion process of a binary number to decimal differs from the remaining others. Let's take a detailed discussion on Binary Number System conversion. Binary to Decimal Conversion The process of converting binary to decimal is quite simple. The process starts from multiplying the bits of binary number with its corresponding positional weights. And lastly, we add all those products. Let's take an example to understand how the conversion is done from binary to decimal. Example 1: (10110.001)2 We multiplied each bit of (10110.001)2 with its respective positional weight, and last we add the products of all the bits with its weight. (10110.001)2=(1×24)+(0×23)+(1×22)+(1×21)+(0×20)+ (0×2-1)+(0×2-2)+(1×2-3) (10110.001)2=(1×16)+(0×8)+(1×4)+(1×2)+(0×1)+ (0×1⁄2)+(0×1⁄4)+(1×1⁄8) (10110.001)2=16+0+4+2+0+0+0+0.125 (10110.001)2=(22.125 )10 Binary to Octal Conversion The base numbers of binary and octal are 2 and 8, respectively. In a binary number, the pair of three bits is equal to one octal digit. There are only two steps to convert a binary number into an octal number which are as follows: 1. In the first step, we have to make the pairs of three bits on both sides of the binary point. If there will be one or two bits left in a pair of three bits pair, we add the required number of zeros on extreme sides. 2. In the second step, we write the octal digits corresponding to each pair. Example 1: (111110101011.0011)2 1. Firstly, we make pairs of three bits on both sides of the binary point. 111 110 101 011.001 1 On the right side of the binary point, the last pair has only one bit. To make it a complete pair of three bits, we added two zeros on the extreme side. 111 110 101 011.001 100 2. Then, we wrote the octal digits, which correspond to each pair. (111110101011.0011)2=(7653.14)8 Binary to Hexadecimal Conversion The base numbers of binary and hexadecimal are 2 and 16, respectively. In a binary number, the pair of four bits is equal to one hexadecimal digit. There are also only two steps to convert a binary number into a hexadecimal number which are as follows: 1. In the first step, we have to make the pairs of four bits on both sides of the binary point. If there will be one, two, or three bits left in a pair of four bits pair, we add the required number of zeros on extreme sides. 2. In the second step, we write the hexadecimal digits corresponding to each pair. Example 1: (10110101011.0011)2 1. Firstly, we make pairs of four bits on both sides of the binary point. 111 1010 1011.0011 On the left side of the binary point, the first pair has three bits. To make it a complete pair of four bits, add one zero on the extreme side. 0111 1010 1011.0011 2. Then, we write the hexadecimal digits, which correspond to each pair. (011110101011.0011)2=(7AB.3)16 Decimal to other Number System The decimal number can be an integer or floating-point integer. When the decimal number is a floating-point integer, then we convert both part (integer and fractional) of the decimal number in the isolated form(individually). There are the following steps that are used to convert the decimal number into a similar number of any base 'r'. 1. In the first step, we perform the division operation on integer and successive part with base 'r'. We will list down all the remainders till the quotient is zero. Then we find out the remainders in reverse order for getting the integer part of the equivalent number of base 'r'. In this, the least and most significant digits are denoted by the first and the last remainders. 2. In the next step, the multiplication operation is done with base 'r' of the fractional and successive fraction. The carries are noted until the result is zero or when the required number of the equivalent digit is obtained. For getting the fractional part of the equivalent number of base 'r', the normal sequence of carrying is considered. Decimal to Binary Conversion For converting decimal to binary, there are two steps required to perform, which are as follows: 1. In the first step, we perform the division operation on the integer and the successive quotient with the base of binary(2). 2. Next, we perform the multiplication on the integer and the successive quotient with the base of binary(2). Example 1: (152.25)10 Step 1: Divide the number 152 and its successive quotients with base 2. Operation Quotient Remainder 152/2 76 0 (LSB) 76/2 38 0 38/2 19 0 19/2 9 1 9/2 4 1 4/2 2 0 2/2 1 0 1/2 0 1(MSB) (152)10=(10011000)2 Step 2: Now, perform the multiplication of 0.27 and successive fraction with base 2. Operation Result carry 0.25×2 0.50 0 0.50×2 0 1 (0.25)10=(.01)2 Decimal to Octal Conversion For converting decimal to octal, there are two steps required to perform, which are as follows: 1. In the first step, we perform the division operation on the integer and the successive quotient with the base of octal(8). 2. Next, we perform the multiplication on the integer and the successive quotient with the base of octal(8). Example 1: (152.25)10 Step 1: Divide the number 152 and its successive quotients with base 8. Operation Quotient Remainder 152/8 19 0 19/8 2 3 2/8 0 2 (152)10=(230)8 Step 2: Now perform the multiplication of 0.25 and successive fraction with base 8. Operation Result carry 0.25×8 0 2 (0.25)10=(2)8 So, the octal number of the decimal number 152.25 is 230.2 Decimal to hexadecimal conversion For converting decimal to hexadecimal, there are two steps required to perform, which are as follows: 1. In the first step, we perform the division operation on the integer and the successive quotient with the base of hexadecimal (16). 2. Next, we perform the multiplication on the integer and the successive quotient with the base of hexadecimal (16). Example 1: (152.25)10 Step 1: Divide the number 152 and its successive quotients with base 8. Operation Quotient Remainder 152/16 9 8 9/16 0 9 (152)10=(98)16 Step 2: Now perform the multiplication of 0.25 and successive fraction with base 16. Operation Result carry 0.25×16 0 4 (0.25)10=(4)16 So, the hexadecimal number of the decimal number 152.25 is 230.4. Octal to other Number System Like binary and decimal, the octal number can also be converted into other number systems. The process of converting octal to decimal differs from the remaining one. Let's start understanding how conversion is done. Octal to Decimal Conversion The process of converting octal to decimal is the same as binary to decimal. The process starts from multiplying the digits of octal numbers with its corresponding positional weights. And lastly, we add all those products. Let's take an example to understand how the conversion is done from octal to decimal. Example 1: (152.25)8 Step 1: We multiply each digit of 152.25 with its respective positional weight, and last we add the products of all the bits with its weight. (152.25)8=(1×82)+(5×81)+(2×80)+(2×8-1)+(5×8-2) (152.25)8=64+40+2+(2×1⁄8)+(5×1⁄64) (152.25)8=64+40+2+0.25+0.078125 (152.25)8=106.328125 So, the decimal number of the octal number 152.25 is 106.328125 Octal to Binary Conversion The process of converting octal to binary is the reverse process of binary to octal. We write the three bits binary code of each octal number digit. Example 1: (152.25)8 We write the three-bit binary digit for 1, 5, 2, and 5. (152.25)8=(001101010.010101)2 So, the binary number of the octal number 152.25 is (001101010.010101)2 Octal to hexadecimal conversion For converting octal to hexadecimal, there are two steps required to perform, which are as follows: 1. In the first step, we will find the binary equivalent of number 25. 2. Next, we have to make the pairs of four bits on both sides of the binary point. If there will be one, two, or three bits left in a pair of four bits pair, we add the required number of zeros on extreme sides and write the hexadecimal digits corresponding to each pair. Example 1: (152.25)8 Step 1: We write the three-bit binary digit for 1, 5, 2, and 5. (152.25)8=(001101010.010101)2 So, the binary number of the octal number 152.25 is (001101010.010101)2 Step 2: 1. Now, we make pairs of four bits on both sides of the binary point. 0 0110 1010.0101 01 On the left side of the binary point, the first pair has only one digit, and on the right side, the last pair has only two-digit. To make them complete pairs of four bits, add zeros on extreme sides. 0000 0110 1010.0101 0100 2. Now, we write the hexadecimal digits, which correspond to each pair. (0000 0110 1010.0101 0100)2=(6A.54)16 Hexa-decimal to other Number System Like binary, decimal, and octal, hexadecimal numbers can also be converted into other number systems. The process of converting hexadecimal to decimal differs from the remaining one. Let's start understanding how conversion is done. Hexa-decimal to Decimal Conversion The process of converting hexadecimal to decimal is the same as binary to decimal. The process starts from multiplying the digits of hexadecimal numbers with its corresponding positional weights. And lastly, we add all those products. Let's take an example to understand how the conversion is done from hexadecimal to decimal. Example 1: (152A.25)16 Step 1: We multiply each digit of 152A.25 with its respective positional weight, and last we add the products of all the bits with its weight. (152A.25)16=(1×163)+(5×162)+(2×161)+(A×160)+(2×16-1)+(5×16-2) (152A.25)16=(1×4096)+(5×256)+(2×16)+(10×1)+(2×16-1)+(5×16-2) (152A.25)16=4096+1280+32+10+(2×1⁄16)+(5×1⁄256) (152A.25)16=5418+0.125+0.125 (152A.25)16=5418.14453125 So, the decimal number of the hexadecimal number 152A.25 is 5418.14453125 Hexadecimal to Binary Conversion The process of converting hexadecimal to binary is the reverse process of binary to hexadecimal. We write the four bits binary code of each hexadecimal number digit. Example 1: (152A.25)16 We write the four-bit binary digit for 1, 5, A, 2, and 5. (152A.25)16=(0001 0101 0010 1010.0010 0101)2 So, the binary number of the hexadecimal number 152.25 is (1010100101010.00100101)2 Hexadecimal to Octal Conversion For converting hexadecimal to octal, there are two steps required to perform, which are as follows: 1. In the first step, we will find the binary equivalent of the hexadecimal number. 2. Next, we have to make the pairs of three bits on both sides of the binary point. If there will be one or two bits left in a pair of three bits pair, we add the required number of zeros on extreme sides and write the octal digits corresponding to each pair. Example 1: (152A.25)16 Step 1: We write the four-bit binary digit for 1, 5, 2, A, and 5. (152A.25)16=(0001 0101 0010 1010.0010 0101)2 So, the binary number of hexadecimal num ber 152A.25 is (0011010101010.010101)2 Step 2: 3. Then, we make pairs of three bits on both sides of the binary point. 001 010 100 101 010.001 001 010 4. Then, we write the octal digit, which corresponds to each pair. (001010100101010.001001010)2=(12452.112)8 So, the octal number of the hexadecimal number 152A.25 is 12452.112 Chapter 2 Operating System An operating system (OS) is a program that acts as an interface between the system hardware and the user. Moreover, it handles all the interactions between the software and the hardware. All the working of a computer system depends on the OS at the base level. Further, it performs all the functions like handling memory, processes, the interaction between hardware and software, etc. Now, let us look at the functions of operating system. Objectives of OS The primary goals of an operating system are as follows: Convenience – An operating system improves the use of a machine. Operating systems enable users to get started on the things they wish to complete quickly without having to cope with the stress of first configuring the system. Efficiency – An operating system enables the efficient use of resources. This is due to less time spent configuring the system. Ability to evolve – An operating system should be designed in such a way that it allows for the effective development, testing, and introduction of new features without interfering with service. Management of system resources – It guarantees that resources are shared fairly among various processes and users. Functions of Operating System 1. Memory Management It is the management of the main or primary memory. Whatever program is executed, it has to be present in the main memory. Main memory is a quick storage area that may be accessed directly by the CPU. When the program is completed, the memory region is released and can be used by other programs. Therefore, there can be more than one program present at a time. Hence, it is required to manage the memory. The operating system: Allocates and deallocates the memory. Keeps a record of which part of primary memory is used by whom and how much. Distributes the memory while multiprocessing. In multiprogramming, the operating system selects which processes acquire memory when and how much memory they get. 2. Processor Management/Scheduling Every software that runs on a computer, whether in the background or in the frontend, is a process. Processor management is an execution unit in which a program operates. The operating system determines the status of the processor and processes, selects a job and its processor, allocates the processor to the process, and de-allocates the processor after the process is completed. When more than one process runs on the system the OS decides how and when a process will use the CPU. Hence, the name is also CPU Scheduling. The OS: Allocates and deallocates processor to the processes. Keeps record of CPU status. Certain algorithms used for CPU scheduling are as follows: First Come First Serve (FCFS) Shortest Job First (SJF) Round-Robin Scheduling Priority-based scheduling etc. Purpose of CPU scheduling The purpose of CPU scheduling is as follows: Proper utilization of CPU. Since the proper utilization of the CPU is necessary. Therefore, the OS makes sure that the CPU should be as busy as possible. Since every device should get a chance to use the processor. Hence, the OS makes sure that the devices get fair processor time. Increasing the efficiency of the system. 3. Device Management An operating system regulates device connection using drivers. The processes may require devices for their use. This management is done by the OS. The OS: Allocates and deallocates devices to different processes. Keeps records of the devices. Decides which process can use which device for how much time. 4. File Management The operating system manages resource allocation and de-allocation. It specifies which process receives the file and for how long. It also keeps track of information, location, uses, status, and so on. These groupings of resources are referred to as file systems. The files on a system are stored in different directories. The OS: Keeps records of the status and locations of files. Allocates and deallocates resources. Decides who gets the resources. 5. Storage Management Storage management is a procedure that allows users to maximize the utilization of storage devices while also protecting data integrity on whatever media on which it lives. Network virtualization, replication, mirroring, security, compression, deduplication, traffic analysis, process automation, storage provisioning, and memory management are some of the features that may be included. The operating system is in charge of storing and accessing files. The creation of files, the creation of directories, the reading and writing of data from files and directories, as well as the copying of the contents of files and directories from one location to another are all included in storage management. The OS uses storage management for: Improving the performance of the data storage resources. It optimizes the use of various storage devices. Assists businesses in storing more data on existing hardware, speeding up the data retrieval process, preventing data loss, meeting data retention regulations, and lowering IT costs What are the functions of Operating System Security – For security, modern operating systems employ a firewall. A firewall is a type of security system that monitors all computer activity and blocks it if it detects a threat. Job Accounting – As the operating system keeps track of all the functions of a computer system. Hence, it makes a record of all the activities taking place on the system. It has an account of all the information about the memory, resources, errors, etc. Therefore, this information can be used as and when required. Control over system performance – The operating system will collect consumption statistics for various resources and monitor performance indicators such as reaction time, which is the time between requesting a service and receiving a response from the system. Error detecting aids – While a computer system is running, a variety of errors might occur. Error detection guarantees that data is delivered reliably across susceptible networks. The operating system continuously monitors the system to locate or recognize problems and protects the system from them. Coordination between other software and users – The operating system (OS) allows hardware components to be coordinated and directs and allocates assemblers, interpreters, compilers, and other software to different users of the computer system. Booting process – The process of starting or restarting a computer is referred to as Booting. Cold booting occurs when a computer is totally turned off and then turned back on. Warm booting occurs when the computer is restarted. The operating system (OS) is in charge of booting the computer. Types of Operating System The operating system can be of different types. They are as follows: 1. Batch OS In this system, the OS does not forward the jobs/tasks directly to the CPU. It works by grouping together similar types of jobs under one category. Further, we name this group as a „batch‟. Hence, the name batch OS. Examples are the payroll system, bank statement, etc. 2. Time-Shared OS When more than one task takes place on the system it is called time-shared OS. As multiple tasks can run at the system at a time as per requirement. Hence, they all share the CPU time one by one. Therefore, we also name it multitasking. The time that each task gets is called quantum. A fixed interval of time is decided for each task. When the first task executes for that period of time, the second task executes, and so on. Examples are UNIX etc. 3. Distributed OS In this system, there is more than one CPU present. The OS distributes the tasks among all the processors. The processors do not share any memory or clock time. OS handles all communication between them through various communication lines. Examples are LOCUS etc. 4. Network OS In these OS various systems are connected to a server. It allows the system to share resources such as files, printers, applications, etc. Moreover, it gives the capability to serve to manage these resources. Examples are UNIX, LINUX, Microsoft Windows Server 2008, etc. 5. Real-Time OS (RTOS) In these systems, the time interval for processing and responding to inputs is very small. Therefore, due to this quality, these are used in real-time situations. For example in missile systems, robots, etc. Real time OS have two categories as follows: a) Hard Real-Time Systems In this, the time constraint is very short and strict. Even seconds of delay is not acceptable. b) Soft Real-Time Systems In this, the time constraint is not so short and strict. Comparison Between DOS, Windows, And Linux Feature DOS WINDOWS LINUX Developed by Developed by Linux is developed by Open Development Microsoft. Microsoft. Source Development. License Proprietary Proprietary Open-source It supports a Text- It supports both Command- It supports Graphical Based/ Command- line interfaces/Graphical user User Interface Interface line interface. interfaces. DOS is unable to run multiple Windows supports Linux supports multitasking processes at the multitasking Multitasking same time. DOS was Windows was Linux is distributed by distributed by distributed by various vendors, such as Red Distribution Microsoft. Microsoft. Hat, Fedora, etc. Linux can be installed on a Windows can be DOS can be wide variety of computer installed on PC installed on hardware, mobile phones, desktops, laptops, standalone PC and video game consoles to servers, and some desktops or laptops. mainframes and mobile phones. Usage supercomputers. Expansions for It is possible to change DOS can be the background and One can rewrite the code for downloaded so that general color schemes Linux so that it can be one can customize and fonts for windows customized further. Customization them. desktops. DOS is not very Windows is not even Linux is very reliable and is reliable because it reliable, with it known for being run for crashes easily if a crashing/needing to be months or even years without program doesn‟t restarted all the time. needing to be rebooted. Reliability open properly or a Feature DOS WINDOWS LINUX wrong command is issued. DOS is not very Easy to manage. Difficult to manage. Management easy to manage. DOS is free of It is not free. Linux is free to download. Cost charge to download. DOS is a single- Windows is a multi- Linux is a multi-user user operating user operating system. operating system. User- Support system. Chapter 3 Memory Management Concept Computer memory is a technology for data storage which helps to store and save data on a temporary or permanent basis. The binary formation (0 and 1) is used to store the data, and leverage the users to save and access the data anytime as per the requirement of the user. Memory is a fundamental component of computing systems, essential for performing various tasks efficiently. It plays a crucial role in how computers operate, influencing speed, performance, and data management. In the realm of computer memory, two primary types stand out: Random Access Memory (RAM) and Read-Only Memory (ROM). Understanding the difference between RAM and ROM is vital for appreciating their respective roles in a computer‟s operation. While RAM enables efficient processing and multitasking, ROM provides the necessary stability and reliability for system functions. Together, these memory types ensure that computers can operate smoothly and effectively in a digital landscape. Types Of Memory in Computer Primary Memory RAM (Random Access Memory): SRAM, DRAM ROM (Read-Only Memory): MROM, PROM, EPROM, EEPROM Secondary Memory o Solid-state storage devices o Optical storage devices o Magnetic storage devices Random Access Memory (RAM) Random Access Memory (RAM) is a type of computer memory that is used to temporarily store data that the computer is currently using or processing. RAM is volatile memory, which means that the data stored in it is lost when the power is turned off. RAM is typically used to store the operating system, application programs, and data that the computer is currently using. It is also called read-write memory or the main memory or the primary memory. The programs and data that the CPU requires during the execution of a program are stored in this memory. It is a volatile memory as the data is lost when the power is turned off. Types of Random Access Memory (RAM) Static RAM (SRAM) Dynamic RAM (DRAM) 1. Static RAM: SRAM stands for Static Random Access Memory. It is a type of semiconductor which is widely used in computing devices and microprocessors. 2. Dynamic RAM: DRAM stands for Dynamic Random Access Memory. It is made of Capacitors and has smaller data life span than Static RAM. Difference Between DRAM and SRAM Parameter DRAM SRAM Constructed of tiny capacitors that leak Constructed of circuits similar Construction electricity. to D flip-flops. Parameter DRAM SRAM Requires a recharge every few Holds its contents as long as Data Retention milliseconds to maintain its data. power is available. Cost Inexpensive. Expensive. Speed Slower than SRAM. Faster than DRAM. Can not store many bits per Can store many bits per chip. Storage Capacity chip. Power Uses less power. Uses more power. Consumption Heat Generation Generates less heat. Generates more heat. Typical Usage Used for main memory. Used for cache. Advantages of Random Access Memory (RAM) Speed: RAM is much faster than other types of storage, such as a hard drive or solid-state drive, which means that the computer can access the data stored in RAM more quickly. Flexibility: RAM is volatile memory, which means that the data stored in it can be easily modified or deleted. This makes it ideal for storing data that the computer is currently using or processing. Capacity: The capacity of RAM can be easily upgraded, which allows the computer to store more data in memory and thus improve performance. Power Management: RAM consumes less power compared to hard drives, and solid-state drives, which makes it an ideal memory for portable devices. Disadvantages of Random Access Memory (RAM) Volatility: RAM is volatile memory, which means that the data stored in it is lost when the power is turned off. This can be a problem for important data that needs to be preserved, such as unsaved work or files that have not been backed up. Capacity: The capacity of RAM is limited, and although it can be upgraded, it may still not be sufficient for certain applications or tasks that require a lot of memory. Cost: RAM can be relatively expensive compared to other types of memory, such as hard drives or solid-state drives, which can make upgrading the memory of a computer or device more costly. Read Only Memory (ROM) is a type of computer memory that is used to permanently store data that does not need to be modified. ROM is non-volatile memory, which means that the data stored in it is retained even when the power is turned off. ROM is typically used to store the computer‟s BIOS (basic input/output system), which contains the instructions for booting the computer, as well as firmware for other hardware devices. Stores crucial information essential to operate the system, like the program essential to boot the computer. It is non-volatile. Always retains its data. Used in embedded systems or where the programming needs no change. Used in calculators and peripheral devices. ROM is further classified into four types- MROM, PROM, EPROM, and EEPROM. Types of Read-Only Memory (ROM) 1. PROM (Programmable Read-Only Memory) 2. EPROM (Erasable Programmable Read Only Memory) 3. EEPROM (Electrically Erasable Programmable Read Only Memory) 4. MROM (Mask Read Only Memory) 1. PROM (Programmable read-only memory): It can be programmed by the user. Once programmed, the data and instructions in it cannot be changed. 2. EPROM (Erasable Programmable read-only memory): It can be reprogrammed. To erase data from it, expose it to ultraviolet light. To reprogram it, erase all the previous data. 3. EEPROM (Electrically erasable programmable read-only memory): The data can be erased by applying an electric field, with no need for ultraviolet light. We can erase only portions of the chip. 4. MROM(Mask ROM): Mask ROM is a kind of read-only memory, that is masked off at the time of production. Like other types of ROM, mask ROM cannot enable the user to change the data stored in it. If it can, the process would be difficult or slow. Advantages of Read Only Memory (ROM) Non-volatility: ROM is non-volatile memory, which means that the data stored in it is retained even when the power is turned off. This makes it ideal for storing data that does not need to be modified, such as the BIOS or firmware for other hardware devices. Reliability: Because the data stored in ROM is not easily modified, it is less prone to corruption or errors than other types of memory. Power Management: ROM consumes less power compared to other types of memory, which makes it an ideal memory for portable devices. Disadvantages of Read Only Memory (ROM) Limited Flexibility: ROM is read-only memory, which means that the data stored in it cannot be modified. This can be a problem for applications or firmware that need to be updated or modified. Limited Capacity: The capacity of ROM is typically limited, and upgrading it can be difficult or expensive. Cost: ROM can be relatively expensive compared to other types of memory, such as hard drives or solid-state drives, which can make upgrading the memory of a computer or device more costly. Difference Between RAM and ROM Parameter RAM ROM Storage Type Temporary Storage. Permanent Storage. Storage Capacity Store data in MBs. Store data in GBs. Data Volatility Volatile. Non-volatile. Parameter RAM ROM Usage Used in normal operations. Used for startup process of computer. Data Writing Speed Writing data is faster. Writing data is slower.