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

robot