(ITB) Unit 4-Computer Software
(ITB) Unit 4-Computer Software
Computer Software
Above is the diagram of types of software. Now we will briefly describe each type and its subtypes:
 1. System Software
 • Operating System
 1
© Shirish Gautam
 • Language Processor
 • Device Driver
 2. Application Software
 • General Purpose Software
 • Customize Software
 • Utility Software
System Software
System software is software that directly operates the computer hardware and provides the basic
functionality to the users as well as to the other software to operate smoothly. Or in other words,
system software basically controls a computer’s internal functioning and also controls hardware
devices such as monitors, printers, and storage devices, etc. It is like an interface between hardware
and user applications, it helps them to communicate with each other because hardware understands
machine language(i.e. 1 or 0) whereas user applications are work in human-readable languages
like English, Hindi, German, etc. so system software converts the human-readable language into
machine language and vice versa.
Types of System Software
It has two subtypes which are:
 1. Operating System: It is the main program of a computer system. When the computer
 system ON it is the first software that loads into the computer’s memory. Basically, it
 manages all the resources such as computer memory, CPU, printer, hard disk, etc., and
 provides an interface to the user, which helps the user to interact with the computer system.
 It also provides various services to other computer software. Examples of operating
 systems are Linux, Apple macOS, Microsoft Windows, etc.
 2. Language Processor: As we know that system software converts the human-readable
 language into a machine language and vice versa. So, the conversion is done by the
 language processor. It converts programs written in high-level programming
 languages like Java, C, C++, Python, etc(known as source code), into sets of instructions
 that are easily readable by machines(known as object code or machine code).
 3. Device Driver: A device driver is a program or software that controls a device and helps
 that device to perform its functions. Every device like a printer, mouse, modem, etc. needs
 a driver to connect with the computer system eternally. So, when you connect a new device
 with your computer system, first you need to install the driver of that device so that your
 operating system knows how to control or manage that device.
Features of System Software
Let us discuss some of the features of System Software:
 2
© Shirish Gautam
 • System Software is closer to the computer system.
 • System Software is written in a low-level language in general.
 • System software is difficult to design and understand.
 • System software is fast in speed(working speed).
 • System software is less interactive for the users in comparison to application software.
Application Software
Software that performs special functions or provides functions that are much more than the basic
operation of the computer is known as application software. Or in other words, application
software is designed to perform a specific task for end-users. It is a product or a program that is
designed only to fulfill end-users’ requirements. It includes word processors, spreadsheets,
database management, inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:
 1. General Purpose Software: This type of application software is used for a variety of tasks
 and it is not limited to performing a specific task only. For example, MS-Word, MS-Excel,
 PowerPoint, etc.
 2. Customized Software: This type of application software is used or designed to perform
 specific tasks or functions or designed for specific organizations. For example, railway
 reservation system, airline reservation system, invoice management system, etc.
 3. Utility Software: This type of application software is used to support the computer
 infrastructure. It is designed to analyze, configure, optimize and maintains the system, and
 take care of its requirements as well. For example, antivirus, disk fragmenter, memory
 tester, disk repair, disk cleaners, registry cleaners, disk space analyzer, etc.
Features of Application Software
Let us discuss some of the features of Application Software:
 • An important feature of application software is it performs more specialized tasks like word
 processing, spreadsheets, email, etc.
 • Mostly, the size of the software is big, so it requires more storage space.
 • Application software is more interactive for the users, so it is easy to use and design.
 • The application software is easy to design and understand.
 • Application software is written in a high-level language in general.
 3
© Shirish Gautam
Some other APPLICATION SOFTWARE:
 a) Freeware Software
Freeware software refers to software that is distributed at no cost to the end-user. Users can
download, install, and use freeware without having to pay any license fees. Freeware is distinct
from other types of software, such as shareware (which may have limited functionality until a fee
is paid) or commercial software (which requires a purchase).
Here are some key characteristics of freeware software:
 1. No Cost: Freeware is available for use without any monetary cost. Users can download
 and install the software without having to pay for a license.
 2. Full Functionality: Freeware typically offers full functionality, meaning that users have
 access to all features and capabilities of the software without any limitations. Unlike trial
 or demo versions of software, freeware does not restrict usage based on time or
 functionality.
 3. Distribution Rights: Freeware developers retain the rights to distribute their software for
 free. They may choose to distribute freeware through their own websites, software
 repositories, or other distribution channels.
 4. No Source Code Access: In most cases, freeware does not provide access to the source
 code. Users cannot modify or customize the software beyond its original capabilities.
 5. No Obligation for Support: Since freeware is provided free of charge, users typically do
 not receive formal support from the developers. However, some freeware projects may
 have user forums, documentation, or community-driven support channels.
Examples of freeware software include:
 1. Mozilla Firefox: A popular web browser developed by the Mozilla Foundation. Firefox is
 available as freeware and offers features such as tabbed browsing, customizable interfaces,
 and support for extensions.
 2. VLC Media Player: VLC is a versatile media player that supports various audio and video
 formats. It is available as freeware for multiple platforms, including Windows, macOS,
 and Linux.
 3. 7-Zip: 7-Zip is a file archiver utility that supports various compression formats, including
 ZIP, TAR, and RAR. It is available as freeware and offers high compression ratios and
 strong encryption options.
 4. Audacity: Audacity is an open-source audio editing software that allows users to record,
 edit, and manipulate audio files. It is available as freeware for Windows, macOS, and
 Linux.
 4
© Shirish Gautam
 5. Paint.NET: Paint.NET is a free image editing software for Windows, offering features
 such as layers, special effects, and support for plugins. It is developed by a community of
 volunteers and is available for download at no cost.
Freeware software provides users with access to useful tools and applications without requiring
them to make any financial investment. While it may not offer the same level of support or
customization options as commercial software, freeware remains a popular choice for individuals
and organizations looking for cost-effective solutions.
 b) Shareware Software
