Subtopic Notes

4.1 Types of software and interrupts

4. Software

Types of Software

System Software

  • System software provides the services that the computer requires, including operating system and utility software.
  • The software used to manage and control the hardware components and which allow interaction between the hardware and the other types of software
  • Examples
    • Operating system: A collection of software that manages computer hardware resources and provides common services for computer programs. Eg: Windows, Linux, MacOS, Android, iOS.
    • Utility software: Application programs that assist a computer by performing housekeeping functions for the OS.
      Examples
      • Disk formatter: Wipes memory and sets up a disk so it is ready to store files
        • Virus checker: Scans for malicious program code
        • Defragmentation software: Moves parts of files so that each file is contiguous in memory
        • Disk contents analysis/disk repair software: Scans for errors in a disk and corrects them
        • File compression: Reduces the size of files by encoding data more efficiently, allowing for faster transfers and efficient storage.
        • Back-up Software: Creates a copy of data in case the original is lost
        • Screensaver
    • Translation Software/Compiler: Translates a high-level language program into machine code. Eg: VsCode
    • Device driver: Allows hardware components, such as printers, to communicate with the operating system

Application Software

  • A set of programs necessary to carry out operations for a specific function
  • Examples
    • Browser. Eg. Google Chrome
    • Spreadsheet. Eg. Excel
    • Word Processor. Eg. Microsoft Word
    • Database management system. Eg. Access
    • Control and Measuring software.
    • Apps. Eg. Facebook
    • Photo or Video Editing. Eg. Photoshop, Premier Pro
    • 3D Modeling. Eg. Blender
    • Graphics Manipulation. Eg. Illustrator
    • Computer Aided Design (CAD). Eg. Autocad

Operating System

A collection of software that manages computer hardware resources and provides common services for computer programs. OS hides the complexity of the hardware from the users by various methods like drive letters, virtual memory, input device management, virtual machine

Functions of OS:

  • File Management - Handles file-related operations such as opening, creating, deleting, renaming, and organizing files.
  • Handling Interrupts
  • Providing an Interface:
    • Command-line interface (CLI)/Character User Interface (CUI): Text-based / Key commands. Eg: CMD
    • Graphical User Interface (GUI): Uses WIMP - Windows, Icons, Menu, and Pointing Devices. EG: Windows
    • Dialogue Interface: This is a way of interacting with the environment by means of the spoken word. Eg: Smart Home
    • Menu Driven Interface: This type of interface lets the user interact with a computer or device by working the way through a series of screens or menus. Eg: ATM Machine, Earlier Phones
    • Gesture Based Interface: Uses human gestures via mathematical algorithms to run programs.
  • Hardware Peripheral and driver management - Manages device drivers, input/output operations, queues, and buffers.
  • Memory Management - Manages the primary (RAM) and secondary (HDD, SSD) memory during the execution of programs
  • Multitasking - Distributes hardware resources among multiple running processes
  • Platform for running applications
  • Security Management - Implements security features such as antivirus protection, system updates, and authentication mechanisms
  • Management of User Accounts - Supports multiple users, allowing customization of individual accounts

How hardware, firmware1 and OS are required to run applications software

When the computer is turned on, BIOS (Basic Input Output System) is run from the computer's ROM.

  • BIOS first conducts a Power On Self-Test (POST).
  • BIOS then looks for the system files at a specific place on the hard drive.
  • BIOS then loads Boot Record or Master Boot Record (MBR) and the bootloader (firmware) in RAM
  • The bootloader (firmware) executes and loads the OS files into the RAM
  • The Computer starts the OS (booting up the computer) through the bootstrap loader, and OS takes control of the system
  • The OS remains in the memory till the power is on
  • Applications rely on the hardware to run their processes, the firmware to manage low-level hardware operations, and the OS to access system resources and manage execution.

Interrupts

  • Purpose
    • Used to attend to certain tasks/issues
    • Used to make sure that vital tasks are dealt with immediately
    • A signal telling the CPU that its attention is required
    • Enables multi-tasking
  • Operation
    • CPU checks the interrupt register after each F-D-E cycle
    • If flag is true in interrupt register, interrupt source is detected
    • If priority is low, it is ignored
    • If it is high priority
      • Contents of registers in CPU are stored in stack
      • PC is loaded with Interrupt Service Routine (ISR)
      • ISR executed
      • CPU restores the registers’ contents,
      • Old program continues
      • Interrupts are again re-enabled
      • F-D-E cycle begins again
  • Examples
    • A hardware interrupt - Paper jam in a printer, Pressing a key, moving mouse
    • A software error – File not found, division by zero, two processes trying to access the same memory location

Footnotes

  1. Firmware: low-level software embedded in hardware that controls device functions and can be updated for improvements.