Concept of Software
Definition of Software:
- Organized computer data & instructions.
- Function: Control, integrate, manage hardware; perform tasks.
- Role: Instruct computer, manage control sequences.
- Interaction: Software gives instructions, hardware executes.
- Nature: Intangible, user cannot physically touch.
Relationship Between Software and Hardware:
- Software: Computer programs loaded into the system.
- Hardware: Visible devices forming computers.
- Importance: Blend of software and hardware vital.
- Function: Software controls hardware, like a driver to a car.
- Relationship: Hardware (‘heart’) and software (‘soul’) complement.
- Vital Pair: Both essential, working together.
Categories of Software:
- Software: Set of programs for defined tasks.
- Sequence of instructions, problem-solving.
- Some categories of software are: System software, Application software

System Software:
- System software: Bridges user and hardware interaction.
- Function: Manages hardware, offers essential user functions.
- Intermediary: Between user and hardware, like the middle layer.
- Platform: Provides an environment for other software.
- Importance: Crucial for computer system management.
- Initialization: Loads into memory at computer startup.
- Background: Operates behind scenes, not for end-users.
- Term: Also called ‘low-level software’.
- common system software examples are:
-
Operating System
-
-
- Operating system: Essential for computer operation.
- Role: Controls computer activities, user-hardware link.
- Function: Enables user-hardware cooperation.
- Support: Needed for running software (word processing, etc.).
- Examples: MS DOS, Windows, UNIX, LINUX, Mac OS, Android.
Operating System (OS) Functions:
-
- Hardware management
- Process scheduling
- Memory allocation
- File system organization
- User interfaces
- Security control
- Device communication
- Error handling
- Networking support
- Software execution environment
- System services
- Virtualization (in some cases)
2. Utility Software
-
-
- Enhance computer functionality.
- Categories: antivirus, backup, disk repair, file management, security, networking.
- Include screensavers, font tools, desktop enhancements.
- Maintain system health and performance.
- Aid customization and user interface.
Example of Utility Software are:
Antivirus:
- Guards against viruses, malware.
- Detects, notifies, takes action.
- Examples: Norton, Kaspersky, McAfee.
Disk Management:
- Manages drives, partitions.
- Examples: Paragon Partition Manager, MiniTool Partition Wizard.
Compression:
- Reduces file sizes.
- Examples: WinZip, WinRAR, WinAce.
Disk Cleanup:
- Deletes unnecessary files.
- Increases storage, system speed.
- Examples: CCleaner, Advanced SystemCare.
Backup:
- Creates file, database copies.
- Recovers lost data.
- Examples: Norton Ghost, TotalRecovery Pro.
File Management:
- Manages computer files.
- Tasks: search, update, browse.
- Examples: Directory Opus, Windows File Manager.
3. Language Processor
- Translate programs written in one to another.
- Mediate high-level to machine-level code.
- Translate code for software execution.
- Example:
-
-
- Compiler
- Interpreter
- Assembler
Application Software:
- User-focused, task-specific.
- Essential for computer use.
- Single programs (Notepad) or packages (spreadsheets).
- Controlled by system software.
Used for a variety of purposes:
- As a business tool.
- Assist with graphics, multimedia projects.
- Support home, personal, education.
- Facilitate communication support.
- Aid in the entertainment industry aid.
Types of Application Software
-
Package Software:
- Task-specific software.
- User-friendly, readymade.
- Used for various purposes by many users.
- Types packaged software:
Word Processing Software
- Computer-based document tasks.
- Word processing software enables creation, editing, formatting, storage, retrieval, printing.
- Examples: WordStar, WordPerfect, MS Word, WordPad.
Database Software
- Creates, maintains, organizes databases.
- Enables data retrieval.
- Examples: dBase, FoxPro, MS Access, Oracle, SQL.
Spreadsheet Software
- Analyzes numeric data.
- Creates computerized ledgers.
- Examples: Lotus 1-2-3, Excel.
Multimedia Software
- Combines text, graphics, audio, video.
- Used for editing video, audio, text.
- Applications: business, education, entertainment.
- Examples: VLC, Windows Media Player, VLMC, Media Conversion Tools, Multimedia Editing Tools, Video Editing Tools.
Presentation Software
- Displays information as slides.
- Includes text, graphics, video, images.
- Components: Text editor, multimedia insertion, slideshow.
- Simplifies idea presentation.
- Examples: PowerPoint, Keynote.
Web Based Software
- Hosted on web servers, accessed via browsers.
- Data stored online, accessible from any device.
- No need for local software installation.
- Utilized through a web browser.
- Easy integration into websites.
- Cloud applications with no local storage/RAM requirement.
- Examples: Google Classroom, voice recognition, etc.
Mobile Apps
- Developed for smartphones, tablets.
- Provide various services.
- Small software units with specific functions.
- Utility, productivity, entertainment, etc.
- Popular in social media, various fields.
- Enhanced interactivity and mobile-friendly format.
2. Tailored Software:
- Custom-made for specific needs.
- Designed for individuals or organizations.
- Examples: NEB result processing, Tally Accounting, Medi-Pro, Billing software, School information system, etc.
Concept of Operating System
Introduction of Operating System
- Bridge between hardware, software.
- Essential for computer operation.
- Computer’s “heart” – controls operations.
- Manages input, output, files, peripherals.
- Interface between hardware and User
- Send instruction to the hardware
- Example: Linux, Mac OS, Microsoft Windows, and UNIX, etc.