Shareware is a type of software distribution model where users are allowed to try the software
before purchasing it. It typically involves providing users with a limited version of the software,
often with restricted features or a trial period, with the option to purchase a full license to unlock
additional functionality or remove limitations. Shareware is often distributed freely or at a nominal
cost, and it relies on the honor system for users to pay for continued use if they find the software
valuable.
Here are some key characteristics of shareware:
 1. Trial Version: Shareware usually comes in the form of a trial or demo version, which
 allows users to try out the software before making a purchase. The trial version may have
 limitations such as restricted features, limited functionality, or a time-limited trial period.
 2. Payment for Full Version: If users find the shareware software useful and wish to
 continue using it beyond the trial period or with full functionality, they are typically
 required to purchase a license or pay a fee. This payment grants them access to the full
 version of the software.
 3. Distribution: Shareware is often distributed through various channels, including online
 platforms, software download websites, and direct distribution by the software developer.
 It may also be shared through physical media like CDs or DVDs.
 4. Honor System: Shareware relies on the honor system, where users are encouraged but not
 obligated to pay for continued use of the software if they find it valuable. Users are
 expected to respect the terms of the shareware agreement and pay for the software if they
 choose to continue using it.
 5. Varied Licensing Models: Shareware can have different licensing models, including one-
 time purchases, subscription-based models, or pay-per-use options. The terms of use and
 pricing structure vary depending on the software developer's preferences.
Examples of shareware software include:
 1. WinRAR: WinRAR is a popular file compression and archiving utility available for
 Windows. It is distributed as shareware, allowing users to use a trial version with limited
 5
© Shirish Gautam
 functionality. Users are encouraged to purchase a license if they wish to continue using
 WinRAR beyond the trial period.
 2. WinZip: Similar to WinRAR, WinZip is a file compression and archiving tool available
 for Windows and macOS. It is distributed as shareware, offering users a trial version with
 limited features. Users can purchase a license to unlock the full functionality of the
 software.
 3. IDM (Internet Download Manager): IDM is a download manager application for
 Windows that helps users organize and accelerate their downloads. It is distributed as
 shareware, offering a trial version with limited features. Users can purchase a license to
 unlock the full capabilities of IDM.
 4. Snagit: Snagit is a screen capture and recording software available for Windows and
 macOS. It is distributed as shareware, allowing users to use a trial version with restricted
 features. Users can purchase a license to access the complete set of features offered by
 Snagit.
 5. Avast Antivirus: Avast is a popular antivirus software available for Windows, macOS,
 Android, and iOS. It is distributed as shareware, offering users a free trial period with
 limited features. Users can choose to purchase a subscription to unlock additional security
 features and ongoing protection.
Shareware provides users with the opportunity to evaluate software before making a purchase,
allowing them to make informed decisions based on their needs and preferences. While shareware
offers flexibility and affordability, users should be mindful of the terms of use and consider
supporting software developers by purchasing licenses for software they find valuable.
Freeware vs Shareware Software
 6
© Shirish Gautam
Feature Freeware Software Shareware Software
 7
© Shirish Gautam
Explanation:
 1. Source Code Availability: One of the fundamental aspects of open source software is that
 its source code is freely available to users. This means that anyone can inspect the code to
 understand how the software works or make modifications to it.
 2. Licensing: Open source software is typically distributed under licenses that allow users to
 freely use, modify, and distribute the software. Popular open source licenses include the
 GNU General Public License (GPL), MIT License, Apache License, and BSD License.
 These licenses often have varying degrees of restrictions regarding the distribution of
 modified versions or the use of the software in proprietary projects.
 3. Community Collaboration: Open source projects often thrive on community
 collaboration. Developers from around the world contribute to the improvement and
 maintenance of the software. This collaborative model fosters innovation, rapid
 development, and bug fixing.
 4. Transparency: Since the source code is open and accessible, open source software tends
 to be more transparent. Users can inspect the code for security vulnerabilities, privacy
 concerns, or any other issues, which promotes trust and accountability.
 5. Freedom of Choice: Open source software offers users the freedom to use the software for
 any purpose, modify it to suit their needs, and distribute it to others. This freedom
 empowers users and promotes innovation without being tied to restrictive licensing terms.
Examples:
 1. Linux Operating System: Linux is one of the most prominent examples of open source
 software. It is a Unix-like operating system kernel that serves as the foundation for various
 Linux distributions (distros) like Ubuntu, Fedora, and Debian. Linux powers servers,
 supercomputers, smartphones, and embedded devices.
 2. Mozilla Firefox: Firefox is an open source web browser developed by the Mozilla
 Foundation. It offers features such as tabbed browsing, private browsing, and extensive
 customization options. Firefox's source code is freely available, allowing users to
 customize and extend the browser to suit their needs.
 3. Apache HTTP Server: Apache is an open source web server software that powers a
 significant portion of websites on the internet. It is known for its stability, performance,
 and extensibility. Apache's modular architecture allows developers to add or remove
 features as needed.
 4. WordPress: WordPress is an open source content management system (CMS) used for
 building websites and blogs. It offers a user-friendly interface, customizable themes, and a
 vast ecosystem of plugins and extensions. WordPress powers millions of websites
 worldwide.
 8
© Shirish Gautam
 5. Arduino: Arduino is an open source hardware and software platform used for building
 electronics projects. It consists of an easy-to-use hardware development board and an
 integrated development environment (IDE) for writing, compiling, and uploading code to
 the board. Arduino is widely used by hobbyists, students, and professionals for prototyping
 and education.
 Etc.
These examples illustrate the diverse range of open source software available across different
domains, from operating systems and web browsers to web servers and development platforms.
Open source software continues to play a crucial role in driving innovation, collaboration, and
accessibility in the technology industry.
Closed source software, also known as proprietary software, refers to software that is not
distributed with its source code publicly available for modification or enhancement by users. The
source code is typically kept secret by the company or individual that develops the software, and
users are only provided with the compiled executable code.
Here are some key characteristics and details about closed source software:
 1. Source Code Accessibility: The source code of closed source software is not available to
 the general public. Only the developers or authorized individuals within the company have
 access to the source code.
 2. Restrictions on Modification: Users are not allowed to modify, adapt, or enhance the
 software because they do not have access to the underlying source code. Any modifications
 or enhancements can only be made by the original developers or authorized personnel.
 3. Limited Customization: Since users cannot modify the source code, customization
 options are usually limited to what the developers provide through configurable settings or
 options within the software.
 4. License Restrictions: Closed source software is typically distributed under end-user
 license agreements (EULAs) that restrict how the software can be used, copied, distributed,
 and modified. Users must agree to these terms before using the software.
 5. Protection of Intellectual Property: Keeping the source code closed helps protect the
 intellectual property rights of the software developers. It prevents competitors from
 accessing and replicating the code, which could lead to unauthorized copies or derivative
 works.
 6. Quality Control: Closed source software is often subject to rigorous quality control
 measures by the development team before being released to the public. This can help ensure
 that the software meets certain standards of reliability, security, and performance.
 9
