Computer Applications and Programming Fundamentals: Computer Software

Fundamentals of Computer Software

  • Software Definition: Software is a program consisting of a set of instructions that enables a computer to perform a specific task.
  • Core Function: It directs a computer on what tasks to perform and provides the methodology for how to perform them.
  • Communication with Hardware: These instructions are written in a specific language understood by computer hardware. The software effectively tells the hardware what to do.
  • The Hardware-Software Relationship: Hardware is described as a "brainless body" when it lacks software.
  • Physical Nature: Software is strictly intangible.

Classification of Computer Software

Computer software is categorized into two primary divisions:

  1. System Software
    • Operating Systems
    • Utility Software
  2. Application Software

System Software

  • Definition: A collection of complex programs designed to control and operate the computer system itself.
  • Intermediary Role: It acts as the interface between the physical hardware and the application software.
  • Purpose: Programs within this category are used primarily to control the computer and its hardware devices.
  • Platform Function: It provides a stable platform upon which other software can run.
  • Categories and Examples:
    • Operating Systems: Manage total system resources.
    • Device Drivers: Such as Graphics Drivers, which allow the OS to communicate with hardware components.
    • Firmware: Such as BIOS (Basic Input/Output SystemBasic\,Input/Output\,System).
    • Utility Software: Tools for maintenance and optimization.

Application Software

  • Definition: Software developed to assist the user in performing specific personal, educational, or business tasks.
  • Intermediary Role: Acts as a mediator between the End User and the System Software.
  • Dependency: Application software cannot run on its own; it is entirely dependent on the system software to execute.
  • General Examples:
    • Word Processing software.
    • Spreadsheet software.
    • Database management systems.
    • Multimedia software.
    • Web browsers.

Examples of Specific Application Software

  • Communications and Productivity: Gmail, Gmail Offline, Outlook.com, Word Online, Google Docs.
  • Storage and Collaboration: Google Drive, Box, Zoho Wiki.
  • Web and Development Tools: Entanglement Web App, Mobile Website Builder, SnapPages, SAPOmobile, sapo.pt.
  • Utilities and Content: Daum Equation Editor, PDF to Word Converter, Photo Book, YouTube, Kodak Gallery, Sticky Notes, FollowMania.

Operating Systems (OS)

  • Definition: A set of programs that control the execution of application programs and act as an intermediary between the user and the hardware.
  • Core Responsibilities: The OS manages computer hardware and provides the environment necessary for application programs to run.
  • General Examples: Windows, DOS, Linux, Ubuntu, MacOS.

History of Windows Operating System

  • 19851985: Windows 11
  • 19921992: Windows 3.13.1
  • 19951995: Windows 9595
  • 20012001: Windows XP
  • 20062006: Windows Vista
  • 20092009: Windows 77
  • 20122012: Windows 88
  • 20152015: Windows 1010
  • 20212021: Windows 1111

History of Apple macOS

  • Early Versions: Cheetah, Puma, Jaguar, Panther, Tiger, Leopard, Snow Leopard, Lion.
  • Later Versions: Mountain Lion, Mavericks, Yosemite, El Capitan, Sierra, High Sierra, Mojave, Catalina, Big Sur, Monterey.

Specific Operating System Distributions

  • Linux/Unix Distributions: Red Hat, Fedora, CentOS, Debian, Ubuntu, Mint, SUSE, Mageia, Arch Linux, Slackware, Mandriva, Gentoo.
  • BSD Distributions: NetBSD, FreeBSD, OpenBSD, DragonFly BSD.
  • Other: Darwin.

Functions of an Operating System

  • Process Management: The OS allows the computer to perform multiple activities (processors) simultaneously. It allocates all necessary resources for a process and manages them for maximum efficiency.
  • Memory Management: The OS ensures that sufficient computer memory (both primary and secondary memory) is allocated for every active process. Once a process concludes, the OS frees up the associated memory.
  • Device Management: The OS is responsible for managing all peripheral devices connected to the system and performs regular checks to ensure they are functioning properly.
  • File Management: The OS manages the file system, allowing users to save data in files and folders. It facilitates operations such as creating, deleting, and renaming these files/folders.
  • User Interface Provision: The OS provides interfaces for users to input commands and instructions. These are designed to be user-friendly so that tasks can be performed without requiring complex instruction sets.
  • Security Management: The OS manages the protection of the computer from various kinds of attacks using a variety of coded techniques.

Types of Operating Systems

  • Single-user OS: This type provides services to only one person at a time.
    • Examples: DOS, Windows 3x3x, Windows 95/97/9895/97/98.
  • Multi-user OS (Network OS): This allows multiple users to access and use a system simultaneously. These are typically installed in network environments where users need to share resources like files and printers.
    • Examples: Windows Server OS, Ubuntu Server, Red Hat Enterprise.
  • Multi-tasking OS: This allows the system to run multiple processes at the same time.
    • Examples: Microsoft Windows, Mac OS.
  • Real-Time OS (RTOS): Specifically designed for special-purpose embedded systems used in scientific devices and small gadgets. It provides output in real-time without observable delays.
    • Usage: ATMs, Robots, Cars, and Modems.
    • Examples: Microsoft Windows 20002000, IBM OS/390390.

Utility Software

  • Definition: A set of programs that assist with the functioning of the computer and various system maintenance tasks.
  • Purpose: Utilities aid in managing computer resources and are often included within the Operating System to ensure machine functionality and security against threats.

Categories of Utility Software

  • Backup software
  • Anti-Virus Software
  • Disk cleanup and management tools
  • Defragmentation tools
  • Compression tools
  • Disk partitioning software
  • Screen savers

Detailed Functions of Utility Software

  • Backup Software: Copies files and takes backups of hard drives.
  • Anti-virus Software: Protects the computer by identifying and eliminating malicious software.
  • Disk Scanner: Checks for errors within the hard drive.
  • Disk Defragmentation: Organizes the hard disk by rearranging files that have been scattered across the drive. It groups clusters of small spaces together to create larger contiguous free space.
  • File Compression: Shrinks larger files into smaller file sizes.
  • Task Manager: Displays information regarding active processes, programs, and the general status of the computer.
  • System Diagnosis Tools: Monitors errors in hardware and software across a single computer or a network of computers to diagnose system errors.
  • Disk Partitioning Software: Divides an individual physical drive into multiple logical drives.
  • Screensavers: Blanks the screen or fills it with moving patterns/images when the computer is idle.
  • System Profilers: Provides detailed information regarding all installed software and attached hardware.
  • Network Utilities: Analyzes network connectivity, configures network settings, checks data transfer, or logs network events.

Practice and Research Exercises

Exercise I: General Software Examples

Identify specific examples for the following categories:

  • Operating systems
  • Device drivers
  • Utility software
  • Document authoring software
  • Database software
  • Multimedia software
  • Web browsers
  • Rapid application development tools

Exercise II: Utility Software Identification

Find specific product examples for each of these utility types:

  • Back up software
  • Anti-Virus Software
  • Disk cleanup and management tools
  • Defragmentation tools
  • File compression tools
  • Disk partitioning software
  • Screen savers