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:
- System Software
- Operating Systems
- Utility Software
- 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 ().
- 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
- : Windows
- : Windows
- : Windows
- : Windows XP
- : Windows Vista
- : Windows
- : Windows
- : Windows
- : Windows
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 , Windows .
- 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 , IBM OS/.
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