© Shirish Gautam
Examples of closed source software include:
 1. Microsoft Windows: The operating system developed by Microsoft is one of the most
 well-known examples of closed source software. The source code is proprietary, and users
 are not allowed to modify it.
 2. Adobe Photoshop: Adobe Photoshop is a popular image editing software that is closed
 source. Users cannot access or modify its source code.
 3. Oracle Database: Oracle Database is a relational database management system developed
 by Oracle Corporation. Its source code is closed and users are not allowed to modify it.
 4. Apple iOS: The operating system used on iPhones and iPads is closed source. Apple tightly
 controls its development and distribution, and users cannot modify the source code.
 5. VMware Workstation: VMware Workstation is a virtualization software that allows users
 to run multiple operating systems on a single physical machine. It is closed source and
 users cannot access its source code.
 Etc.
These examples illustrate the prevalence of closed source software across various domains,
including operating systems, productivity tools, database management systems, and virtualization
software.
Open Source VS Closed Source Software
 Users have the right to modify, adapt, and Users do not have the right to
Modification enhance the software according to their modify the software since they do
Rights needs. not have access to the source code.
 10
© Shirish Gautam
Aspect Open Source Software Closed Source Software
This table summarizes the fundamental distinctions between open source and closed source
software in terms of accessibility, modification rights, licensing, community collaboration,
transparency, flexibility, intellectual property, quality control, and examples of each type of
software.
Difference Between System Software and Application Software
Now, let us discuss some difference between system software and application software:
 11
© Shirish Gautam
System Software Application Software
Less interactive for the users. More interactive for the users.
 12
© Shirish Gautam
Following is another definition taken from Wikipedia:
An operating system (OS) is system software that manages computer hardware, software
resources, and provides common services for computer programs.
Architecture
We can draw a generic architecture diagram of an Operating System which is as follows:
Operating systems (OS) are software that manage computer hardware resources and provide
services for computer programs. There are several types of operating systems, each designed for
different types of devices and computing needs. Here's an overview of the main types with
examples:
 1. Single-User, Single-Tasking OS:
 • Designed to manage the resources of a single user and only execute one task at a
 time.
 • Examples: MS-DOS (Microsoft Disk Operating System), early versions of Mac
 OS.
 2. Single-User, Multi-Tasking OS:
 • Allows a single user to run multiple programs simultaneously.
 • Examples: Microsoft Windows (e.g., Windows 10), macOS, Linux distributions
 like Ubuntu, Fedora, etc.
 3. Multi-User OS:
 13
© Shirish Gautam
 • Allows multiple users to access a computer system simultaneously and share
 resources.
 • Examples: Unix, Linux (server editions), Windows Server.
 4. Real-Time OS (RTOS):
 • Designed to process data as it comes in, typically used for tasks requiring quick and
 predictable responses.
 • Examples: VxWorks, QNX, FreeRTOS.
 5. Mobile OS:
 • Designed for mobile devices like smartphones and tablets, optimized for touch
 interfaces and limited resources.
 • Examples: Android, iOS, Windows Mobile (discontinued).
 6. Embedded OS:
 • Specialized operating systems designed for embedded systems, such as those found
 in consumer electronics, industrial machines, and automobiles.
 • Examples: Embedded Linux, Windows Embedded, RTOS like FreeRTOS, eCos.
 7. Network OS:
 • Designed to support network communication and resource sharing among multiple
 computers.
 • Examples: Novell NetWare, Windows Server, Linux distributions configured for
 server roles.
 8. Distributed OS:
 • Extends the network operating system concept to distribute computing tasks across
 multiple physical or virtual machines.
 • Examples: Amoeba, Plan 9, Inferno.
 9. Virtualization OS:
 • Allows multiple virtual machines to run on a single physical machine, each with its
 own OS.
 • Examples: VMware ESXi, Microsoft Hyper-V, Xen.
 10. Hybrid OS:
 • Combines features of multiple types of operating systems to serve specific needs,
 often seen in modern server environments.
 14
© Shirish Gautam
 • Examples: Chrome OS (combines aspects of Linux and cloud computing), macOS
 (incorporates Unix-based architecture with user-friendly interface).
 These are some of the main types of operating systems, each tailored to meet specific requirements
 and preferences of users, devices, and applications.
 15
 © Shirish Gautam
Objectives of Operating System
The objectives of the operating system are −
 • To make the computer system convenient to use in an efficient manner.
 • To hide the details of the hardware resources from the users.
 • To provide users a convenient interface to use the computer system.
 • To act as an intermediary between the hardware and its users, making it easier for the users
 to access and use other resources.
 • To manage the resources of a computer system.
 • To keep track of who is using which resource, granting resource requests, and mediating
 conflicting requests from different programs and users.
 • To provide efficient and fair sharing of resources among users and programs.
objectives of OS in details with examples:
 1. Resource Management:
 • Processor Management: The OS allocates CPU resources to different processes.
 For example, in a multitasking environment, the OS ensures that each running
 application gets a fair share of CPU time. If one process is performing a
 computationally intensive task, the OS may prioritize other processes to maintain
 system responsiveness.
 • Example: In a computer running multiple applications simultaneously (e.g., web
 browser, media player, word processor), the OS distributes CPU time among these
 processes to prevent any one application from monopolizing resources.
 16
