PPT-unit 4-303105103
PPT-unit 4-303105103
PPT-unit 4-303105103
Ecosystem
Prof. Ashutosh Tripathi, Assistant Professor
CSE Engineering
CHAPTER-4
Introduction
Virtualization Technologies
Virtualization technologies are software-based technologies that allow multiple virtual
instances of operating systems or applications to run on a single physical computer or
server.
3. Parallels Desktop: A virtualization software for macOS that enables users to run
multiple guest operating systems on a Mac computer.
Types of containers
Docker: A containerized platform that is open-sourced and mixes an app's source co
with the existing OS and all of its relevant libraries and dependencies. It enables t
running of the relevant code in any computing environment.
LXC: An OS-based container that, if it includes a single Linux kernel acting as the host O
Development Tool Kit
A development toolkit, also known as a software development toolkit or SDK
(Software Development Kit), is a set of software tools, libraries, and resources that
developers use to create applications or software for a specific platform, operating
system, or programming language.
The specific components of a development toolkit can vary depending on the target
platform or programming language, but some common elements may include:
1. Libraries: Pre-written code modules that provide functionality for common tasks,
such as handling graphics, networking, data processing, etc.
2. APIs: Interfaces that allow applications to interact with the underlying platform,
operating system, or other services. This could include APIs for accessing hardware
features, system functions, cloud services, etc.
3. Sample Code: Code examples that demonstrate how to use different components of
the toolkit in practical applications.
5. Debugging Tools: Tools for identifying and fixing errors and issues in the code during
the development process.
6. Profiling Tools: Tools that analyse the performance of the application to identify
Examples of popular development toolkits include:
• Android SDK: For developing applications for the Android operating system.
• Node.js: A JavaScript runtime that includes a variety of libraries for building server-
side applications.
• Unity: A popular game development platform that provides various tools and
libraries for creating games.
Debuggers
Debuggers are essential tools used by developers to identify and fix bugs or issues in
software code.
They allow programmers to closely examine the program's execution, inspect variables
and data, and track the flow of the code to understand how the program behaves.
Debugging is a crucial part of the software development process, as it helps ensure the
reliability and correctness of the final product.
• GDB (GNU Debugger): A powerful open-source debugger commonly used for C, C++,
and other languages.
• Visual Studio Debugger: Integrated into Microsoft Visual Studio IDE for
debugging .NET applications and other languages.
• Xcode Debugger: Integrated into Apple's Xcode IDE for debugging macOS and iOS
applications.
Programming Language
A programming language is a formal language designed to instruct a computer to
perform specific tasks. It serves as a means of communication between humans and
computers, allowing programmers to write instructions in a format that the computer
can understand and execute.
There are numerous programming languages available, each with its own syntax,
semantics, and features. Some popular programming languages as of my last update in
September 2021 include: