Types of Software and Interrupts (Copy)
1. Difference Between System Software and Application Software
- System Software
- Definition: Software designed to operate, control, and manage the hardware components and provide a platform for running application software.
- Purpose: Ensures the smooth functioning of a computer system.
- Runs in the background, handling essential system tasks.
- Examples:
- Operating systems (Windows, macOS, Linux)
- Utility programs (antivirus, disk defragmenter, backup tools)
- Device drivers (printer driver, graphics card driver)
- Characteristics:
- Essential for system operation
- Manages resources (CPU, memory, storage, I/O devices)
- Communicates between hardware and software layers
- Application Software
- Definition: Software designed to help the user perform specific tasks.
- Purpose: Allows the user to interact with the system to carry out personal, business, or scientific activities.
- Examples:
- Word processors (Microsoft Word)
- Web browsers (Google Chrome)
- Spreadsheets (Microsoft Excel)
- Graphics editors (Adobe Photoshop)
- Characteristics:
- Task-specific
- Installed by the user based on needs
- Runs on top of system software
Comparison Table:
| Feature | System Software | Application Software |
|---|---|---|
| Purpose | Manage system resources and hardware | Perform specific tasks for the user |
| Examples | Operating systems, utilities, drivers | Word processors, browsers, games |
| Runs | In the background | In the foreground |
| Essential for system? | Yes | No (but needed for specific tasks) |
2. Role and Basic Functions of an Operating System (OS)
- Role of OS:
- Acts as an interface between the user and the hardware
- Coordinates and manages hardware and software resources
- Provides an environment where applications can run
- Basic Functions:
- Managing Files
- Organises files into directories/folders
- Handles file creation, reading, writing, deletion, and permissions
- Handling Interrupts
- Detects and processes events that require immediate attention
- Ensures efficient execution by responding to hardware/software signals
- Providing a User Interface
- Command-line interface (CLI)
- Graphical user interface (GUI)
- Managing Peripherals and Drivers
- Controls input/output devices using device drivers
- Translates OS commands into hardware-specific instructions
- Managing Memory
- Allocates RAM to running applications
- Handles virtual memory when RAM is insufficient
- Managing Multitasking
- Schedules processes so multiple programs appear to run simultaneously
- Providing a Platform for Applications
- Ensures applications can run without directly interacting with hardware
- Providing System Security
- Protects data from unauthorised access using authentication and encryption
- Managing User Accounts
- Creates and controls access rights for multiple users
- Managing Files
3. Relationship Between Hardware, Firmware, and Operating System
- Hardware: Physical components (CPU, RAM, hard drive, keyboard, etc.)
- Firmware:
- Software stored in ROM (e.g., BIOS/UEFI)
- Manages basic hardware settings
- Loads the operating system during startup (bootloader)
- Operating System:
- Loaded into RAM from storage by the firmware
- Provides the environment for running applications
- Applications:
- Run on top of the operating system using OS services
Startup Sequence:
- Power on → Firmware runs self-tests (POST)
- Firmware loads the bootloader
- Bootloader loads the operating system into RAM
- OS initialises system and launches applications
4. Role and Operation of Interrupts
- Definition:
- A signal that temporarily halts the CPU’s current activity to give attention to a specific event.
- Ensures urgent tasks are handled immediately.
- Types of Interrupts:
- Hardware Interrupts: Generated by external hardware devices
- Example: Pressing a keyboard key, mouse movement, printer out of paper
- Software Interrupts: Generated by programs or processes
- Example: Division by zero error, illegal memory access
- Hardware Interrupts: Generated by external hardware devices
- How an Interrupt Works (Interrupt Handling Process):
- Event occurs → Interrupt signal sent to CPU
- CPU suspends current task (context saved)
- CPU identifies type of interrupt
- Interrupt Service Routine (ISR) executed to handle the event
- CPU restores saved task and continues execution
- Uses of Interrupts:
- Ensure responsiveness to real-time events
- Efficient CPU usage (no need for constant polling)
- Enable multitasking
5. Examples of Interrupts
- Hardware Examples:
- Key press detected by keyboard controller
- Mouse click or movement
- Network packet arrival
- Software Examples:
- Application requesting operating system service
- Error such as division by zero
