Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Chapter 1: Computer Systems Overview

Welcome to the exciting world of Computer Science! This chapter lays the foundation by introducing you to the fundamental components of a computer system.

1.1 Basic Computer Organisation

A Computer System is an electronic device that can be programmed to accept data (input), process it, and generate meaningful information (output). A computer primarily consists of hardware and software.

Hardware vs Software

  • Hardware: The physical, tangible components of the computer (e.g., keyboard, monitor, CPU).
  • Software: The set of instructions or programs that tell the hardware what to do.

Components of a Computer System

  1. Input Devices: Devices used to provide data and instructions to the computer. Examples include Keyboard, Mouse, Scanner, Microphone, and Barcode Reader.
  2. Output Devices: Devices used to display or provide the result of processing. Examples include Monitor, Printer, Speaker, and Projector.
  3. Central Processing Unit (CPU): Known as the “brain” of the computer, the CPU executes instructions. It consists of the Arithmetic Logic Unit (ALU) for calculations, and the Control Unit (CU) to manage operations.
  4. Memory: Used to store data and instructions.
    • Primary Memory: Volatile memory (like RAM) directly accessible by the CPU, used for active tasks. Also includes ROM (Read Only Memory).
    • Cache Memory: Extremely fast, small memory located near or inside the CPU that stores frequently used data to speed up processing.
    • Secondary Memory: Non-volatile storage for long-term data retention (e.g., Hard Disk Drives, Solid State Drives, Pen Drives, CDs).

Units of Memory

Computer memory is measured in specific units based on binary digits (0s and 1s):

  • Bit: A single binary digit (0 or 1).
  • Byte: 8 Bits.
  • Kilobyte (KB): 1024 Bytes.
  • Megabyte (MB): 1024 KB.
  • Gigabyte (GB): 1024 MB.
  • Terabyte (TB): 1024 GB.
  • Petabyte (PB): 1024 TB.

1.2 Types of Software

Software is broadly categorized based on its function.

1. System Software

Software that provides a platform and manages computer hardware so that other software can run.

  • Operating Systems (OS): The core software that manages hardware resources (e.g., Windows, macOS, Linux, Android).
  • System Utilities: Tools used for system maintenance, like disk formatting tools, antivirus programs, and file managers.
  • Device Drivers: Specialized software that allows the OS to communicate with specific hardware devices (e.g., a printer driver).

2. Programming Tools and Language Translators

These are used by developers to write and translate code into machine language.

  • Assembler: Translates assembly language into machine code.
  • Compiler: Translates the entire high-level language program into machine code in one go.
  • Interpreter: Translates high-level language programs line-by-line during execution.

3. Application Software

Software designed to perform specific tasks for the user (e.g., Word processors, Web browsers, Video games).


1.3 Operating System (OS)

An Operating System acts as an intermediary between the user and the computer hardware.

Functions of an Operating System

  1. Process Management: Allocating CPU time to different running programs.
  2. Memory Management: Keeping track of primary memory and allocating/deallocating it as needed.
  3. File Management: Organizing data into files and directories on storage devices.
  4. Device Management: Managing communication with external devices via drivers.
  5. Security: Protecting data and resources through passwords and access controls.

OS User Interface

The UI is how a user interacts with the OS:

  • Command Line Interface (CLI): Users type text commands (e.g., DOS, Linux Terminal). It is lightweight but requires memorizing commands.
  • Graphical User Interface (GUI): Users interact with graphical elements like windows, icons, and menus using a mouse (e.g., Windows, macOS). It is highly user-friendly.

Competency Based Questions

Q1. Case-Based Scenario Ravi just bought a new computer. He wants to install a program that will allow him to type letters and create documents for his business.

  1. What type of software does Ravi need to install for typing documents?
  2. Mention the category of software that the Operating System falls under.

Q2. Assertion-Reasoning

  • Assertion (A): Cache memory is faster than Primary memory but slower than CPU registers.
  • Reason (R): Cache memory acts as a buffer between the CPU and the Main Memory to speed up processing. Choose the correct option: a) Both A and R are true and R is the correct explanation of A. b) Both A and R are true but R is NOT the correct explanation of A. c) A is true but R is false. d) A is false but R is true.

Q3. Application-Oriented A school needs to store the academic records of 5000 students. The principal wants to ensure the data is not lost when the computer is turned off. Which type of memory should the school rely on to store this data permanently? Justify your answer.

Q4. Find the Error Consider the following statements regarding Language Translators. Identify the incorrect statement and correct it.

  1. An Assembler converts High-Level Language to Machine Code.
  2. An Interpreter translates code line by line.
  3. A Compiler translates the entire program at once.

Answers to Competency Based Questions

A1.

  1. Ravi needs to install Application Software (specifically, Word Processing software).
  2. The Operating System falls under System Software.

A2. a) Both A and R are true and R is the correct explanation of A. Cache is placed between the CPU and RAM specifically to provide high-speed data access.

A3. The school should rely on Secondary Memory (such as a Hard Disk Drive or Solid State Drive). Justification: Primary memory (RAM) is volatile, meaning data is lost when the power is turned off. Secondary memory is non-volatile and is designed for long-term permanent storage of data.

A4. The incorrect statement is: “1. An Assembler converts High-Level Language to Machine Code.” Correction: An Assembler converts Assembly Language to Machine Code. High-Level Language to Machine Code conversion is done by a Compiler or an Interpreter.