COMPUTER: A computer is an electronic device that performs processes, calculations and operations based on instructions provided by a software or hardware program. It has the ability to accept data (input), process it, and then produce outputs Computer input is called data and the output obtained after processing it, based on user’s instructions is called information. Data: Raw facts and figures which can be processed using arithmetic and logical operations to obtain information are called data. Information: Information is the processed data on which decisions and actions are based. The processes that can be applied to data are of two types − • Arithmetic operations − Examples include calculations like addition, subtraction, differentials, square root, etc. • Logical operations − Examples include comparison operations like greater than, less than, equal to, opposite, etc. The corresponding figure for an actual computer looks something like this − The basic parts of a computer are as follows − • • • • • Input Unit − Devices like keyboard and mouse that are used to input data and instructions to the computer are called input unit. Output Unit − Devices like printer and visual display unit that are used to provide information to the user in desired format are called output unit. Control Unit − As the name suggests, this unit controls all the functions of the computer. All devices or parts of computer interact through the control unit. Arithmetic Logic Unit − This is the brain of the computer where all arithmetic operations and logical operations take place. Memory − All input data, instructions and data interim to the processes are stored in the memory. Memory is of two types – primary memory and secondary memory. Primary memory resides within the CPU whereas secondary memory is external to it. Control unit, arithmetic logic unit and memory are together called the central processing unit or CPU. Computer devices like keyboard, mouse, printer, etc. that we can see and touch are the hardware components of a computer. The set of instructions or programs that make the computer function using these hardware parts are called software. We cannot see or touch software. Both hardware and software are necessary for working of a computer. Characteristics of Computer To understand why computers are such an important part of our lives, let us look at some of its characteristics − • • • Speed − Typically, a computer can carry out 3-4 million instructions per second. Accuracy − Computers exhibit a very high degree of accuracy. Errors that may occur are usually due to inaccurate data, wrong instructions or bug in chips – all human errors. Reliability − Computers can carry out same type of work repeatedly without throwing up errors due to tiredness or boredom, which are very common among humans. • • Versatility − Computers can carry out a wide range of work from data entry and ticket booking to complex mathematical calculations and continuous astronomical observations. If you can input the necessary data with correct instructions, computer will do the processing. Storage Capacity − Computers can store a very large amount of data at a fraction of cost of traditional storage of files. Also, data is safe from normal wear and tear associated with paper. Advantages of Using Computer Now that we know the characteristics of computers, we can see the advantages that computers offer− • • • Computers can do the same task repetitively with same accuracy. Computers do not get tired or bored. Computers can take up routine tasks while releasing human resource for more intelligent functions. Disadvantages of Using Computer Despite so many advantages, computers have some disadvantages of their own − • • Computers have no intelligence; they follow the instructions blindly without considering the outcome. Regular electric supply is necessary to make computers work, which could prove difficult everywhere especially in developing nations. Booting Starting a computer or a computer-embedded device is called booting. Booting takes place in two steps − • • • Switching on power supply Loading operating system into computer’s main memory Keeping all applications in a state of readiness in case needed by the user The first program or set of instructions that run when the computer is switched on is called BIOS or Basic Input Output System. BIOS is a firmware, i.e. a piece of software permanently programmed into the hardware. If a system is already running but needs to be restarted, it is called rebooting. Rebooting may be required if a software or hardware has been installed or system is unusually slow. There are two types of booting − • • Cold Booting − When the system is started by switching on the power supply it is called cold booting. The next step in cold booting is loading of BIOS. Warm Booting − When the system is already running and needs to be restarted or rebooted, it is called warm booting. Warm booting is faster than cold booting because BIOS is not reloaded. HARDWARE: A simple definition of computer hardware is “any physical parts or components that contribute to a computer system.” Hardware represents the physical and tangible components of a computer, i.e. the components that can be seen and touched. Examples of Hardware are the following − • • • • Input devices − keyboard, mouse, etc. Output devices − printer, monitor, etc. Secondary storage devices − Hard disk, CD, DVD, etc. Internal components − CPU, motherboard, RAM, etc. SOFTWARE: As you know, the hardware devices need user instructions to function. A set of instructions that achieve a single outcome are called program or procedure. Many programs functioning together to do a task make a software. “Software is a set of programs, which is designed to perform a well-defined function. A program is a sequence of instructions written to solve a particular problem” For example, a word-processing software enables the user to create, edit and save documents. A web browser enables the user to view and share web pages and multimedia files. There are two categories of software − • System Software • Application Software System Software The system software is a collection of programs designed to operate, control, and extend the processing capabilities of the computer itself. System software is generally prepared by the computer manufacturers. These software products comprise of programs written in low-level languages, which interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users. Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc. Here is a list of some of the most prominent features of a system software − • • • • • System Software is closer to the computer system. System Software is written in a low-level language in general. System software is difficult to design and understand. System software is fast in speed (working speed). System software is less interactive for the users in comparison to application software. Examples of System Software Operating System: It is the main program of a computer system. When the computer system ON it is the first software that loads into the computer’s memory. Basically, it manages all the resources such as memory, CPU, printer, hard disk, etc., and provides an interface to the user, which helps the user to interact with the computer system. It also provides various services to other computer software. Examples of operating systems are Linux, Apple macOS, Microsoft Windows, etc. Language Processor: As we know that system software converts the human-readable language into a machine language and vice versa. So, the conversion is done by the language processor. It converts programs written in high-level programming languages like Java, C, C++, Python, etc(known as source code), into sets of instructions that are easily readable by machines(known as object code or machine code). Device Driver: A device driver is a program or software that controls a device and helps that device to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver to connect with the computer system eternally. So, when you connect a new device with your computer system, first you need to install the driver of that device so that your operating system knows how to control or manage that device. Application Software Application software products are designed to satisfy a particular need of a particular environment. All software applications prepared in the computer lab can come under the category of Application software. Application software may consist of a single program, such as Microsoft's notepad for writing and editing a simple text. It may also consist of a collection of programs, often called a software package, which work together to accomplish a task, such as a spreadsheet package. Features of application software are as follows − • An important feature of application software is it performs more specialized tasks like word processing, spreadsheets, email, etc. • Mostly, the size of the software is big, so it requires more storage space. • Application software is more interactive for the users, so it is easy to use and design. • The application software is easy to design and understand. • Application software is written in a high-level language in general. Types of application software: • General Purpose Software: This type of application software is used for a variety of tasks and it is not limited to performing a specific task only. For example, MS-Word, MS-Excel, PowerPoint, etc. • Customized Software: This type of application software is used or designed to perform specific tasks or functions or designed for specific organizations. For example, railway reservation system, airline reservation system, invoice management system, etc. • Utility Software: This type of application software is used to support the computer infrastructure. It is designed to analyze, configure, optimize and maintains the system, and take care of its requirements as well. For example, antivirus, disk fragmenter, memory tester, disk repair, disk cleaners, registry cleaners, disk space analyzer, etc. Examples of Application software are the following − • Payroll Software • Student Record Software • Inventory Management Software • Income Tax Software • Railways Reservation Software • Microsoft Office Suite Software • Microsoft Word • Microsoft Excel • Microsoft PowerPoint Interface In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information. The exchange can be between software, computer hardware, peripheral devices, humans, and combinations of these. Some computer hardware devices, such as a touchscreen, can both send and receive data through the interface, while others such as a mouse or microphone may only provide an interface to send data to a given system. Hardware Interface Hardware interfaces exist in many components, such as the various buses, storage devices, other I/O devices, etc. A hardware interface is described by the mechanical, electrical, and logical signals at the interface and the protocol for sequencing them (sometimes called signaling). A standard interface, such as SCSI, decouples the design and introduction of computing hardware, such as I/O devices, from the design and introduction of other components of a computing system, thereby allowing users and manufacturers great flexibility in the implementation of computing systems.[3] Hardware interfaces can be parallel with several electrical connections carrying parts of the data simultaneously or serial where data are sent one bit at a time. Software Interface A software interface may refer to a wide range of different types of interface at different "levels". For example, an operating system may interface with pieces of hardware. Applications or programs running on the operating system may need to interact via data streams, filters, and pipelines.[5] In object oriented programs, objects within an application may need to interact via methods. Software interfaces provide access to computer resources (such as memory, CPU, storage, etc.) of the underlying computer system; direct access (i.e., not through well-designed interfaces) to such resources by software can have major ramifications—sometimes disastrous ones—for functionality and stability. OPERATING SYSTEM An operating system (OS) can be considered to be a resource manager which manages all the resources of a computer, i.e., its hardware including CPU, RAM, Disk, Network and other input-output devices. It also controls various application software and device drivers, manages system security and handles access by different users. It is the most important system software. Examples of popular OS are Windows, Linux, Android, Macintosh and so on. The primary objectives of an operating system are two-fold. The first is to provide services for building and running application programs. When an application program needs to be run, it is the operating system which loads that program into memory and allocates it to the CPU for execution. When multiple application programs need to be run, the operating system decides the order of the execution. The second objective of an operating system is to provide an interface to the user through which the user can interact with the computer. A user interface is a software component which is a part of the operating system and whose job is to take commands or inputs from a user for the operating system to process. 1.1.1 OS User Interface There are different types of user interfaces each of which provides a different functionality. Some commonly used interfaces are shown in Figure 1.15. (A) Command-based Interface Command-based interface requires a user to enter the commands to perform different tasks like creating, opening, editing or deleting a file, etc. The user has to remember the names of all such programs or specific commands which the operating system supports. The primary input device used by the user for command based interface is the keyboard. Command based interface is often less interactive and usually allows a user to run a single program at a time. Examples of operating systems with command-based interface include MS-DOS and Unix. (B) Graphical User Interface Graphical User Interface (GUI) lets users run programs or give instructions to the computer in the form of icons, menus and other visual options. Icons usually represent files and programs stored on the computer and windows represent running programs that the user has launched through the operating system. The input devices used to interact with the GUI commonly include the mouse and the keyboard. Examples of operating systems with GUI interfaces include Microsoft Windows, Ubuntu, Fedora and Macintosh, among others. (C) Touch-based Interface Today smartphones, tablets and PCs allow users to interact with the system simply using the touch input. Using the touchscreen, a user provides inputs to the operating system, which are interpreted by the OS as commands like opening an app, closing an app, dialing a number, scrolling across apps, etc. Examples of popular operating systems with touch-based interfaces are Android and iOS. Windows 8.1 and 10 also support touch-based interfaces on touchscreen devices. (D) Voice-based Interface Modern computers have been designed to address the needs of all types of users including people with special needs and people who want to interact with computers or smartphones while doing some other task. For users who cannot use the input devices like the mouse, keyboard, and touchscreens, modern operating systems provide other means of human-computer interaction. Users today can use voice-based commands to make a computer work in the desired way. Some operating systems which provide voice-based control to users include iOS (Siri), Android (Google Now or “OK Google”), Microsoft Windows 10 (Cortana) and so on. (E) Gesture-based Interface Some smartphones based on Android and iOS as well as laptops let users interact with the devices using gestures like waving, tilting, eye motion and shaking. This technology is evolving faster and it has promising potential for application in gaming, medicine and other areas. 1.1.2 Functions of Operating System Now let us explore the important services and tasks that an operating system provides for managing the computer system. (A) Process Management While a computer system is operational, different tasks are running simultaneously. A program is intended to carry out various tasks. A task in execution is known as process. We can activate a system monitor program that provides information about the processes being executed on a computer. In some systems it can be activated using Ctrl+Alt+Delete. It is the responsibility of operating system to manage these processes and get multiple tasks completed in minimum time. As CPU is the main resource of computer system, its allocation among processes is the most important service of the operating system. Hence process management concerns the management of multiple processes, allocation of required resources, and exchange of information among processes. (B) Memory Management Primary or main memory of a computer system is usually limited. The main task of memory management is to give (allocate) and take (free) memory from running processes. Since there are multiple processes running at a time, there arises a need to dynamically (on-the-go) allocate and free memory to the processes. Operating system should do it without affecting other processes that are already residing in the memory and once the process is finished, it is again the responsibility of the operating system to take the memory space back for reutilisation. Hence, memory management concerns with management of main memory so that maximum memory is occupied or utilised by large number of processes while keeping track of each and every location within the memory as free or occupied. (C) File Management Data and programs are stored as files in the secondary storage of a computer system. File management involves the creation, updation, deletion and protection of these files in the secondary memory. Protection is a crucial function of an operating system, as multiple users can access and use a computer system. There must be a mechanism in place that will stop users from accessing files that belong to some other user and have not been shared with them. File management system manages secondary memory, while memory management system handles the main memory of a computer system. (D) Device Management A computer system has many I/O devices and hardware connected to it. Operating system manages these heterogeneous devices that are interdependent. The operating system interacts with the device driver and the related software for a particular device. The operating system must also provide the options for configuring a particular device, so that it may be used by an end user or some other device. Just like files, devices also need security measures and their access to different devices must be restricted by the operating system to the authorized users, software and other hardware only. Programming Languages A programming language is a way for programmers (developers) to communicate with computers. Programming languages consist of a set of rules that allows string values to be converted into various ways of generating machine code, or, in the case of visual programming languages, graphical elements. we have about 500+ programming languages with having their own syntax and features. 1843 – Ada Lovelace programs for Charles Babbage’s analytical engine Considered by some to be the ‘father of the computer’, in 1837, Charles Babbage proposed the analytical engine, a mechanical general-purpose computer. By 1843, Ada Lovelace, the world’s first computer programmer, was the first to recognise that the analytical engine could do much more than just calculations, and she published the first algorithm that was intended to run on it. 1949 – Assembly becomes first widely-used programming language type As mentioned above, this type of low level programming language is significant because it was the first to enable programmers to write code by using symbols instead of binary code. Even today, the same type of computer programming is used in real-time software like simulation flight navigation systems and medical monitoring equipment, or for creating computer viruses. 1952 – Autocode becomes first compiled computer programming language First developed by Alick Glennie for the Mark 1 computer, Autocode is a term used for a family of ‘simplified coding systems’ – later renamed to programming languages – which eventually came to include examples like Cobol and Fortran. Even if Fortran is not widely used in industry today, it is still used by NASA and it is still popular with science and engineering applications. 1957 – Fortran is designed for numeric computation and scientific computing Developed by John Backus and IBM, Fortran is considered the first high level language, designed to be relatively easy to learn and widely applicable. Most importantly, Fortran allowed programmers to develop software 500% faster than when writing code in Assembly or machine language. The software that ran NASA’s Voyager 1 and 2 spacecraft was written in Fortran 5. 1959 – Cobol established as Common Business-Oriented Language Becoming the top-choice for business applications, and owing much of its popularity to IBM, by 1997, 80% of the world’s business was running on Cobol. As recently as 2020, the US internal revenue service scrambled its path to a Cobol-based IMF (individual master file), in order to support citizens and companies as part of the coronavirus pandemic aid and relief package. 1964 – BASIC (Beginners’ All-Purpose Symbolic Instruction Code) Designed by John G. Kennedy and Thomas E. Kurtz, the BASIC programming language was intended to be as accessible as possible, and it is not surprising that it eventually came to dominate the home computer market that emerged in the 1970’s. By 1991, Microsoft had developed Visual Basic by combining an updated version of BASIC with a visual forms builder. 1972 – C begins to shape the future of the personal computer C is the mother of almost all high level languages and it is still one of the world’s most popular to this day. It can be used for implementing a computer operating system, an embedded system, as well as in web environments by using the Common Gateway Interface (CGI). C’s offspring programming languages include C#, D, Go, Java, JavaScript, Limbo, Python and others. Today’s most important and widely used computer programming languages Python Close to 50% of software developers use the Python programming language today. This is a highlevel, readable language endorsed by Google, Pinterest, Wikipedia, Instagram and others. JavaScript JavaScript is a multi-paradigm and dynamic programming language chosen by almost 65% of today’s programmers. It is endorsed by Microsoft, Paypal, Netflix, Uber, Facebook and others. Java Java, one of the most demanded and classic programming languages used today, is embraced by companies like Spotify and Amazon for enabling fast software development and cost-efficiency. PHP Almost 22% of global professionals use the PHP language for scripting and web development. This is an open-source language characterized by simplicity, cost-efficiency and accessibility. Typescript Simplifying Javascript by making it easier to read and debug, as of 2022, TypeScript has been one of the ten most used professional programming languages for several years in a row. PROCESSOR: Processor or Central Processing Unit (CPU) refers to logic circuitry that responds to and processes basic instructions that drive computers. This integrated electronic circuit performs calculations that run computers. These circuits are found in electronic devices. They receive input in the form of program instructions and execute calculations for providing with which the user will interact. For any operation to perform on a computer, the processor is required to interpret the operating system. A processor consists of arithmetical logic and a control unit (CU) that measures capability in terms of: • Maximum number of bits/instructions • Relative clock speed • The ability of processing instruction at a given time The CPU carries out his operations through the three main steps of the instruction cycle: fetch, decode, and execute. • • • Fetch: the CPU retrieves instructions, usually from a RAM. Decode: a decoder converts the instruction into signals to the other components of the computer. Execute: the now decoded instructions are sent to each component so that the desired operation can be performed. Components of a processor: • Control Unit − As the name suggests, this unit controls all the functions of the computer. All devices or parts of computer interact through the control unit. A control unit, or CU, is circuitry within a computer’s processor that directs operations. It instructs the memory, logic unit, and both output and input devices of the computer on how to respond to the program’s instructions. CPUs and GPUs are examples of devices that use control units. The Function of Control Unit • It coordinates the flow of data out of, into, and between the various subunits of a processor. • It understands commands and instructions. • It regulates the flow of data within the processor. • It accepts external commands or instructions, which it turns into a series of control signals. • It is in charge of a CPU’s multiple execution units (such as ALUs, data buffers, and registers). • It also performs a variety of activities, including fetching, decoding, handling execution, and storing results. • • ALU is the main component in a processor that performs various arithmetic and logic operations. It is an integrated circuit within the CPU/GPU, due to which it is also known as an integer unit (IU). This is the last component that performs calculations in the processor. Registers Registers are types of computer memory that accept, transfer, and store data as well as instructions that are being used. It instructs ALU about the processes that must be carried out and stores the result of these operations. Cache Cache is the smaller yet faster memory that is located close to the core of the processor. This memory stores the copy of data from the frequently used main locations. There are three levels of cache: L1, L2 and L3 cache. L1 is the primary chip which is embedded on the processor chip. Since it is small, it has limited storage. L2 cache is the secondary cache that is either embedded on a processor chip or a separate chip with high-speed bus that connects it to the CPU. Also known as processor cache, L3 is a specialized backup memory for L1 and L2. It boosts the performance of L1 and L2. Types of Processors Processor Based on Number of Cores Following are the different types of processors based on number of cores: 1 Single core A single core microprocessor has single core in its die. It performs ‘fetch-decode-execute cycle’ once per clock cycle since it runs only on a single thread. These processors have been less in demand due to lesser processing power. Their slow speed has made multi-core systems more popular. 2 Multi-core Multi core processors are microprocessors on a single integrated unit having two or more cores. Each core reads and executes the program instructions. Here, a single processor can simultaneously run instructions on separate core. Due to this, the overall speed for programs supporting multithreading and parallel computing techniques increases. 3 Hyper-Threading It is a technology that is used in the Intel microprocessors. This technology allows a single microprocessor to act as two processors for the operating system as well as the application using it. Through hyper threading, processor resources are more efficiently used which allows multiple threads to run on each core. Processor based on Flynn’s classification According to Flynn’s taxonomy, processors can be classified based on concurrent instructions and data streams that are available in architecture. Let us now discuss each of the above one by one. 1 SISD (Single Instruction Single Data) It is a computer architecture in which single uni-core processor executes single instruction stream. This is done for operating on data that is stored in single memory. SISD can have (as per Flynn) concurrent processing characteristics. Here, instructions are sent to control unit from memory module. Then, they are decoded and sent to processing unit that processes data retrieved from memory module and then sends it back. Traditional uniprocessor machines such as PCs, old mainframes, pipelined and superscalar processors are examples of SSID. 2 Single Instruction Multiple Data (SIMD) It is a type of computer that comes with multiple processing elements. It simultaneously performs same operation on multiple data points as well as parallel computations on only a single instruction at a given time. SIMD may be a part of the hardware design and is directly accessible through instruction set architecture (ISA). These machines do not exploit concurrency. 3 Multiple instruction Single Data (MISD) It is a type of parallel computing architecture where multiple functional units perform different operations on the same data. Every CU here handles one instruction stream and processes it through corresponding processing elements. It has an architecture that is used for fault tolerance. MISD organisation computers are used rarely. Space Shuttle flight control computer is an example of MISD. 4 Multiple Instruction Multiple Data (MIMD) This refers to a technique used for achieving parallelism. Machines that have MIMD have several processors that function independently and asynchronously. Multiple autonomous processors execute, at any time, execute different instructions on different data pieces. These machines can be either of shared or distributed memory categories based on how MIMD processors are accessing memory. Shared memory may be bus-based, hierarchical or extended types. Distributed memory may be of hypercube or mesh types. MEMORY: Memory is the electronic holding place for the instructions and data a computer needs to reach quickly. It's where information is stored for immediate use. Memory is one of the basic functions of a computer, because without it, a computer would not be able to function properly. Memory is also used by a computer's operating system, hardware and software. Characteristics of Computer Memory It is faster computer memory as compared to secondary memory. It is semiconductor memories. It is usually a volatile memory, and main memory of the computer. A computer system cannot run without primary memory. How Does Computer Memory Work? When you open a program, it is loaded from secondary memory into primary memory. Because there are various types of memory and storage, an example would be moving a program from a solid-state drive (SSD) to RAM. Because primary storage is accessed more quickly, the opened software can connect with the computer’s processor more quickly. The primary memory is readily accessible from temporary memory slots or other storage sites. Memory is volatile, which means that data is only kept temporarily in memory. Data saved in volatile memory is automatically destroyed when a computing device is turned off. When you save a file, it is sent to secondary memory for storage. There are various kinds of memory accessible. It’s operation will depend upon the type of primary memory used. but normally, semiconductor-based memory is more related with memory. Semiconductor memory made up of IC (integrated circuits) with silicon-based metal-oxidesemiconductor (MOS) transistors. Types of Computer Memory In general, computer memory is of three types: Primary memory Secondary memory Cache memory Now we discuss each type of memory one by one in detail: 1. Primary Memory It is also known as the main memory of the computer system. It is used to store data and programs or instructions during computer operations. It uses semiconductor technology and hence is commonly called semiconductor memory. Primary memory is of two types: RAM (Random Access Memory): It is a volatile memory. Volatile memory stores information based on the power supply. If the power supply fails/ interrupted/stopped, all the data and information on this memory will be lost. RAM is used for booting up or start the computer. It temporarily stores programs/data which has to be executed by the processor. RAM is of two types: S RAM (Static RAM): S RAM uses transistors and the circuits of this memory are capable of retaining their state as long as the power is applied. This memory consists of the number of flip flops with each flip flop storing 1 bit. It has less access time and hence, it is faster. D RAM (Dynamic RAM): D RAM uses capacitors and transistors and stores the data as a charge on the capacitors. They contain thousands of memory cells. It needs refreshing of charge on capacitor after a few milliseconds. This memory is slower than S RAM. ROM (Read Only Memory): It is a non-volatile memory. Non-volatile memory stores information even when there is a power supply failed/ interrupted/stopped. ROM is used to store information that is used to operate the system. As its name refers to read-only memory, we can only read the programs and data that is stored on it. It contains some electronic fuses that can be programmed for a piece of specific information. The information stored in the ROM in binary format. It is also known as permanent memory. ROM is of four types: MROM(Masked ROM): Hard-wired devices with a pre-programmed collection of data or instructions were the first ROMs. Masked ROMs are a type of low-cost ROM that works in this way. PROM (Programmable Read Only Memory): This read-only memory is modifiable once by the user. The user purchases a blank PROM and uses a PROM program to put the required contents into the PROM. Its content can’t be erased once written. EPROM (Erasable Programmable Read Only Memory): EPROM is an extension to PROM where you can erase the content of ROM by exposing it to Ultraviolet rays for nearly 40 minutes. EEPROM (Electrically Erasable Programmable Read Only Memory): Here the written contents can be erased electrically. You can delete and reprogramme EEPROM up to 10,000 times. Erasing and programming take very little time, i.e., nearly 4 -10 ms(milliseconds). Any area in an EEPROM can be wiped and programmed selectively. 2. Secondary Memory It is also known as auxiliary memory and backup memory. It is a non-volatile memory and used to store a large amount of data or information. The data or information stored in secondary memory is permanent, and it is slower than primary memory. A CPU cannot access secondary memory directly. The data/information from the auxiliary memory is first transferred to the main memory, and then the CPU can access it. Characteristics of Secondary Memory It is a slow memory but reusable. It is a reliable and non-volatile memory. It is cheaper than primary memory. The storage capacity of secondary memory is large. A computer system can run without secondary memory. In secondary memory, data is stored permanently even when the power is off. Types of Secondary Memory 1. Magnetic Tapes: Magnetic tape is a long, narrow strip of plastic film with a thin, magnetic coating on it that is used for magnetic recording. Bits are recorded on tape as magnetic patches called RECORDS that run along many tracks. Typically, 7 or 9 bits are recorded concurrently. Each track has one read/write head, which allows data to be recorded and read as a sequence of characters. It can be stopped, started moving forward or backward, or rewound. 2. Magnetic Disks: A magnetic disk is a circular metal or a plastic plate and these plates are coated with magnetic material. The disc is used on both sides. Bits are stored in magnetized surfaces in locations called tracks that run in concentric rings. Sectors are typically used to break tracks into pieces. Hard discs are discs that are permanently attached and cannot be removed by a single user. 3. Optical Disks: It’s a laser-based storage medium that can be written to and read. It is reasonably priced and has a long lifespan. The optical disc can be taken out of the computer by occasional users. Cache Memory It is a type of high-speed semiconductor memory that can help the CPU run faster. Between the CPU and the main memory, it serves as a buffer. It is used to store the data and programs that the CPU uses the most frequently. Advantages of Cache Memory It is faster than the main memory. When compared to the main memory, it takes less time to access it. It keeps the programs that can be run in a short amount of time. It stores data in temporary use. Disadvantages of Cache Memory Because of the semiconductors used, it is very expensive. The size of the cache (amount of data it can store) is usually small. HOW COMPUTER MEMORY IS MEASURED Bit (Binary digit) – 0’s or 1’s 1 byte = 8 bits Kilobyte (kb): 1kb = 1024 bytes Megabyte (mb): 1mb = 1024 kb Gigabyte (gb): 1gb = 1024 mb Terrabyte (tb): 1tb = 1024 gb Pettabyte (pb): 1pb = 1024 tb INPUT DEVICES: An input device is essentially a piece of instrument or hardware that allows users to provide data, information, or control instructions to a computer used for interaction and control. Data is entered into a computer in a raw format, which is converted into computer understandable language by input devices and processed by CPU to produce output. Following are some of the important input devices which are used in a computer – • Keyboard • Mouse • Joy Stick • Light pen • Track Ball • Scanner • Graphic Tablet • Microphone • Magnetic Ink Card Reader(MICR) Keyboard: It is the most common and very popular input device which helps to input data to the computer. The layout of the keyboard is like that of traditional typewriter, although there are some additional keys provided for performing additional functions. Keyboards are of two sizes 84 keys or 101/102 keys, but now keyboards with 104 keys or 108 keys are also available for Windows and Internet. The keys on the keyboard are as follows – Mouse: Mouse is the most popular pointing device. It is a very famous cursor-control device having a small palm size box with a round ball at its base, which senses the movement of the mouse and sends corresponding signals to the CPU when the mouse buttons are pressed. Generally, it has two buttons called the left and the right button and a wheel is present between the buttons. A mouse can be used to control the position of the cursor on the screen, but it cannot be used to enter text into the computer. Advantages • Easy to use • Not very expensive • Moves the cursor faster than the arrow keys of the keyboard. Joystick: Joystick is also a pointing device, which is used to move the cursor position on a monitor screen. It is a stick having a spherical ball at its both lower and upper ends. The lower spherical ball moves in a socket. The joystick can be moved in all four directions.The function of the joystick is similar to that of a mouse. It is mainly used in Computer Aided Designing (CAD) and playing computer games. Light Pen: Light pen is a pointing device similar to a pen. It is used to select a displayed menu item or draw pictures on the monitor screen. It consists of a photocell and an optical system placed in a small tube. When the tip of a light pen is moved over the monitor screen and the pen button is pressed, its photocell sensing element detects the screen location and sends the corresponding signal to the CPU. Track Ball: Track ball is an input device that is mostly used in notebook or laptop computer, instead of a mouse. This is a ball which is half inserted and by moving fingers on the ball, the pointer can be moved. Since the whole device is not moved, a track ball requires less space than a mouse. A track ball comes in various shapes like a ball, a button, or a square. Scanner: Scanner is an input device, which works more like a photocopy machine. It is used when some information is available on paper and it is to be transferred to the hard disk of the computer for further manipulation. Scanner captures images from the source which are then converted into a digital form that can be stored on the disk. These images can be edited before they are printed. Microphone: Microphone is an input device to input sound that is then stored in a digital form. The microphone is used for various applications such as adding sound to a multimedia presentation or for mixing music. OUTPUT DEVICES: An output device is any hardware device that is used to send data from a computer to another device or user. We have many output devices, but the following are the most commonly used output devices: Monitor Monitor is the most important output device of a computer as it is the visual output device. Without it, the computer is incomplete. The monitor is a basic device of the computer for the visual display of all types of information or data in any form. The monitor is designed to display information in symbolic and graphical types. It shows all the data and information as a Soft Copy of that data on its screen. Anyone can view Files, photos, videos, texts, graphics, and tables in real-time through the monitor. Printer A Printer is a device that takes text and graphic data from a computer and transfers the information to paper. Printers can be differentiated on the basis of size, speed, complexity, and cost. Speaker They are the audio output devices. Computer speakers are hardware output devices that connect to a computer to reproduce sound. The signals used to reproduce sound from your computer's speakers are produced by your computer's sound card. Projector A projector is a device that allows users to project their output onto a large area, such as a screen or a wall. It can be used to project the output of a computer and other devices onto a screen. It magnifies texts, photos, and movies using light and lenses. As a result, it’s an excellent output device for giving presentations or teaching big groups of people. Sound Card Sound cards are computer output devices that are inserted into the computer. A sound card, either external or internal, is required to produce sound on any computer (built-in). An external sound card enables for better overall sound generation and is required for wide and clear sound recording, as well as sound without noise and interference. Video Card An extension card via which a computer can transfer graphical data to a video display device like a TV, or monitor. It processes photos and video, as well as other functions that the CPU generally does. As they have a good processing capability and video RAM, Gamers utilize video cards.