(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