© Shirish Gautam
 • Memory Management: The OS manages system memory, including allocation,
 deallocation, and protection. For instance, when a program requests memory
 allocation, the OS assigns a suitable portion of memory to it. If memory becomes
 scarce, the OS may use techniques like virtual memory to optimize memory usage
 by swapping data between RAM and disk.
 • Example: When a user launches multiple applications, the OS ensures that each
 application has enough memory to run smoothly. If memory demand exceeds
 available physical RAM, the OS may swap less frequently used data to disk to free
 up space for active processes.
 • Device Management: The OS controls hardware devices such as printers, disk
 drives, and network interfaces. It provides device drivers and manages
 communication between software and hardware components.
 • Example: When a user prints a document, the OS sends print commands to the
 printer driver, which translates them into signals the printer can understand. The
 OS manages the printer queue, ensuring that documents are printed in the order
 they were submitted.
 2. User Interface:
 • Command Line Interface (CLI): The OS provides a text-based interface where
 users interact with the system by typing commands. Examples include the
 Command Prompt in Windows and the Terminal in Unix-based systems.
 • Example: A user might use the CLI to navigate the file system, run programs, or
 manage system settings by entering commands such as ls (list files), mkdir (create
 directory), or sudo apt-get update (update package lists in Linux).
 • Graphical User Interface (GUI): Many modern OSes offer GUIs with windows,
 icons, menus, and pointers, making it easier for users to interact with the system.
 Examples include the Windows desktop environment and the macOS Finder.
 • Example: A user can navigate files and folders by clicking icons, open applications
 by double-clicking their shortcuts, and interact with menus to perform tasks such
 as copying files or changing system settings.
 3. Control and Coordination:
 • Process Control: The OS manages processes, including creation, termination, and
 synchronization. For example, it ensures that multiple processes can run
 concurrently without interfering with each other.
 • Example: When a user launches a web browser, the OS creates a new process for
 the browser application. If the browser encounters an error and needs to be
 terminated, the OS ensures that resources associated with the process are released
 properly.
 17
© Shirish Gautam
 • Concurrency Control: The OS facilitates the concurrent execution of multiple
 processes while preventing conflicts and ensuring resource sharing. For instance, it
 provides synchronization mechanisms like semaphores and mutexes.
 • Example: In a multi-user environment, where several users access the same file
 simultaneously, the OS employs locking mechanisms to prevent data corruption.
 When one user is editing the file, the OS may restrict access to other users until the
 editing process is complete.
 4. Security:
 • User Authentication and Authorization: The OS verifies user identities and
 controls their access to system resources based on permissions. For example, it
 prompts users to enter passwords to log in and enforces access control policies.
 • Example: When a user tries to access a protected file, the OS checks whether the
 user has the necessary permissions. If the user lacks permission, the OS denies
 access and may prompt for authentication credentials.
 • Data Protection: The OS implements security measures such as encryption and
 access control to protect sensitive data. For instance, it may encrypt files to prevent
 unauthorized access and enforce file permissions to restrict user actions.
 • Example: A user encrypts a folder containing confidential documents using the
 built-in encryption feature provided by the OS. Only users with the appropriate
 decryption key can access the contents of the encrypted folder.
 5. System Services:
 • Networking: The OS provides networking services, allowing computers to
 communicate over networks. For example, it manages network interfaces, assigns
 IP addresses, and handles data transmission protocols.
 • Example: When a user connects to the internet, the OS establishes a network
 connection, negotiates transmission parameters, and routes data packets between
 the user's computer and remote servers.
 • Printing: The OS manages printing operations, including queuing print jobs and
 controlling printer resources. For example, it sends print commands to the printer
 driver and monitors print job status.
 • Example: A user sends a document to the printer through the OS's printing
 interface. The OS adds the print job to the print queue, where it waits until the
 printer becomes available. Once the printer is ready, the OS sends the document to
 be printed.
These examples illustrate how an operating system fulfills its objectives by managing resources,
providing interfaces, controlling processes, ensuring security, and offering system services to users
and applications.
 18
© Shirish Gautam
Functions/Characteristics of Operating System
Here is a list of some of the most prominent characteristic features of Operating Systems −
 • Memory Management − Keeps track of the primary memory, i.e. what part of it is in use
 by whom, what part is not in use, etc. and allocates the memory when a process or program
 requests it.
 • Processor Management − Allocates the processor (CPU) to a process and deallocates the
 processor when it is no longer required.
 • Device Management − Keeps track of all the devices. This is also called I/O controller
 that decides which process gets the device, when, and for how much time.
 • File Management − Allocates and de-allocates the resources and decides who gets the
 resources.
 • Security − Prevents unauthorized access to programs and data by means of passwords and
 other similar techniques.
 • Job Accounting − Keeps track of time and resources used by various jobs and/or users.
 • Control Over System Performance − Records delays between the request for a service
 and from the system.
 • Interaction with the Operators − Interaction may take place via the console of the
 computer in the form of instructions. The Operating System acknowledges the same, does
 the corresponding action, and informs the operation by a display screen.
 • Error-detecting Aids − Production of dumps, traces, error messages, and other debugging
 and error-detecting methods.
 • Coordination Between Other Software and Users − Coordination and assignment of
 compilers, interpreters, assemblers, and other software to the various users of the computer
 systems.
Function of OS in details with example:
 1. Process Management:
 • Creation and Termination: The OS creates and terminates processes. For
 example, when you launch a program like a web browser, the OS creates a process
 for it. When you close the browser, the OS terminates the associated process.
 • Scheduling: It schedules processes for execution on the CPU, ensuring fair access
 and efficient utilization of resources. For instance, in a multitasking environment,
 the OS switches between running processes to give each one a turn on the CPU.
 2. Memory Management:
 19
© Shirish Gautam
 • Allocation and Deallocation: The OS allocates memory to processes as needed
 and deallocates it when processes release memory. For example, when you open a
 text editor, the OS allocates memory to store the program's instructions and data.
 • Virtual Memory: It manages virtual memory, allowing processes to use more
 memory than physically available by swapping data between RAM and disk. For
 instance, if a program requests more memory than is available in RAM, the OS may
 move less frequently used data to a swap file on disk.
 3. File System Management:
 • File Creation and Deletion: The OS provides mechanisms for creating and
 deleting files. For example, when you save a document in a word processor, the OS
 creates a file on the disk to store the document's contents.
 • File Access and Permissions: It controls access to files and directories, enforcing
 permissions to ensure that only authorized users can read, write, or execute files.
 For instance, if a file is marked as read-only, the OS prevents users from modifying
 its contents.
 4. Device Management:
 • Device Recognition: The OS detects and identifies hardware devices connected to
 the computer, such as printers, keyboards, and disk drives. For example, when you
 plug in a USB flash drive, the OS recognizes it and assigns a drive letter.
 • Device Drivers: It provides device drivers, which are software components that
 enable communication between the OS and hardware devices. For instance, when
 you print a document, the OS uses the printer driver to translate print commands
 into signals the printer can understand.
 5. User Interface:
 • Command Line Interface (CLI): The OS provides a text-based interface where
 users interact with the system by entering commands. For example, in Unix-based
 systems, you can use the terminal to navigate the file system and run programs.
 • Graphical User Interface (GUI): Many modern OSes offer GUIs with windows,
 icons, menus, and pointers, making it easier for users to interact with the system.
 For example, in Windows, you can use the mouse to click icons and buttons to
 perform tasks.
 6. Security:
 • User Authentication: The OS verifies user identities during the login process. For
 example, when you log in to your computer, you enter a username and password,
 which the OS checks against its records.
 20
