Introduction to Computer System
A computer is a programmable electronic device that accepts data (input), processes it according to a set of instructions, and produces results (output). When a computer is combined with its peripheral hardware and the necessary software, it is called a computer system. Computer systems range from large servers to personal desktops, laptops, tablets and smartphones.
A typical computer system comprises a Central Processing Unit (CPU), memory, input/output devices and storage devices. These components cooperate to perform tasks and present results to the user.
Central Processing Unit (CPU)
- The CPU is the electronic circuitry responsible for processing instructions; it is often called the brain or the processor of the computer.
- Physically, a CPU is implemented on one or more microchips (integrated circuits) manufactured from semiconductor materials.
- Registers are very small, fast storage elements within the CPU used to hold data, instructions or intermediate results during processing.
- The CPU has two principal parts: Arithmetic Logic Unit (ALU) that performs arithmetic and logical operations, and Control Unit (CU) that interprets instructions and coordinates the activities of the CPU and other components.
- The term microprocessor is commonly used when the CPU is implemented on a single integrated circuit.
Input Devices
Input devices convert information from the outside world into a digital form that the computer can process. They also allow users to control and give commands to the computer.
- Keyboard: Used to type text and commands; comes in many layouts and special types (e.g., ergonomic, braille keyboards for visually impaired users).
- Mouse: A pointing device for interacting with graphical interfaces, available as optical, wireless, touchpad and trackball types.
- Scanner: Converts printed documents and images into digital images.
- Touch Screen: A display that recognises touch input and allows direct interaction with on-screen items.
- Microphone / Voice Input: Captures speech for voice commands and speech-to-text; used in voice assistants and voice search (for example, Google Voice Search).
Data entered via input devices is loaded into the computer's main memory (RAM) for processing. For long-term retention, data and programs are stored in secondary storage devices.
Output Devices
Output devices convert processed data into forms understandable by humans, such as visual display, printed pages or sound.
- Monitor: Displays visual output; types include LCD, LED and OLED.
- Projector: Enlarges and projects a computer's display onto a screen or wall.
- Headphone: Personal audio output device for listening to sounds from the computer.
- Speaker: Produces sound for groups of listeners.
- Printer: Produces hard copies of documents and images.
- Braille Display Monitor: Converts textual output into tactile Braille for visually impaired users.
- Printer types: Inkjet printers, laser printers, dot matrix printers and 3D printers.
- 3D Printers: Create three-dimensional physical objects from digital models; used for prototyping and specialised manufacturing.
Evolution of Computers
Computing devices have evolved rapidly from mechanical calculators and large room-sized machines to compact, powerful personal devices. Technological advances such as semiconductor miniaturisation, faster memory and improved connectivity have driven this evolution.
The broad progression is from mainframes and minicomputers to personal computers (desktops and laptops) and then to mobile devices such as smartphones and tablets. Current trends include wearable devices and deeply embedded computing in everyday objects.
Current Trends and Future Directions
- Wearable gadgets such as smartwatches, smart lenses and head-mounted devices are becoming common.
- Smart appliances and sensors are part of the Internet of Things (IoT), enabling connected homes and industries.
- Artificial Intelligence (AI) and machine learning are being integrated into devices and services for automation and personalised experiences.
- Edge computing, cloud services and increased data analytics are shaping how applications are designed and delivered.
Computer Memory
- Memory is required to store data and instructions used during processing. When we refer to the computer's memory we usually mean the primary memory used for immediate access.
- Primary memory is used to hold data and programs temporarily while the CPU executes instructions.
- Secondary memory (or secondary storage) is non-volatile and used for permanent storage of data and programs.
Units of Memory
- Memory is measured in binary units built from bits. A bit is the smallest unit and can be 0 or 1.
- A group of 4 bits is called a nibble. Examples: 1001, 1010, 0010.
- A group of 8 bits is called a byte. Examples: 01000110, 01111100, 10000001.
- Common larger units (binary multiples) are: KB = 1024 Bytes, MB = 1024 KB, GB = 1024 MB, TB = 1024 GB, PB = 1024 TB, EB = 1024 PB, ZB = 1024 EB, YB = 1024 ZB.
Types of Memory
Computers use different memory types to balance speed, cost and permanence.
Primary Memory
- Primary memory is directly accessible by the CPU. It includes RAM and ROM.
- RAM (Random Access Memory) is volatile; it holds programs and data temporarily while the computer is on. When power is removed, RAM contents are lost.
- ROM (Read Only Memory) is non-volatile and stores firmware and startup programs (boot loader) that rarely change.
Cache Memory
- Cache is a small, very fast memory placed between the CPU and main memory to store frequently used data or instructions and reduce average access time.
- When the CPU needs data it first checks the cache; a hit returns data quickly, while a miss requires access to slower primary memory.
Secondary Memory
- Secondary memory provides large, non-volatile storage but is slower than primary memory.
- Examples include Hard Disk Drives (HDD), Solid State Drives (SSD), CDs, DVDs and memory cards.
- Flash drives and external portable drives make data transfer between computers convenient.
Data Transfer Between CPU and Memory
Data moves between the CPU and memory over physical conductors called buses. The main buses are the data bus, address bus and control bus; together they form the system bus.
- Data bus: Transfers actual data between components. It is bidirectional.
- Address bus: Carries memory addresses from CPU to memory to select locations. It is unidirectional (CPU → memory).
- Control bus: Sends control and timing signals (e.g., read/write commands). It is primarily unidirectional.
- System bus: The collective pathway comprising data, address and control buses allowing communication between CPU, memory and peripherals.
- The CPU initiates data transfer when it needs to read from or write to memory.
- The CPU places the target memory address on the address bus.
- The CPU issues control signals over the control bus indicating read or write operations.
- For a read, the memory retrieves data from the specified address and places it on the data bus to be read by the CPU.
- For a write, the CPU places data on the data bus and the memory stores it at the specified address.
- The memory controller coordinates access and ensures correct timing and transfer of data.
Microprocessors
- Earlier CPUs were large and occupied significant space; modern CPUs are highly miniaturised and implemented on a single chip called a microprocessor.
- Microprocessors consist of integrated circuits containing millions of transistors and other components and perform arithmetic, logic and control functions.
- They are the backbone of modern computing, available as single-core and multi-core (dual-core, quad-core, octa-core etc.) designs.
- Microprocessors have evolved through generations since the early 1970s, improving in performance, word size and energy efficiency.
Microprocessor Specifications
Important specifications that determine microprocessor capability include word size, memory capacity supported, clock speed and number of cores.
Word Size
- Word size is the number of bits a processor can process at once; it affects data width and addressing capability.
- Historically word sizes began at 4 or 8 bits; modern processors commonly use 16, 32 or 64-bit architectures.
Memory Size
- The addressable memory depends on word size and addressing scheme; larger word sizes allow addressing much larger RAM sizes.
- With 64-bit architectures, extremely large memory capacities (on the order of exabytes in theory) become feasible.
Clock Speed
- Clock speed is the rate at which the processor's internal clock generates pulses; it determines how quickly instructions are processed.
- Clock speeds are measured in Hertz (Hz), and modern CPUs are measured in Gigahertz (GHz) (billions of cycles per second).
Cores
- A core is a basic processing unit within a CPU.
- Single-core processors can execute one instruction stream at a time; multi-core processors can run multiple threads or programs concurrently, improving multitasking and parallel performance.
Microcontrollers
A microcontroller integrates a CPU, RAM, ROM (or flash), and peripheral interfaces on a single chip. Unlike a microprocessor which needs external memory and peripherals, a microcontroller is designed for embedded, dedicated control tasks.
- Examples of microcontroller use include washing machines, microwave ovens, digital cameras, remote controls and keyboards.
- Microcontrollers are small, low-cost and optimised for specific applications; they make automatic and repetitive tasks possible without human intervention.
- Advantages include compactness, low power consumption and ease of embedding within consumer and industrial devices.
For example, in a fully automatic washing machine a microcontroller manages water filling, soaking, washing, draining and spinning according to programmed logic.
A computer processes data - raw facts and figures - to produce information, which is data organised and presented to be meaningful and useful. Understanding this difference is essential: raw numbers or text are data; once processed and interpreted they become information.
Data and Its Types
- Structured data: Organized in a fixed format such as tables and records, easy to store and query. Examples: sales transactions, student attendance registers, bank transaction logs.
- Unstructured data: Lacks a predefined format - examples include audio/video files, social media posts, free-form documents and images.
- Semi-structured data: Does not follow a strict tabular structure but contains tags or markers that separate elements - examples include XML/HTML documents, CSV files and many email formats.
Data Capturing, Storage and Retrieval
Data Capturing
- Data capturing is the process of collecting data in digital form from various sources using devices such as keyboards, barcode readers, sensors and web forms.
- Sources can range from simple manual entry to automated sensors, social media feeds and satellite sensors.
Data Storage
- Data storage involves saving captured data for future processing and retrieval.
- The volume of data produced today has made storage a critical consideration; however, falling costs of digital storage have eased this challenge.
- Organisations often use large data servers with fast, high-capacity storage for business-critical data; maintaining these systems involves hardware and software costs.
Data Retrieval
- Data retrieval is fetching data from storage for processing or analysis.
- Efficient indexing and database design are required to minimise retrieval time as data volumes grow.
- Minimising access time improves the responsiveness of applications and systems.
Data Deletion and Recovery
- Data Deletion: Digital data may be lost due to hardware failure, user error, malware or deliberate deletion. When data is deleted it is often only the address entry that is marked free; actual bits may remain until overwritten.
- Data Recovery: Deleted or corrupted data can sometimes be recovered if the storage area has not been overwritten. Recovery tools can retrieve data from secondary storage devices.
- Security concerns: Preventing unauthorised deletion requires access controls, authentication and file protection. Preventing unauthorised recovery involves securely erasing or shredding disks before disposal to avoid leakage of sensitive data.
Software
Software is a set of instructions and data that tell the hardware what tasks to perform. Software is intangible but essential - it makes hardware useful by providing instructions, interfaces and services.
Examples of Software
- Operating systems: Ubuntu, Windows 7, Windows 10, macOS, Android, iOS.
- Word processing: Microsoft Word, LibreOffice Writer.
- Video players: VLC Player.
- Photo editors: GIMP, LibreOffice Draw, Adobe Photoshop.
Soft-copy and Hard-copy
- Soft-copy: Digital documents or images stored on disks or removable media.
- Hard-copy: Physical printed versions of documents or images.
Need of Software
Software acts as the interface between users and hardware, coordinating hardware components and enabling users to perform a wide range of tasks. Without software, hardware cannot operate in any meaningful way.
- System software: Manages and controls hardware resources and provides basic services required by application software.
- Programming tools: Help developers to write, test and maintain code.
- Application software: Performs specific end-user tasks such as word processing, accounting or web browsing.
System Software
System software provides basic functions for computer operation and acts as a platform for running applications.
Operating System (OS)
- The operating system is the most important system software; it manages hardware resources (CPU, RAM, disk, network and I/O devices) and controls application software and device drivers.
- Popular operating systems include Windows, Linux, macOS, Ubuntu, Android and iOS.
System Utilities
- System utilities are tools for maintenance and configuration, such as disk defragmenters, format utilities, system restore tools, anti-virus software, disk cleaners and compression utilities.
Device Drivers
- Device drivers are specialised programs that translate OS commands into device-specific instructions, enabling proper functioning of printers, display adapters, network cards and other hardware.
Programming Tools
Classification of Programming Languages
- Low-level languages: Machine-dependent languages such as machine code and assembly language.
- Machine language: Binary instructions (0s and 1s) directly executed by the CPU; difficult to write and debug.
- Assembly language: Uses mnemonics and symbols to represent machine instructions; requires an assembler to convert it to machine code and is CPU-specific.
- High-level languages: More readable, machine-independent languages such as C++, Java and Python; they require translators (compilers/interpreters).
Language Translators
- Assembler: Converts assembly language into machine code; assembler output is specific to a processor family.
- Compiler: Translates source code written in a high-level language into machine code or intermediate code; after compilation the executable can run without the compiler.
- Interpreter: Translates and executes source code line by line at runtime; an interpreter is needed each time the program is run.
Program Development Tools
- Text editor: For writing source code files.
- Integrated Development Environment (IDE): Combines editor, compiler/interpreter, debugger and other tools into one environment (examples: Python IDLE, NetBeans, Eclipse).
- Debugger: Tool to detect and fix errors in source code.
Application Software
General-purpose Software
- Ready-made applications designed for a wide range of users: examples include spreadsheet tools (Calc, Microsoft Excel), image editors (GIMP, Adobe Photoshop), web browsers (Mozilla Firefox) and media players (iTunes).
Customised (Tailor-made) Software
- Developed to meet specific needs of an organisation or individual, such as a customised website, school management software or specialised accounting software.
- Customised solutions fit particular workflows and often provide better alignment with user requirements.
Proprietary and Free / Open Source Software (FOSS)
- Free and Open Source Software (FOSS): Source code is available for anyone to study, modify and distribute. Examples: Ubuntu, Python, LibreOffice, Mozilla Firefox.
- Freeware: Software available at no cost, but source code is not necessarily available for modification (examples: some versions of Skype, Adobe Reader).
- Proprietary software: Copyrighted and distributed under licence; users pay for use and cannot modify source code (examples: Microsoft Windows, Tally).
Operating System
An operating system (OS) is a resource manager that oversees hardware and software resources, provides services to applications and presents a user interface. It handles CPU scheduling, memory allocation, file systems, device management and security.
- Primary objectives of an OS:
- Provide services for building and running application programs (load programs into memory, allocate CPU time).
- Provide a user interface that allows users to interact with the computer.
OS User Interfaces
- Command-based interface: Users type specific commands (for example MS-DOS, Unix shells). It relies mainly on the keyboard and requires knowledge of command syntax.
- Graphical User Interface (GUI): Uses windows, icons and menus for interaction (examples: Microsoft Windows, macOS, many Linux distributions).
- Touch-based interface: Interaction through touchscreens on smartphones, tablets and some PCs (examples: Android, iOS).
- Voice-based interface: Allows control by voice commands, helpful for accessibility and hands-free operation (examples: Siri, Google Assistant, Cortana).
- Gesture-based interface: Uses physical gestures (hand, head or eye movements) for interaction; emerging applications include gaming, medicine and assistive technologies.
Functions of Operating System
- Process management: Scheduling CPU time, creating and terminating processes, and providing mechanisms for process communication and synchronization.
- Memory management: Allocating and freeing memory to processes, tracking memory usage and ensuring protection between processes.
- File management: Organising files on secondary storage, providing operations to create, read, write and delete files, and enforcing access controls.
- Device management: Managing input/output devices through device drivers, configuring devices and controlling access to them for security.