Computer Systems: Notes

Introduction to Computer Systems

  • A computer is an electronic device that processes data to generate results.

  • A computer system includes hardware and software working together.

  • Key components: CPU, memory, input/output devices, storage devices.

  • Various forms: high-end servers, desktops, laptops, tablets, smartphones.

  • The directed lines in the block diagram represent data flow between components.

Central Processing Unit (CPU)

  • The CPU is the electronic circuitry that performs processing, also known as the brain of the computer.

  • Commonly called a processor, implemented on microchips (integrated circuits or ICs).

  • ICs are made of semiconductor materials.

  • The CPU fetches programs and data from memory, performs operations, and stores results back into memory.

  • It stores data and instructions in local memory called registers.

  • Registers are limited in size and number and are used for storing data, instructions, or intermediate results.

  • The CPU has two main components:

    • Arithmetic Logic Unit (ALU): Performs arithmetic and logic operations.

    • Control Unit (CU): Controls instruction execution and data flow.

  • The CPU is also known as a microprocessor.

Input Devices

  • Devices that send control signals to the computer by converting input data into digital form.

  • Examples: keyboard, mouse, scanner, touch screen.

  • Braille keyboards are available for visually impaired users.

  • Voice input is also possible, for example, Google voice search.

Memory

  • Data entered through input devices is temporarily stored in the main memory (RAM).

  • For permanent storage, data and instructions are stored in secondary memory.

Output Devices

  • Devices that receive data from the computer and convert it into human-understandable form.

  • Examples: monitor, projector, headphone, speaker, printer.

  • Braille display monitors are used by visually challenged persons.

  • Commonly used printers: inkjet, laserjet, and dot matrix.

  • 3D printers build physical replicas of digital 3D designs.

Evolution of Computer

  • Computing devices have evolved from simple calculators to powerful data processors.

  • Key inventions timeline:

    • Abacus (500 BC): Mechanical device for simple arithmetic calculations.

    • Pascaline (1642): Mechanical calculator invented by Blaise Pascal for addition and subtraction.

    • Analytical Engine (1834): Invented by Charles Babbage, a mechanical computing device considered the basis of modern computers.

    • Tabulating Machine (1890): Designed by Herman Hollerith for summarizing data stored on punched cards.

    • Turing Machine (1937): A general-purpose programmable machine capable of solving problems by executing programs stored on punched cards.

    • EDVAC/ENIAC (1945): Computers developed based on John Von Neumann's concept of stored program.

    • Transistor (1947): Developed at Bell Labs, replaced vacuum tubes using semiconductor materials.

    • Integrated Circuit (IC) (1970): A silicon chip containing an entire electronic circuit.

  • Punched cards store digital data in the form of holes at predefined positions.

  • Von Neumann architecture consists of a CPU, memory, input/output devices, and communication channels.

  • ENIAC (Electronic Numerical Integrator and Computer) is the first binary programmable computer based on Von Neumann architecture.

  • Moore’s Law (1965): Introduced by Intel co-founder Gordon Moore, predicted that the number of transistors on a chip would double every two years while costs would be halved.

  • LSI (Large Scale Integration) in the 1970s allowed integration of a complete CPU on a single chip (microprocessor).

  • VLSI (Very Large Scale Integration) in the 1980s integrated around 3 million components on a chip.

  • SLSI (Super Large Scale Integration) allows fabrication of approximately 10^6 components on a single IC.

  • IBM introduced its first PC in 1981, and Apple introduced Macintosh machines in 1984.

  • The introduction of GUI (Graphical User Interface) based operating systems accelerated computer usage.

  • The World Wide Web (WWW) in the 1990s further accelerated mass usage of computers.

  • Technological advancements have led to laptops, smartphones, tablets, and other personal digital assistants.

  • Next wave of computing devices includes wearable gadgets and smart appliances in the Internet of Things (IoT) leveraging Artificial Intelligence (AI).

Computer Memory

  • Memory is needed to store data and instructions for processing.

  • Main or primary memory is commonly referred to as 'memory'.

  • Secondary memory (storage device) is used for permanent storage.

Units of Memory

  • Computer systems use binary numbers to store data. Binary digits (0 and 1) are called bits.

  • 4 bits = Nibble (e.g., 1001)

  • 8 bits (two nibbles) = Byte (e.g., 01000110)

  • Units of memory:

    • KB (Kilobyte) = 1024 Bytes

    • MB (Megabyte) = 1024 KB

    • GB (Gigabyte) = 1024 MB

    • TB (Terabyte) = 1024 GB

    • PB (Petabyte) = 1024 TB

    • EB (Exabyte) = 1024 PB

    • ZB (Zettabyte) = 1024 EB

    • YB (Yottabyte) = 1024 ZB

Types of Memory

  • Primary Memory

    • Essential component; program and data are loaded before processing.

    • The CPU interacts directly with primary memory.

    • Types:

      • RAM (Random Access Memory): Volatile; data is retained as long as power is supplied.

      • ROM (Read Only Memory): Non-volatile; contents are not lost when power is off; used for startup programs (boot loader).

  • Cache Memory

    • A very high-speed memory placed between the CPU and primary memory.

    • Stores copies of frequently accessed data from primary memory.

  • Secondary Memory

    • Auxiliary memory for permanently storing data or instructions.

    • Non-volatile with larger storage capacity than primary memory.

    • Slower and cheaper than main memory.

    • Examples: HDD, CD/DVD, Memory Card, SSD, Pen Drives.

