Software Notes
4 Software
Key Objectives
Revise the following:
Types of software and interrupts
System software and application software
Role and function of operating systems
Need for hardware, firmware, and operating systems when running applications
Role and operation of interrupts
Types of programming language, translators, and integrated development environments (IDEs)
Advantages and disadvantages of high-level languages and low-level languages
Assembly languages
Advantages and disadvantages of compilers and interpreters
Role and function of IDEs when writing programming code
4.1 Types of Software and Interrupts
4.11 System Software and Application Software
Components of Computer Systems: Composed of hardware, system software, and application software.
Categories:
Hardware
System software
Application software
Operating System
Utility Programs
Device Drivers
Spreadsheet Software
Word Processor Software
Database Software
Editing Software
Internet Browser
General Features of System Software
Controls and manages operation of computer hardware.
Provides a platform for software execution.
Human-Computer Interface (HCI).
Allocates and manages resources.
General Features of Application Software
Performs specific tasks for users.
Allows for various user operations (e.g., creating documents, statistical analysis).
Can be single programs or suites.
Types of Application Software
Word Processor: Manipulate text documents (e.g., formatting, spell checking).
Spreadsheet: Organize and manipulate numerical data (e.g., formulas, graphs).
Database: Organizes and manipulates data in tables (e.g., queries, reports).
Control and Measuring Software: Interfaces with sensors for control tasks (e.g., chemical processes).
Apps: Software for mobile devices (e.g., gaming, banking).
Photo Editing Software: Manipulates digital images for enhancements (e.g., brightness, contrast).
Video Editing Software: Edits videos (e.g., rearranging clips, adding effects).
Graphics Manipulation Software: Edits bitmap and vector graphics.
4.2 Types of Programming Language, Translators and Integrated Development Environments
High-Level Languages and Low-Level Languages
High-Level Languages: Easier for programmers to develop applications; examples include Java, Python, Visual Basic.
Advantages: Easier to read, write, and maintain; faster development.
Disadvantages: Larger programs, slower execution.
Low-Level Languages: Allow fine-tuning for hardware efficiency; include assembly and machine code.
Advantages: More efficient execution, direct hardware control.
Disadvantages: More complex, longer development time.
Translators
Types:
Compilers: Translates high-level language to machine code in one go; produces executable files.
Interpreters: Translates and executes line by line; no executable file.
Assemblers: Translates assembly language to machine code.
IDEs (Integrated Development Environments)
Purpose: Suite of tools for program writing and development.
Features:
Code editor
Translators (compilers/interpreters)
Debuggers
Error diagnostics
Auto-completion
Documentation tools
4.1.3 Running of Applications
Booting Process: Part of OS loaded into RAM; BIOS informs CPU of OS location.
Apps controlled by OS requiring system software access.
4.1 Interrupts
Definition: A signal to the microprocessor prompting a temporary pause to service the request.
Causes of Interrupts: Timing signals, hardware faults, user interaction, software errors.
Service Orders: Each interrupt has a priority level determining service order.
Buffers: Allow simultaneous tasks (e.g., while printing, CPU performs other functions).
Examples of Interrupts: Hardware errors (printer jam), user inputs (keyboard), software errors (division by zero).
Exam Style Questions
Sample Questions: Cover aspects of Human-Computer Interfaces (HCIs), screen savers, specific OS functions, general operations, management of user accounts, security measures, and device drivers.
THANK YOU