Software
Introduction to Software
• Software refers to a set of instructions or programs that tell a
computer how to perform tasks.
• It is broadly divided into two categories:
• System Software
• Application Software
System Software
• System software manages and controls the operations of computer hardware.
• It acts as an interface between hardware and the user or application
programs.
• Examples:
• Operating Systems (e.g., Windows, Linux, macOS)
• Utility Programs (e.g. disk management tools)
• Device Drivers (e.g., printer drivers, network drivers)
• System Tools (e.g., file management, backup tools)
Functions:
• Resource Management: Controls hardware components (CPU,
memory, I/O devices).
• Task Scheduling: Allocates CPU time to processes using scheduling
algorithms.
• File Management: Organizes files and directories on storage devices.
• Security: Provides user authentication and access control.
• Error Detection and Handling: Monitors the system and alerts on
hardware or software failures.
Application Software
• Application software is designed to help users perform specific tasks or
activities.
• Examples:
• Word Processors (e.g., MS Word, Google Docs)
• Web Browsers (e.g., Chrome, Firefox)
• Media Players (e.g., VLC Media Player, Spotify)
• Spreadsheets (e.g., MS Excel, Google Sheets)
• Games (e.g., Minecraft, Call of Duty)
Functions:
1.Productivity:
1.Helps users create, manage, and share documents (e.g., MS Word).
2.Entertainment:
1.Used for gaming, music, video playback (e.g., Netflix, YouTube).
3.Communication:
1.Facilitates messaging and video conferencing (e.g., Zoom, WhatsApp).
4.Data Management:
1.Manages large datasets and databases (e.g., MS Access, SQL tools).
Differences between System Software
and Application Software
Criteria System Software Application Software
Purpose Manages hardware and Helps users perform
system operations specific tasks
Dependency Essential for system Runs on top of system
operation software
Installation Comes pre-installed or with User installs based on
the OS requirements
Examples OS, drivers, utilities MS Word, web browsers,
games
Execution Runs in the background Requires user input to run
User Interaction Minimal direct interaction High user interaction
Interaction between System and
Application Software
• Application software relies on system software to function.
• For example: A web browser (application software) uses
network drivers (system software) to access the internet.
• MS Word (application) relies on the operating system to save
and retrieve files.
Open-Source Software (OSS)
• Software whose source code is publicly available and can be
modified, distributed, and used by anyone.
• Often maintained by communities of developers.
• Examples: Linux, Apache, Mozilla Firefox, VLC Media Player.
Proprietary Software
• Software that is owned and controlled by a company or
individual.
• Users get a license to use but not access to the source code
or rights to modify it.
• Examples: Microsoft Windows, Adobe Photoshop, macOS.
Comparison
Feature Open-Source Software (OSS) Proprietary Software
Access to Source Code Available to everyone Not available to the public
License Usually free under licenses (e.g., Paid licenses or subscriptions
GPL, MIT)
Cost Often free or low-cost Usually requires purchase or
subscription
Customization Fully customizable by users Limited to vendor-provided
features
Support Community-based or paid support Official vendor support
services available
Updates Community-driven and may vary in Controlled, regular updates
frequency from the vendor
Security Transparency allows quick Vendor controls security
identification of bugs patches
Ownership Decentralized (community or Centralized (single entity owns
multiple contributors) it)
Advantages of Open-Source Software
• Cost-Effective: Free or low-cost alternatives to proprietary
software.
• Customization: Users can modify the software to meet
specific needs.
• Transparency: Open access to code ensures fewer hidden
vulnerabilities.
• Community Support: Engaged developer communities
contribute enhancements.
• Interoperability: Often follows open standards, making
integration easier.
Disadvantages of Open-Source
Software
•Complexity: Requires technical expertise to customize or deploy.
•Limited Official Support: Community support may be inconsistent.
•Compatibility Issues: May not integrate smoothly with proprietary software.
•Development Pace: Some projects may lack regular updates or become abandoned
Disadvantages of Proprietary Software
• High Cost: Can be expensive, with licensing fees or
subscriptions.
• Limited Customization: Users cannot alter the software.
• Vendor Lock-In: Switching to other software may be
difficult.
• Privacy Concerns: Users have limited visibility into the
internal workings.
• Dependence on Vendor: Users rely on the vendor for fixes
and updates.
Advantages of Proprietary Software
•Ease of Use: Designed for ease with user-friendly interfaces.
•Professional Support: Dedicated support teams and customer service.
•Regular Updates: Predictable release cycles and security patches.
•Comprehensive Documentation: Well-maintained manuals and training.
•Wider Compatibility: Works well with other proprietary solutions.
Open-Source Software Use Cases:
• Web Servers: Apache, Nginx.
• Operating Systems: Linux distributions (Ubuntu, Fedora).
• Programming Languages and Tools: Python, Git.
• Office Suites: LibreOffice, OpenOffice.
Proprietary Software Use Cases:
• Operating Systems: Windows, macOS.
• Office Suites: Microsoft Office.
• Design Tools: Adobe Creative Suite.
• Enterprise Software: Oracle Database, SAP.