© Shirish Gautam
 • Access Control: It enforces access control policies to protect system resources. For
 example, if a file is marked as private, the OS prevents other users from accessing
 it without proper authorization.
 7. Networking:
 • Network Configuration: The OS manages network interfaces and settings,
 allowing the computer to connect to networks. For example, you can use the OS's
 network settings interface to configure Wi-Fi connections.
 • Network Services: It provides networking services such as file sharing and
 network printing. For example, the OS may act as a file server, allowing other
 computers on the network to access shared files.
 8. Error Handling:
 • Error Detection: The OS detects errors and faults that occur during system
 operation, such as hardware failures or software crashes. For example, if a program
 crashes due to a memory access violation, the OS may generate an error message.
 • Error Recovery: It provides mechanisms for recovering from errors and restoring
 the system to a stable state. For example, if a hardware device fails, the OS may
 attempt to restart the device or switch to a backup device.
These functions collectively enable the OS to manage hardware resources, provide a user-friendly
interface, ensure system security, and facilitate communication between software applications and
hardware devices.
 21
© Shirish Gautam
 2. User Interface:
 • Graphical User Interface (GUI): Windows OS is known for its intuitive GUI,
 featuring windows, icons, menus, and pointers (WIMP). Users can interact with the
 system using a mouse, keyboard, or touchscreen.
 • Start Menu: Traditionally, Windows includes a Start Menu, providing access to
 installed applications, system settings, files, and search functionality.
 • Taskbar: The Taskbar at the bottom of the screen allows users to switch between
 open applications, launch frequently used programs, and view system notifications.
 • Windows Explorer: Windows Explorer (now called File Explorer) provides a
 graphical interface for managing files, folders, and drives.
 3. Features and Functionality:
 • Multitasking: Windows supports multitasking, allowing users to run multiple
 applications simultaneously and switch between them seamlessly.
 • Compatibility: Windows is compatible with a vast array of hardware devices and
 software applications, making it suitable for a wide range of users, from home
 consumers to enterprise environments.
 • Security: Windows includes built-in security features such as Windows Defender
 antivirus software, Windows Firewall, and BitLocker encryption for protecting
 data.
 • Networking: Windows supports various networking protocols and services,
 enabling users to connect to local area networks (LANs), the internet, and other
 devices.
 • Accessibility: Windows includes accessibility features such as screen readers,
 magnifiers, and voice recognition tools to assist users with disabilities.
 • Updates and Support: Microsoft regularly releases updates and patches to
 improve performance, fix security vulnerabilities, and add new features. Windows
 also provides technical support and troubleshooting resources for users.
 4. Editions:
 • Windows OS comes in different editions tailored for different user needs:
 • Home: Designed for home users, it includes basic features and
 functionalities.
 • Pro: Targeted at business users and enthusiasts, it includes additional
 features such as domain joining, remote desktop access, and BitLocker
 encryption.
 22
© Shirish Gautam
 • Enterprise: Geared towards large organizations, it offers advanced security
 and management features, including Windows Defender Advanced Threat
 Protection (ATP) and Windows Update for Business.
 • Education: Optimized for educational institutions, it includes features like
 Intune for Education and simplified management tools.
 • Server: Designed for server environments, it provides services such as file
 sharing, domain control, and web hosting.
 5. Integration with Other Microsoft Products:
 • Windows OS integrates seamlessly with other Microsoft products and services,
 such as Office 365, OneDrive cloud storage, and Microsoft Teams collaboration
 platform.
 • Integration with Microsoft Azure allows businesses to extend their on-premises
 infrastructure to the cloud, leveraging cloud computing capabilities for scalability
 and flexibility.
Overall, Windows OS continues to evolve with each new version, aiming to meet the diverse needs
of users, enhance productivity, and provide a secure and reliable computing environment for
individuals and organizations alike.
 b) macOS
macOS is the operating system developed by Apple Inc. for its line of Macintosh computers. It's
known for its sleek design, robust performance, and seamless integration with other Apple devices
and services. Here's a detailed overview of macOS:
 1. History and Evolution:
 • macOS, formerly known as Mac OS X and OS X, traces its roots back to the original
 Macintosh operating system released in 1984. Over the years, it has undergone
 significant updates and revisions.
 23
© Shirish Gautam
 • Major releases include Mac OS X 10.0 (Cheetah) in 2001, which marked the
 transition to a Unix-based architecture, followed by subsequent releases named
 after big cats (e.g., Jaguar, Panther, Leopard).
 • In 2012, with the release of OS X 10.8 (Mountain Lion), Apple rebranded the
 operating system as macOS to align with its other product lines.
 2. User Interface:
 • Aqua Interface: macOS features the Aqua user interface, characterized by its
 translucent windows, rounded buttons, and smooth animations. It offers a visually
 appealing and intuitive user experience.
 • Finder: The Finder is the default file management application in macOS, providing
 users with a graphical interface to navigate files, folders, and drives.
 • Dock: Similar to the Taskbar in Windows, macOS includes the Dock, a bar at the
 bottom of the screen that gives quick access to frequently used applications, files,
 and folders.
 • Spotlight: Spotlight is a powerful search tool that allows users to quickly find files,
 launch applications, and perform calculations directly from the desktop.
 3. Features and Functionality:
 • Unix-based Foundation: macOS is built on a Unix-based foundation, providing
 stability, security, and compatibility with a wide range of software applications.
 • Integration with Apple Ecosystem: macOS seamlessly integrates with other
 Apple devices and services, such as iCloud for cloud storage, iMessage for
 messaging, and Handoff for continuity between devices.
 • Continuity Features: macOS includes continuity features like AirDrop, which
 allows users to wirelessly share files between Macs and iOS devices, and Universal
 Clipboard, which enables copying and pasting across devices.
 • Security and Privacy: macOS incorporates various security features, including
 Gatekeeper for app verification, FileVault for disk encryption, and Privacy
 Preferences for controlling app permissions.
 • Accessibility: macOS offers extensive accessibility features, such as VoiceOver
 screen reader, Zoom magnification, and Siri voice control, to accommodate users
 with disabilities.
 4. Software Distribution:
 • Mac App Store: Similar to the App Store on iOS devices, macOS includes the Mac
 App Store, where users can download and install a wide range of applications,
 including productivity tools, games, and utilities.
 24
