Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

AREEBA AAMIR CT-029

Homework 2

Q: Describe four different types of software systems with two examples of each.
Draw the higher-level architecture diagram of each example. Explain their
differences in the context of a software engineering project.
Ans: Following are the basic 4 types of system software:
 System Software
 Application Software
 Programming Software
 Driver Software

System Software:

These software programs are designed to run a computer's application programs


and hardware. System software coordinates the activities and functions of the
hardware and software. In addition, it controls the operations of the computer
hardware and provides an environment or platform for all the other types of
software to work in. The OS is the best example of system software; it manages all
the other computer programs. System software is always running in the
background of your device, but it is never something you will use directly. In fact,
the only time most people remember it’s there is when it is time for an update.
When your laptop or phone has an update. This is system software in action: there
is a tweak made to the system software that helps your computer or phone continue
to work well and keep applications running.
Examples: macOS, Windows etc.
Architecture Diagram of Windows OS:
Architecture Diagram of macOS:
Difference:

Windows is a group of various proprietary graphical operating systems


which is provided by Microsoft Incorporation. It is also known as Microsoft
Windows. It is for a workstation, personal computers, media centers, tablets,
and embedded systems.
While macOS is a series of proprietary graphical operating systems which is
provided by Apple Incorporation. It was earlier known as Mac OS X and
later OS X. It is specifically designed for Apple mac computers. It is based
on UNIX operating system. It was developed using C, C++, Objective-C,
assembly language and Swift. It is the second most used operating system in
personal computers after Windows.

Application Software:

The most common type of software, application software is a computer software


package that performs a specific function for a user, or in some cases, for another
application. An application can be self-contained, or it can be a group of programs
that run the application for the user. Application software is installed on a
computer or mobile device based on a user’s need. There are many options
available and users can choose the one that best fits their needs, budget, and
expectations.

Examples: Google Chrome, Microsoft Office, etc


Architecture diagram of Chrome:
Architecture diagram of Microsoft Office:

Difference:
The major difference between them is that Google’s focus is more on Internet
services and Microsoft focuses more on developing computer software and
personal computers. Microsoft Office is a suite of applications designed to help
with productivity and completing common tasks on a computer. You can create
and edit documents containing text and images, work with data in spreadsheets and
databases, and create presentations and posters. While Google Chrome browser is
an open-source program for accessing the World Wide Web and running Web-
based applications. The Google Chrome Web browser is based on the open-source
Chromium project.
Programming Software:

Programming software is a program or set of programs that help software


developers by assisting them in creating, debugging, and maintaining other
programs and applications. Compilers, assemblers, debuggers, interpreters, etc. are
examples of programming software. Integrated development environments (IDEs)
are combinations of all these software.
Programming software is also known as a programming tool or software
development tool.
EXAMPLES: VS Code, DevC

Architecture Diagram of VS CODE:


Architecture Diagram of Eclipse:

Difference:
Visual Studio Code is a lightweight but powerful source code editor that runs on
your desktop and is available for Windows, macOS, and Linux. It comes with
built-in support for JavaScript, Typescript, and Node.js and has a rich ecosystem of
extensions for other languages (such as C++, C#, Java, Python, PHP, and Go) and
runtimes (such as .NET and Unity).
While Eclipse is a programming IDE. It manages multiple files and projects
efficiently. It comes with a standard workspace and an extensible plugin system
that lets you tailor the environment to your liking. It is the best framework for
JAVA applications. Easy to adapt market plugins. Have multiple debugging
options.

Driver Software:
Also known as device drivers, this software is often considered a type of system
software. Device drivers control the devices and peripherals connected to a
computer, enabling them to perform their specific tasks. Every device that is
connected to a computer needs at least one device driver to function. Examples
include software that comes with nonstandard hardware, including special game
controllers, as well as software that enables standard hardware, such as USB
storage devices, keyboards, headphones, and printers.
Examples: Kernel Device Drivers, User Mode Device drivers, etc.
Architecture Diagram:
Difference:

Kernel device drivers consist of some generic hardware loaded with the
operating system (OS) as part of the OS. They include motherboards,
processors, and BIOS. They are invoked and loaded into the random-access
memory (RAM) when required. Kernel device drivers are layered. Higher-
level drivers, such as file system drivers, receive data from applications,
filter it, and pass it to a lower-level driver, supporting drive functionality.

User mode device drivers execute in user mode. They refer to devise drivers
that users may trigger during a session. When using a system, users may
have their own external devices that they bring to use, such as external plug-
and-play devices. These devices also require drivers to function. In
Windows systems, user-mode device drivers provide an interface between a
Win32 application and kernel-mode drivers or other operating systems.

You might also like