Data Transfer Between Memory and CPU

  • Data is transferred between CPU and primary memory, and between primary and secondary memory.

  • Data transfer uses physical wires called a bus.

  • Types of bus:

    • Data bus: Transfers data between components (bidirectional).

    • Address bus: Transfers addresses between CPU and main memory (unidirectional).

    • Control bus: Communicates control signals between components (unidirectional).

  • Collectively, these buses make up the system bus.

  • The CPU places the address of the memory location on the address bus to read or write data.

  • The CPU specifies read or write control signals through the control bus.

  • A memory controller manages the flow of data into and out of the computer's main memory.

Microprocessors

  • A processor (CPU) implemented on a single microchip.

  • Microprocessors carry out data processing, arithmetic, and logical operations.

  • Built over integrated circuits with millions of components like resistors, transistors, and diodes.

  • Evolution: increased processing capability, decreased physical size, reduced cost.

  • Capable of processing millions of instructions per millisecond.

  • Microprocessor Specifications:

    • Word Size: The maximum number of bits a microprocessor can process at a time.

    • Memory Size: The size of RAM varies depending on the word size.

    • Clock Speed: The number of pulses generated per second (measured in GHz).

    • Cores: Basic computation units within the CPU (dual-core, quad-core, octa-core).

Microcontrollers

  • A small computing device with a CPU, RAM, ROM, and other peripherals embedded on a single chip.

  • Examples: Keyboard, mouse, washing machine, digital camera, pendrive, remote controller, microwave.

  • Designed for specific tasks, reducing size and cost.

  • Embedded in devices or systems to perform specific functionality.

  • Enable automation of repetitive tasks without human intervention.

Data and Information

  • Data: Raw, unorganized facts that are processed to get meaningful information.

  • A computer considers everything as data.

Data and Its Types

  • Data can be input in various forms, internally stored in binary form (0 and 1).

    • Structured Data: follows a strict record structure, organized in row/column format, easily understandable (e.g., monthly attendance records).

    • Unstructured Data: Not organized in a pre-defined format (e.g., audio and video files, text documents).

    • Semi-structured Data: No well-defined structure but maintains internal tags (e.g., email, HTML page).

Data Capturing, Storage, and Retrieval

  • Data Capturing: Gathering data from different sources in a digital form (e.g., keyboard, barcode readers, social media posts).

  • Data Storage: Storing captured data for later processing (e.g. digital storage devices).

  • Data Retrieval: Fetching data from storage devices for processing.

Data Deletion and Recovery

  • Deleted data can be recovered if not overwritten.

  • Concerns: unauthorized deletion and unwanted recovery.

  • Mitigation: Limit access, use passwords, encrypt files, and use proper tools to delete or shred data.

Software

  • A set of instructions that operates the hardware.

  • Without it the hardware components cannot function.

Need of Software

  • Makes computer hardware useful and operational.

  • Acts as an interface between users and hardware.

System Software

  • Provides basic functionality to operate a computer (e.g., operating systems, system utilities, device drivers).

    • Operating System: Manages computer operations, resources, access, and security (e.g., Windows, Linux, Android, iOS).

    • System Utilities: Used for maintenance and configuration (e.g., disk defragmentation tool, anti-virus software).

    • Device Drivers: Ensures proper functioning of a particular device; acts as an interface between the device and the operating system.

Programming Tools

  • Used for writing instructions (code) for the computer.

  • Includes programming languages and language translators.

Application Software

  • Meets specific user requirements (e.g., word processing, video playback).

    • General Purpose Software: Developed for generic applications (e.g., LibreOffice, Adobe Photoshop).

    • Customized Software: Tailor-made for specific organizations or individuals (e.g., websites, school management software).

Proprietary or Free and Open Source Software

  • Free and Open Source Software (FOSS): Source code and software are freely available (e.g., Ubuntu, Python).

  • Freeware: Software is freely available, but the source code may not be available (e.g., Skype, Adobe Reader).

  • Proprietary Software: Software purchased from a vendor with copyright (e.g., Microsoft Windows, Tally, Quickheal).

Operating System

  • A resource manager managing hardware resources, application software, and device drivers.

  • Objectives: provides services for building and running applications and provides the user interface.

OS User Interface

  • Command-based Interface: Requires entering commands (e.g., MS-DOS, Unix).

  • Graphical User Interface (GUI): Uses icons, menus, and visual options (e.g., Microsoft Windows, Ubuntu, Macintosh).

  • Touch-based Interface: Uses touch input (e.g., Android, iOS, Windows 8.1 and 10).

  • Voice-based Interface: Uses voice commands (e.g., iOS (Siri), Android (Google Now), Windows 10 (Cortana)).

  • Gesture-based Interface: Uses gestures like waving, tilting, and eye motion (smartphones and laptops).

Functions of Operating System

  • Process Management: Manages and allocates CPU resources to processes.

  • Memory Management: Allocates and frees memory to running processes.

  • File Management: Creates, updates, deletes, and protects files in the secondary memory.

  • Device Management: Manages I/O devices and hardware connected to the computer system.