© Shirish Gautam
 • Third-party Software: Users can also download and install software from third-
 party sources outside the Mac App Store, although Apple encourages the use of
 verified apps for security reasons.
 5. Hardware Compatibility:
 • macOS is designed to run exclusively on Apple's hardware, including iMac,
 MacBook, Mac Pro, and Mac Mini. Apple tightly controls the hardware and
 software integration, ensuring a seamless user experience.
 6. Editions:
 • Unlike Windows, macOS does not have different editions. Instead, Apple releases
 major updates to macOS on a yearly basis, with incremental updates and patches
 throughout the year.
Overall, macOS offers a premium computing experience characterized by its elegant design,
powerful features, and deep integration with the Apple ecosystem. It continues to evolve with each
new release, aiming to provide users with a modern and efficient operating system for their Mac
computers.
 c) Linux
Linux is a family of open-source Unix-like operating systems based on the Linux kernel. It is
widely used in various computing environments, from servers and mainframes to desktop
computers and embedded systems. Here's a detailed overview of Linux:
 1. History and Development:
 • Linux was created in 1991 by Linus Torvalds, a Finnish computer science student,
 who developed the Linux kernel as an open-source alternative to proprietary Unix
 operating systems.
 • The Linux kernel serves as the core component of Linux-based operating systems,
 providing essential functions such as process management, memory management,
 device drivers, and file system support.
 • Linux is developed collaboratively by a global community of developers and
 contributors who contribute to the kernel and other components of Linux
 distributions (distros).
 2. Open Source Philosophy:
 • Linux follows the open-source software development model, which emphasizes
 transparency, collaboration, and community-driven development.
 • The source code of Linux and most of its associated software is freely available,
 allowing users to study, modify, and distribute it under open-source licenses such
 as the GNU General Public License (GPL).
 25
© Shirish Gautam
 3. Distributions (Distros):
 • Linux is distributed in various flavors known as distributions or distros, each
 tailored for specific use cases, preferences, and target audiences.
 • Popular Linux distributions include Ubuntu, Fedora, Debian, CentOS, Arch Linux,
 and openSUSE, among others.
 • Each distribution may include different package management systems, desktop
 environments, default software packages, and configuration tools.
 4. Features and Functionality:
 • Stability and Reliability: Linux is known for its stability and reliability, making it
 a popular choice for servers, where uptime and performance are critical.
 • Customization: Linux offers extensive customization options, allowing users to
 tailor their system according to their preferences and requirements. Users can
 choose from a wide range of desktop environments, window managers, themes, and
 software packages.
 • Security: Linux is inherently more secure than some other operating systems due
 to its Unix-like architecture and robust security features. It includes built-in security
 mechanisms such as access controls, file permissions, and firewalls.
 • Performance: Linux is highly efficient and optimized for performance, particularly
 in server environments where it can handle heavy workloads with minimal resource
 utilization.
 • Compatibility: Linux supports a wide range of hardware architectures, including
 x86, ARM, PowerPC, and MIPS, making it suitable for various devices, from
 smartphones and tablets to supercomputers and embedded systems.
 5. Command Line Interface (CLI):
 • Linux provides a powerful command-line interface (CLI), which allows users to
 perform system administration tasks, execute commands, and automate tasks using
 shell scripts.
 • Common command-line utilities include ls (list files), cd (change directory), mkdir
 (make directory), rm (remove files), grep (search text), and more.
 6. Software Ecosystem:
 • Linux offers a vast ecosystem of open-source software, including web servers
 (Apache, Nginx), databases (MySQL, PostgreSQL), programming languages
 (Python, PHP, Ruby), office suites (LibreOffice, Apache OpenOffice), and
 development tools (GCC, Git).
 7. Community Support:
 26
© Shirish Gautam
 • Linux benefits from a vibrant and supportive community of users, developers, and
 enthusiasts who provide technical support, documentation, forums, and online
 resources to help users troubleshoot issues and learn more about Linux.
Overall, Linux is a versatile, customizable, and reliable operating system that powers a wide range
of computing devices and serves as the backbone of the internet, cloud computing, and many
critical infrastructure systems. Its open-source nature fosters innovation and collaboration, driving
its continued growth and adoption across diverse industries and applications.
 27
© Shirish Gautam
 Open-source
 Software Has its own app
 substitutes for Unparalleled
 Compatibility ecosystem
 proprietary software
 Ease of use
 Ease of Use determined by the Simple to use Very easy to use
 distro
 28