- OS Kernel
-
- Core of operating system.
- Manages hardware resources.
- Provides essential services.
- Controls processes, memory, devices.
2. Utility Software
-
- Enhances computer functionality.
- Examples: antivirus, backup, disk cleanup, compression.
- Supports tasks like data management, system maintenance.
3. OS Application
-
- Software that runs on an operating system.
- User-focused, performs specific tasks.
- Example: Paints, WordPad, Notepad, Games, etc.
Role of Operating System
- Memory Management:
- Tracks memory status (allocated/free).
- Allocates memory among processes.
- Manages programs in memory.
2. Peripheral Management:
- Device driver handles peripherals.
- Translates requests, data, and messages.
- Controls device activity.
3. Hardware Interface Management:
- Manages wires, plugs, sockets.
- Enables hardware communication.
4. Storage Allocation:
- Reads, stores, writes data on disk.
- Assigns ownership, permissions.
- Manages data storage location.
5. Time-Slicing (Swapping):
- Allots processing time per user or program.
- Enables multitasking illusion.
Functions of Operating System:
- Interface between user and hardware.
- Manages computer system resources.
1. Input Output (I/O) Management
- Manages input-output in computer system.
- Device managers handle devices.
- Coordinates device assignments to programs.
- Recognizes keyboard, mouse input.
- Sends output to display, printer.
- Controls peripheral devices.
2. Command Interpreter
- Reads user-typed commands via terminal.
- Interprets and translates for hardware.
- OS-specific, varies across systems.
- Essential for OS operation.
3. Data Management
- Organizes data into files.
- Arranges data in logical groups.
- Sorts data (e.g., numerical, alphabetical).
4.Files management
- Tracks file information.
- Creates folders, sub-folders, files.
- Moves, organizes files in directory hierarchy.
- Manages folders, sub-folders, files.
- Enables efficient file searching.
5. Memory Management
- Array of words/bytes, each with address.
- OS allocates memory to processes.
- Free memory when the process ends.
- Enables efficient memory utilization.
6. Job Management
- Controls execution of multiple jobs or tasks.
- Schedules and allocates resources for tasks.
- Manages job queue, prioritization.
- Ensures efficient CPU utilization and job completion.
7. Process Management
- Manages running processes.
- Handles multitasking, CPU sharing.
- Allocates CPU time to processes.
- Determines execution order.
- FCFS principle (or priority-based in some cases).
- Ensures efficient CPU utilization

