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.