Unit 4: So ware
4.1 Types of So ware and Interrupts
System So ware vs Applica on So ware
System So ware:
Controls and manages hardware opera ons.
Runs in the background.
Provides a pla orm for other so ware.
Examples:
o Opera ng systems (e.g. Windows)
o U lity programs
o Device drivers
Applica on So ware:
Allows users to perform specific tasks.
Directly interacts with users.
Examples:
o Word processors
o Spreadsheets
o Games
o Web browsers
Examples of Applica on So ware
Word Processor: Create/edit documents, spell checker, format text.
Spreadsheet: Organize data, use formulas, model scenarios.
Database: Store and manipulate data, perform queries.
Control/Measuring So ware: Interface with sensors for automa on.
Apps: Mobile applica ons like GPS, banking, streaming.
Video/Photo/Graphics Edi ng So ware: Manipulate media content.
Examples of System So ware
Device Drivers: Enable communica on between OS and hardware.
U lity Programs:
o Virus checkers
o Backup so ware
o Disk defragmenters
o File compression
o Security u li es (firewalls, user access control)
o Screensavers
Opera ng System: Manages input/output, memory, mul tasking, files, users, and
security.
Opera ng System Func ons
Human-Computer Interface (GUI/CLI)
Memory management
File management
Security and user account control
Peripheral management
Mul tasking support
Running applica on so ware
Handling interrupts
Interrupts
Signal to CPU to temporarily stop current task.
Sources: I/O request, hardware fault, user ac on, so ware error.
Interrupt Handling Process:
1. Save current state (Program Counter, registers).
2. Execute ISR (Interrupt Service Rou ne).
3. Resume original task.
Used With Buffers:
o Allows efficient mul tasking (e.g. prin ng while listening to music).
o Buffer temporarily stores data (e.g. between memory and printer).
4.2 Programming Languages, Translators and IDEs
High-Level vs Low-Level Languages
High-Level:
Closer to human language.
Easier to write, debug, and maintain.
Portable across computers (e.g. Python, Java).
Low-Level:
Machine or assembly code.
Hardware-specific, faster, more memory-efficient.
Harder to understand/debug.
Assembly Language
Uses mnemonics (e.g., LDA, ADD, STO).
Translated using an assembler.
Suitable for speed/space-cri cal tasks.
Translators
Translator Descrip on
Compiler Translates whole program to machine code at once.
Interpreter Translates line-by-line during execu on.
Assembler Converts assembly language to machine code.
Compiler vs Interpreter
Feature Compiler Interpreter
Speed Faster a er compiling Slower (line-by-line execu on)
Error Handling All errors shown a er compiling Stops at first error
Execu on Can run without compiler Needs interpreter every me
Memory Usage Less during execu on More during execu on
IDE (Integrated Development Environment) Features
Code Editor: For wri ng and edi ng code.
Debugger: Step-through code, breakpoints.
Translator: Built-in compiler/interpreter.
Error Diagnos cs: Real- me syntax and logic error detec on.
Auto-comple on: Suggests func ons and variables.
Auto-correc on: Fixes common errors.
Pre yprin ng: Color-coded and well-forma ed code.
Auto-documenta on: Explains func ons and methods.