© Shirish Gautam
 • Collaboration: Word offers collaboration features such as track changes,
 comments, and real-time co-authoring, allowing multiple users to work on a
 document simultaneously.
 • Saving and Sharing: Users can save documents locally on their computer or in the
 cloud (OneDrive). Documents can be shared with others via email or by generating
 a shareable link.
 2. Microsoft Excel:
 • Introduction: Microsoft Excel is a spreadsheet program used for data analysis,
 calculation, and visualization.
 • Features: It offers powerful features such as formulas and functions for
 mathematical calculations, data analysis tools like sorting, filtering, and pivot
 tables, charting tools for creating visual representations of data, and more.
 • Starting a Workbook: Users can start a new workbook and organize data into rows
 and columns. Excel provides pre-designed templates for common tasks like
 budgeting, inventory management, and financial analysis.
 • Data Entry and Manipulation: Users can enter data into cells, perform
 calculations using formulas and functions, and manipulate data using features like
 sorting, filtering, and conditional formatting.
 • Analysis and Visualization: Excel allows users to analyze data using tools like
 pivot tables and charts. Users can create various types of charts including bar charts,
 line charts, pie charts, and more to visualize data.
 • Sharing and Collaboration: Similar to Word, Excel offers collaboration features
 such as real-time co-authoring and sharing options via email or OneDrive.
 3. Microsoft PowerPoint:
 • Introduction: Microsoft PowerPoint is a presentation program used to create
 slideshows for meetings, lectures, seminars, and other purposes.
 • Features: It offers features such as slide layouts, themes, animations, transitions,
 and multimedia integration (images, videos, audio).
 • Creating a Presentation: Users can start a new presentation and add slides with
 different layouts. PowerPoint provides built-in slide templates for various
 presentation types.
 • Designing Slides: Users can customize slides by adding text, images, charts, and
 other objects. They can apply themes, change backgrounds, and adjust slide layouts.
 • Animating and Transitioning: PowerPoint allows users to add animations and
 transitions to slides to make presentations more engaging. Animations can be
 applied to objects within slides for emphasis.
 29
© Shirish Gautam
 • Presenting: Users can run presentations in slideshow mode, navigate through
 slides, use presenter view for speaker notes and annotations, and interact with the
 audience.
 • Sharing and Collaboration: PowerPoint presentations can be shared via email or
 OneDrive. Like Word and Excel, it also supports real-time co-authoring for
 collaborative editing.
These three applications are fundamental tools in the Microsoft Office suite and are widely used
in various professional and academic settings for document creation, data analysis, and
presentations.
 30
© Shirish Gautam
 • Features: It offers powerful features for data analysis and manipulation, including
 formulas and functions, conditional formatting, data validation, and pivot tables.
 • Collaboration: Similar to Google Docs, Google Sheets supports real-time
 collaboration, enabling multiple users to work on the same spreadsheet
 simultaneously. Users can see changes in real-time and communicate via comments
 and chat.
 • Cloud Storage: Spreadsheets are stored in Google Drive, providing easy access
 from any device. Users can also import and export spreadsheets in various formats,
 including Microsoft Excel.
 • Data Analysis: Google Sheets provides tools for analyzing data, such as sorting,
 filtering, and charting. Users can create different types of charts, including bar
 charts, line charts, and pie charts, to visualize data.
 • Automation: Google Sheets supports automation through Google Apps Script,
 allowing users to create custom scripts to automate repetitive tasks and extend
 functionality.
 3. Google Slides:
 • Introduction: Google Slides is a web-based presentation program that allows users
 to create, edit, and collaborate on presentations online.
 • Features: It offers features for creating and designing slides, including slide
 layouts, themes, animations, and transitions. Users can add text, images, videos,
 and other multimedia elements to slides.
 • Collaboration: Like Google Docs and Google Sheets, Google Slides supports real-
 time collaboration, enabling multiple users to work on the same presentation
 simultaneously. Users can see changes in real-time and communicate via comments
 and chat.
 • Cloud Storage: Presentations are stored in Google Drive, allowing users to access
 them from any device. Users can also share presentations with others via email or
 by generating a shareable link.
 • Presenting: Google Slides offers a presentation mode for running slideshows.
 Users can present slides directly from their web browser, with options for speaker
 notes, audience Q&A, and audience participation.
 • Integration: Google Slides integrates with other Google Workspace apps, such as
 Google Docs and Google Sheets, as well as third-party apps through the Google
 Workspace Marketplace.
Overall, Google Workspace's suite of productivity tools provides a flexible and collaborative
environment for creating, editing, and sharing documents, spreadsheets, and presentations online.
 31
© Shirish Gautam
 (c) Creating and editing documents