8. User Interface
- Provides interaction between user and system.
- Offers graphical or command-line interfaces.
- Enables users to issue commands, navigate, perform tasks.
- Ensures ease of use and efficient interaction.
9. Interrupt-handling
- Signal from device/program to computer.
- Halts normal processing.
- Requires CPU attention.
- Enhances system efficiency.
- External devices request CPU focus.
10. Security Management
- Crucial due to system, data, network concerns.
- OS responsibility: computer, data, user, programmer security.
- Controls system access.
- Manages user accounts, passwords.
- Offers encryption for data protection.
11. Deadlock Prevention
- Deadlock: resource conflict halting processes.
- OS prevents deadlock by resource allocation.
- Allocates resources cautiously.
- Ensures processes continue smoothly.
- Averts resource conflicts.
12. Time Sharing
- Allocates CPU to multiple processes.
- Manages CPU time distribution.
- Creates illusion of sole user.
- Each user/process gets time slice.
- Utilizes CPU speed advantage.
- Supports multi-user interaction.
13. Virtual Storage Management
- Used for programs larger than RAM.
- Utilizes secondary memory (e.g., hard disk).
- Program divided into pages.
- Only needed pages stay in main memory.
- Rest stored in secondary memory.
- Loaded when needed.
- Virtual storage: area in secondary memory for pages.
- Technique are:
-
- Divides memory and programs into fixed-size pages.
- Pages are stored in main memory or secondary storage.
- Allows flexible allocation of memory.
- Efficient memory usage.
- Simplifies memory management.
- Supports larger programs.
-
- Moves the entire process in/out of main memory.
- Temporary relocation to secondary storage.
- Frees up space for other processes.
- Helps manage limited memory efficiently.
- Ensures optimal resource utilization.
- Avoids unnecessary program termination.
Operating System Terminology
-
Multitasking Operating System:
-
- Executes multiple tasks concurrently.
- Allows simultaneous use of different programs.
- Enables efficient task switching.
- Examples: Editing and browsing simultaneously.
- Enhances user productivity.
- Supports concurrent program execution.
-
Multiprocessing Operating System:
-
- Multiple CPUs in a single computer system.
- CPUs closely connected, share data.
- Communication between processors.
- Shared resources: memory, buses, devices.
- Used for high processing speed.
- Scientific calculations, data analysis.
- Applications like weather forecasting.
- Efficient for data-intensive tasks.
Windows Operating System
Introduction to GUI based Operating System and Its Features
- Popular since the 1990s (Windows, macOS).
- Integral graphical interface.
- Ease-of-use environment over command line.
- Non-experts access and use computers.
- GUI: Graphical User Interface.
- Uses mouse, images for interaction.
- Windows, Icons, Menus, Pointing devices (WIMPs).
- WYSIWYG: What You See Is What You Get.
- Eliminates need to remember keywords.
- Menus replace commands.
- Relates desktop environment to physical workspace.
GUI Advantages and Disadvantages:
Advantages:
- Beginner-friendly.
- Cut, paste, drag-and-drop info exchange.
- User-friendly interaction.
Disadvantages:
- High memory, processing needs.
- Slower than the command line.
- Can be complex for simple tasks.
- Main GUI components: Windows, Icons, Menus, Pointer (WIMP).
- Examples: Windows 10, macOS, Ubuntu.
Features of GUI:
- Visual interaction with images, icons.
- Mouse-based navigation.
- Windows: Separate on-screen areas for apps.
- Icons: Represent files, programs.
- Menus: Dropdown lists for commands.
- Pointing devices (e.g., mouse, touchpad).
- WYSIWYG: Accurate on-screen to print output.
- User-friendly, intuitive interface.
- Used in Windows, macOS, Linux distributions.
Open Source and Mobile Operating System
Concept of Open Sources Operating
- Accessible, modifiable source code.
- Users can fix, enhance, improve code.
- Open source operating systems:
-
-
-
- GNU/Linux (Debian, Fedora, Ubuntu, etc.)
- OpenSolaris
- FreeBSD
- Android (mobile phone platform)
Advantages:
- Customization: Modify to fit specific needs.
- Flexibility: Adapt to changing requirements.
- Cost-effective: No licensing fees.
- Community Support: Collaboration for improvement.
- Security: Faster bug fixes, updates.
- Transparency: Code review, assurance.
- Innovation: Encourages creativity, diverse solutions.
- No Vendor Lock-in: Not tied to single provider.
- Reliability: Many eyes on code, quick issue resolution.
Disadvantages:
- Lack of Support: Limited or paid support options.
- Complexity: Learning curve for new users.
- Compatibility: Interoperability challenges with proprietary software.
- Fragmentation: Various distributions, versions.
- Security Risks: Vulnerabilities due to open code.
- Lack of Polished UI: Some may lack user-friendly interface.
- Limited Hardware Support: Not all devices/drivers may be supported.
- Potential Forks: Development divergence can lead to multiple versions.
- Legal and Licensing Issues: Compliance concerns for commercial use.
Free Software
- Refers to software with freedom for users.
- Freedom to use, modify, distribute.
- Not necessarily cost-free.
- Upholds user rights.
- Example: GNU General Public License (GPL).
- Promotes collaboration, sharing.
Introduction to UNIX, Linux
UNIX:
- Portable, multitasking, multiuser, time-sharing OS.
- Originated in 1969 by AT&T employees.
- Initially in assembly language, reprogrammed in C (1973).
- Identified with open systems concept.
- Ported to various machine families.
- Common in PCs, servers, mobile devices.
- Essential for Internet, networking development.
- Varieties of UNIX are: Sun Solaries, GNU/Linux and MacOS X.
The UNIX Operating System
The Kernel:
- Connects hardware and user.
- Central software component.
- Manages files, memory, devices, processes, network.
- Ensures system and user tasks correctness.
- Essential for smooth OS operation.
The Shell:
- Intermediary between user and kernel.
- Translate typed commands.
- Shell scripts are sequences of commands.
- Two major types: Bourne shell, C shell.
- Bourne shell: default in Version 7 Unix.
The program:
- Wide range of built-in programs.
- Text editors (vi, nano), compilers (gcc), utilities (ls, cp).
- Shell programs (bash, sh) for command-line interaction.
- Networking tools (ssh, ftp) for communication.
- System administration tools (useradd, chmod).
- Programming libraries and tools (libc, make).
- Offers diverse functionality for users and administrators.
Linux
- Freely distributable, Unix-based.
- Cross-platform, installed on various devices.
- PCs, laptops, mobiles, tablets, servers, more.
- Packaged as Linux distributions.
- Includes Linux kernel, tools, libraries.
- Common distributions: Debian, Ubuntu, Fedora, Red Hat, openSUSE.
Advantage of Linux:
- Open Source: Freedom to modify, distribute.
- Stability: Reliable, fewer crashes.
- Security: Less vulnerable to malware.
- Customization: Tailor to specific needs.
- Performance: Efficient resource usage.
- Cost-effective: No licensing fees.
- Community Support: Collaboration, solutions.
- Compatibility: Works on various hardware.
- Versatility: Runs on diverse devices.
Disadvantage of Linux:
- Learning Curve: May require new skills.
- Software Compatibility: Some apps not available.
- Hardware Compatibility: Limited drivers.
- Gaming: Fewer gaming options.
- User Interface: UI inconsistencies.
- Support: Limited official support for some distributions.
- Enterprise Adoption: Less common in some industries.
- Commercial Software: Less commercial software available.
- Fragmentation: Numerous distributions, versions.
Some LINUX commands
- mkdir – Its used to make directories
Syntax: mkdir directory
Example: mkdir ram
- cd – cd command is used to changed directories
Syntax: cd directory
Example: cd hello
- mv – To changed the name of directory mv command is used.
Syntax: my old_directory_namenew_directory_name
Example: mv testdir newnamedir
- rmdir – It remove an existing directory.
Syntax: rmdir directory
Example: rmdir directory
- cp – To copy files from one place to another cp command in used.
Syntax: cp source destination
Example: cp myfiles yourfile
- cal month year – It prints a calendar for the specified month of the specified year.
Example: cal 12 1987
- cat files – It prints the contents of the specified files.
Syntax: cat files_name
Example: cat newyear
- clear – It is used to clear the terminal screen.
Syntax: clear
- cmp files 1 files 2 – It compares two files, reporting all discrepancies. Similar to the diff command, though the output format differs.
- free – free command displays the amount of used and free system memory.
Linux Distributions
- OS based on Linux kernel.
- Includes software collection, package management.
- Users download distributions.
- Available for various systems (embedded to supercomputers).
- Examples: OpenWrt (embedded), Linux Mint (PCs), Rocks Cluster (supercomputers).
- some popular Linux operating system are:
1. Ubuntu
- Created by Canonical in 2004.
- Focus on user-friendly graphical interface.
- Derivative of Debian.
- Popular, well-known Linux distribution.
- Designed for ease of use, minimal command line.
- Comes with pre-installed apps, repositories.
- Transitioned from GNOME2 to Unity desktop.
- Frequent releases every six months.
- Expanding to tablets, smartphones.
2. Fedora
- Focuses on free software, latest versions.
- Doesn’t create its own desktop environment.
- Relies on “upstream” software.
- Default desktop environment: GNOME3.
- Emphasizes latest features over stability.
3. Linux Mint
- Based on Ubuntu, shares repositories.
- Originated as Ubuntu alternative.
- Includes media codecs, proprietary software.
- Gained popularity over time.
- Uses Cinnamon, MATE desktop environments.
- Distinct from Ubuntu’s Unity desktop.
Concept of Mobile Operating System
- Platform for mobile devices (PDAs, smartphones, etc.).
- Evolved from PC-based to smartphone-oriented.
- Driven by hardware, software, Internet advancements.
- Popular OSs: Android, Symbian, iOS, BlackBerry, Windows Mobile.
- Defines device features, functions (keypads, sync, email, etc.).
- Manages wireless connections, multimedia, input methods.
- Similar to standard OS, but simpler and lighter.
Types of Mobile Operating System
1. Android OS (Google Inc.)
- Developed by Open Handset Alliance, led by Google.
- Unveiled in November 2007.
- Core under open source Apache License.
- Proprietary software includes Play Store, Google services.
Feature of Android:
- Open Source: Customizable, accessible code.
- User Interface: Flexible, rich UI options.
- App Ecosystem: Vast selection on Play Store.
- Multitasking: Switch between apps smoothly.
- Notifications: Interactive, informative alerts.
- Customization: Widgets, themes, launchers.
- Connectivity: Seamless integration with Google services.
- Hardware Compatibility: Supports various devices.
- Security: Regular updates, app permissions.
- Cloud Integration: Syncing, backup, storage.
2. iPhone OS/IOS (Apple)
- Developed by Apple Inc.
- Exclusive to Apple hardware.
- Powers iPhone, iPad, iPod Touch, Apple TV.
- Closed source, proprietary.
- Built on open source Darwin core OS.
- Introduced direct manipulation for user interaction.
- Focused on small screens, limited input devices.
Feature of iPhone OS/iOS (Apple):
- Sleek User Interface: Clean, intuitive design.
- App Store: Curated apps, high-quality standards.
- Optimized Performance: Smooth operation on Apple hardware.
- Security: Regular updates, stringent app review.
- Privacy: User data protection, app permission control.
- iCloud Integration: Seamless data syncing, backup.
- Seamless Ecosystem: Integration with Apple devices.
- Siri: Voice assistant for tasks, queries.
- Face ID/Touch ID: Secure biometric authentication.
- ARKit: Augmented reality development platform.
3. Windows Mobile (Windows Phone)
- Developed by Microsoft for smartphones, Pocket PCs.
- Integrates Xbox Live, Xbox Music, video experience.
- Extends Windows desktop to portable devices.
- Three types: Standard, Professional, Classic.
- Seamlessly integrates with Microsoft services.
- Offers familiar Windows interface on mobile devices.
- Supports various types of mobile hardware.
- Used on PPC mobile phones, PDAs, portable music players.
Feature of Windows Mobile:
- Familiar Interface: Windows-like user experience.
- Microsoft Integration: Seamless access to Microsoft services.
- Multitasking: Run multiple apps simultaneously.
- Office Integration: Microsoft Office apps.
- Cortana: Voice-powered virtual assistant.
- Live Tiles: Dynamic, informative home screen icons.
- Customization: Personalize start screen, apps layout.
- Security: Device encryption, app sandboxing.
- Universal Apps: Apps across Windows devices.
- Xbox Integration: Xbox Live games and services.
4. BlackBerry OS (Research in Motion)
- Developed by Research In Motion (RIM).
- Designed for BlackBerry handheld devices.
- Offers synchronization with business software.
- Particularly beneficial for corporate users.
- Supports Microsoft Exchange, GroupWise, Lotus Domino.
- Known for security and enterprise features.
- Historically popular among business professionals.
Feature of BlackBerry OS:
- Security: Strong encryption, data protection.
- Push Email: Instant email delivery.
- BlackBerry Messenger (BBM): Secure messaging.
- Enterprise Integration: Synchronization with business software.
- BlackBerry Hub: Unified communication hub.
- Physical Keyboard: Many devices feature physical QWERTY keyboards.
- Efficient Messaging: Priority Hub, filters.
- Remote Device Management: Admin controls for business use.
- BlackBerry Balance: Separates work and personal data.
- BlackBerry World: App store for BlackBerry apps.
5. Symbian OS (Nokia)
- Mobile operating system with communication integration.
- Based on the Java language.
- Combines wireless communications and PIM.
- Developed by Symbian Ltd in 1998.
- Originally designed for mobile phones.
- First used by Nokia in its mobile devices.
Feature of Symbian OS (Nokia):
- User-Friendly Interface: Easy navigation and operation.
- Multitasking: Running multiple apps simultaneously.
- Customization: Themes, layouts, and profiles.
- Messaging: SMS, MMS, email, and IM support.
- Integrated PIM: Contacts, calendar, tasks, notes.
- Java Support: Allows running Java apps.
- Connectivity: Bluetooth, Wi-Fi, USB.
- Media Playback: Music, video, image viewing.
- Web Browsing: Basic web browsing capabilities.
- Extensibility: Support for third-party apps.