Professional Documents
Culture Documents
Homework 3
Homework 3
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:
Application Software:
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:
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.