Creating and editing documents in Google Workspace, specifically using Google Docs, is a
straightforward process. Here's a step-by-step guide:
Creating a Document:
 1. Access Google Docs: Go to the Google Workspace homepage
 (https://workspace.google.com/) and sign in with your Google account. Alternatively, you
 can go directly to Google Docs by visiting https://docs.google.com/.
 2. Start a New Document: Once you're in Google Docs, click on the "+ Blank" button on
 the left-hand side of the screen to start a new document. Alternatively, you can choose from
 various templates by clicking on "Template Gallery" and selecting a template that suits
 your needs.
 3. Edit the Document: You'll be taken to a blank document where you can start typing or
 pasting your content. Google Docs provides a familiar interface similar to traditional word
 processors, with formatting options located in the toolbar at the top of the screen.
 4. Formatting Text: To format text, highlight the text you want to format and use the toolbar
 options to change the font, font size, font color, alignment, and more.
 5. Inserting Elements: You can insert various elements into your document, such as images,
 links, tables, and drawings, by selecting the corresponding option from the "Insert" menu
 at the top of the screen.
 6. Save the Document: Google Docs automatically saves your document as you work.
 However, you can manually save your document by clicking on "File" in the menu bar and
 selecting "Save" or pressing "Ctrl + S" (Cmd + S on Mac).
Editing a Document:
 1. Open an Existing Document: To edit an existing document, go to Google Docs and open
 the document you want to edit from the list of documents in your Google Drive.
 Alternatively, you can search for the document using the search bar.
 2. Make Edits: Once the document is open, you can make edits directly within the document.
 You can add, delete, or modify text, formatting, and elements as needed.
 3. Collaborate: If you're working on a shared document, you can collaborate with others in
 real-time. Changes made by collaborators are reflected instantly, and you can see who
 made each change.
 4. Track Changes: Google Docs also offers a "Suggesting" mode, which allows
 collaborators to suggest edits instead of making them directly. You can review these
 suggestions and accept or reject them as needed.
 32
© Shirish Gautam
 5. Save Changes: Google Docs automatically saves your changes as you work. There's no
 need to manually save, but you can do so if desired.
By following these steps, you can create and edit documents efficiently using Google Docs within
Google Workspace.
 33
© Shirish Gautam
 • Click on the "Format" menu in the toolbar, navigate to "Text," and select
 "Superscript" or "Subscript" as desired.
Formatting Paragraphs:
 1. Line Spacing:
 • Select the paragraphs you want to adjust.
 • Use the line spacing dropdown menu in the toolbar to choose single, 1.15, 1.5,
 double, or custom line spacing.
 2. Paragraph Spacing:
 • Place the cursor between paragraphs.
 • Use the "Add space before paragraph" and "Add space after paragraph" icons in the
 toolbar to adjust paragraph spacing.
 3. Bullets and Numbering:
 • Place the cursor in the paragraph where you want to add bullets or numbering.
 • Click on the "Bullets" or "Numbering" icons in the toolbar to apply the respective
 style.
 4. Paragraph Alignment:
 • Select the paragraphs you want to align.
 • Use the alignment icons in the toolbar to align paragraphs to the left, center, right,
 or justify.
 5. Paragraph Indentation:
 • Select the paragraph you want to indent.
 • Use the increase indent and decrease indent icons in the toolbar to adjust the
 indentation.
Formatting Pages:
 1. Page Size and Orientation:
 • Click on "File" in the menu bar, navigate to "Page setup," and select the desired
 page size and orientation (portrait or landscape).
 2. Margins:
 • Click on "File" in the menu bar, navigate to "Page setup," and adjust the margins
 as needed.
 3. Page Numbers:
 34
© Shirish Gautam
 • Click on "Insert" in the menu bar, navigate to "Page numbers," and select the
 desired location and format for page numbers.
 4. Headers and Footers:
 • Click on "Insert" in the menu bar, navigate to "Header & page number" or "Footer
 & page number," and choose a predefined header/footer template or create a custom
 one.
By applying these formatting options, you can effectively format text, paragraphs, and pages in
Google Docs to create professional and visually appealing documents.
 35
© Shirish Gautam
 4. Edge Computing:
 • Explanation: Edge computing brings computation and data storage closer to the
 source of data generation (i.e., edge devices), reducing latency and bandwidth
 usage. It's used for real-time data processing and analysis in IoT, autonomous
 vehicles, and augmented reality.
 • Example: Autonomous vehicles use edge computing to process sensor data locally
 for real-time decision-making without relying solely on cloud servers.
 5. Low-Code/No-Code Development:
 • Explanation: Low-code/no-code platforms enable users to build software
 applications with minimal coding knowledge. They use visual interfaces and drag-
 and-drop components to streamline development, making it accessible to non-
 developers.
 • Example: Platforms like Microsoft Power Apps and AppSheet allow users to create
 custom business applications without writing extensive code.
 6. Serverless Computing:
 • Explanation: Serverless computing abstracts server management away from
 developers, allowing them to focus on writing code. Developers pay only for the
 resources consumed by their applications, making it cost-effective and scalable.
 • Example: AWS Lambda and Azure Functions are serverless computing platforms
 that execute code in response to events without the need for provisioning or
 managing servers.
 7. Microservices Architecture:
 • Explanation: Microservices architecture decomposes applications into smaller,
 independent services that can be developed, deployed, and scaled separately. It
 enables agility, scalability, and resilience in complex systems.
 • Example: Netflix uses a microservices architecture to build and maintain its
 streaming platform, allowing teams to independently develop and deploy services
 like recommendation engines and content delivery.
 8. Containerization and Kubernetes:
 • Explanation: Containers package applications and their dependencies into isolated
 units, enabling consistency across different environments. Kubernetes is an
 orchestration tool that automates container deployment, scaling, and management.
 • Example: Docker containers and Kubernetes are widely used for deploying and
 managing cloud-native applications in hybrid and multi-cloud environments.
 9. Progressive Web Apps (PWAs):
 36
© Shirish Gautam
 • Explanation: PWAs combine the best features of web and mobile applications,
 providing a reliable, fast, and engaging user experience. They can work offline,
 send push notifications, and be installed on users' devices without app store
 distribution.
 • Example: Twitter Lite is a PWA that offers a fast and lightweight version of the
 Twitter app, accessible on both desktop and mobile devices.
 10. DevOps and Continuous Integration/Continuous Deployment (CI/CD):
 • Explanation: DevOps practices emphasize collaboration between development
 and operations teams to automate software development processes. CI/CD
 pipelines automate building, testing, and deploying code changes, reducing time to
 market and increasing reliability.
 • Example: GitHub Actions and Jenkins are CI/CD tools that automate software
 development workflows, allowing developers to continuously deliver code changes
 with confidence.
 11. Augmented Reality (AR) and Virtual Reality (VR):
 • Explanation: AR overlays digital content onto the real world, while VR immerses
 users in a simulated environment. Both technologies are used in gaming, education,
 training, marketing, and healthcare to create immersive experiences.
 • Example: Pokémon GO is an AR game that uses the smartphone camera to
 superimpose virtual creatures onto real-world environments, encouraging players
 to explore their surroundings.
 12. Cybersecurity and Privacy:
 • Explanation: With the increasing threat of cyberattacks and data breaches,
 cybersecurity and privacy have become top priorities for software development.
 This includes implementing encryption, access controls, authentication
 mechanisms, and compliance with regulations like GDPR and CCPA.
 • Example: End-to-end encryption in messaging apps like Signal and WhatsApp
 ensures that only the sender and recipient can access the contents of their messages.
 13. Quantum Computing:
 • Explanation: Quantum computing leverages quantum mechanics principles to
 perform complex computations at exponentially faster speeds than classical
 computers. While still in its early stages, it has the potential to revolutionize fields
 such as cryptography, optimization, and drug discovery.
 • Example: IBM Quantum Experience and Google Quantum AI are platforms that
 allow researchers and developers to experiment with quantum computing through
 cloud-based access to quantum processors.
 37
© Shirish Gautam
 14. Data Analytics and Business Intelligence:
 • Explanation: Data analytics and business intelligence (BI) involve collecting,
 analyzing, and visualizing data to derive insights and support decision-making.
 Advanced analytics techniques such as predictive analytics, machine learning, and
 natural language processing are used to gain actionable insights from data.
 • Example: Tableau and Power BI are BI tools that enable users to create interactive
 dashboards and reports to visualize and analyze data from various sources,
 empowering businesses to make data-driven decisions.
These trends represent the forefront of innovation in the software industry, driving advancements
in various domains and transforming how software is developed, deployed, and utilized.
 38
© Shirish Gautam