MAD

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 65

Introduction to mobile operating system

What is an operating system ?


• An Operating system (OS) handles all hardware & software resources
of the Computer.
• It works as a communication medium between various components
of Computer.
Functions of an OS
• Peripheral Device Management.
• Data File Management.
• Memory Management.
• Process Management.
Peripheral Device Management
• Operating system handles communication between various devices
with the help of its associated devices and keeps track of every
connected devices in the system
• The unit which keeps tracks of systems is known as I/O Controller
• I/O controller identifies which assigns processes to devices for specific
duration and allocates and de-allocates processes to devices in an
effective way
Data File Management
• File management is defined as the process of manipulating files in
computer system, its management includes the process of creating,
modifying and deleting the files.
• • The following are some of the tasks performed by file management
of operating system of any computer system:
• It helps to create new files in computer system and placing them at the
specific locations.
• It helps in easily and quickly locating these files in computer system.
• It makes the process of sharing of the files among different users very easy
and user friendly.
• It helps to stores the files in separate folders known as directories.
Memory Management
The task of subdividing the memory of multiprogramming
computer among different processes is called as memory
management
• Memory management is a method of operating system to
manage operations between main memory and disk during
process execution
Why Memory Management is required:
• Allocate and de-allocate memory before and after process
execution.
• To keep track of used memory space by processes.
• To minimize fragmentation issues.
• To proper utilization of main memory.
• To maintain data integrity while executing of process.
Process Management
• Process management involves various tasks like creation,
scheduling, termination of processes, and a dead lock.
• It is the job of OS to manage all the running processes of the
system. It handles operations by performing tasks like process
scheduling and such as resource allocation.
Mobile operating systems
• For mobile phones, OSs have been developed to enable users
to use phones in much the same way as personal computers
were used
• It allows the devices to run applications and other programs
• Mobile OS usually including most of the following considered
essentials ; a touch screen, Bluetooth, video camera, wifi,
music player, voice recorder etc
• A mobile OS typically starts up when a device powers on,
presenting a screen with icons or tiles that present
information and provide application access.
• These OS are managing the resources of the devices
and memory when they are being used for multi tasking
• The name and the version of the mobile OS should be
detailed under setting in every devices
• The most well-known mobile OSs are Android, iOS, Windows phone
OS, and Symbian.
• And there are some less used mobile OS such as blackberry , Samsung
etc
Types of mobile OS

• Opensource Mobile OS • Closed source Mobile OS


-Tizen – iOSBlack
-Plasma Mobile – Berry OS
-Firefox OS – Symbian
-Sailfish OS – Bada
-Ubuntu Touch – Palm OS
Popular platforms of the mobile OS
• Android OS: The Android operating system is the most
popular operating system today. It is a mobile OS based on the
Linux Kernel and open-source software. The android
operating system was developed by Google. The first Android
device was launched in 2008.
• iPhone OS / iOS: The iOS was developed by the Apple inc for
the use on its device. The iOS operating system is the most
popular operating system today. It is a very secure operating
system. The iOS operating system is not available for any
other mobiles.
• BlackBerry OS: The BlackBerry operating system is a mobile operating
system developed by Research In Motion (RIM). This operating system was
designed specifically for BlackBerry handheld devices. This operating
system is beneficial for the corporate users because it provides
synchronization with Microsoft Exchange, Novell GroupWise email, Lotus
Domino, and other business software when used with the BlackBerry
Enterprise Server.
• Symbian OS: Symbian operating system is a mobile operating system that
provides a high-level of integration with communication. The Symbian
operating system is based on the java language. It combines middleware
of wireless communications and personal information management (PIM)
functionality. The Symbian operating system was developed by Symbian
Ltd in 1998 for the use of mobile phones. Nokia was the first company to
release Symbian OS on its mobile phone at that time.
• Windows Mobile OS: The window mobile OS is a mobile
operating system that was developed by Microsoft. It was
designed for the pocket PCs and smart mobiles.
• Bada (Samsung Electronics): Bada is a Samsung mobile
operating system that was launched in 2010. The Samsung
wave was the first mobile to use the bada operating system.
The bada operating system offers many mobile features, such
as 3-D graphics, application installation, and multipoint-touch.
Basics of Android
Android Operating System
• Android is an open-source mobile OS developed by Google and launched
in 2008
• It is a Linux-based OS that uses Linux 2.6 to provide core services such as
security, memory management, process management, network stack, and
a driver model.
• It offers a unified approach to application development for mobile
devices which means developers need only develop for Android, and their
applications should be able to run on different devices powered by
Android.
• It offers a wide range of libraries that enable the app developers to build
different applications.
Android Operating System Architecture
Advantages of Android
• Open source
• Larger developer and community reach
• Increased marketing
• Inter app integration
• Reduced cost of development
• Higher success ratio
• Rich development environment
Disadvantages of Android
• Usually, you need more code on Java and Kotlin than ObjectiveC and swift.
• Complex layouts and animations are harder to code in Android.
• Applications contains virus also present in Android Market
• A lot of “process” in the background that lead to the battery quickly drains.
• Advertise , will always be ads on display, either the top or bottom of the
application.
• Low security and fake apps can be installed to steal your info from unknown
resources
• High device fragmentation
Android Memory Management
• Android Memory Android is derived from a Linux based OS with 2.6.x
kernel which is capable enough to handle most tasks in very well-
mannered as it is deployed on native open-source C libraries that
have powered Linux machines for years. Basic operations of OS like
process management, I/O management, memory management, and
so on, are managed by the native stripped-down Linux kernel.
• Using memory for each application Memory for each application in
android is managed by its own run time and virtual machine which is
little unusual. Android run time also manages the process lifetimes
and ensures application responsiveness by stopping and killing
processes as necessary to free resources for higher-priority
applications.
Application Priorities and Process States
Basics of iOS
iOS
• iOS is Apple’s mobile operating system that runs on iPhone,
iPad, and iPod touch. Historically, Apple releases a new iOS
version once a year
• In 2007, Steve Jobs introduced the iPhone and iPhone OS.
During the event, Jobs referred to the operating system as OS
X because it shared a similar Unix core compared to the Mac
• When Apple launched the iPhone SDK a year later, they
officially changed the name to iPhone OS.
iOS System Architecture
Advantages of iOS
• Excellent UI and fluid responsive
• Developers can design apps because less number of models
• Metal and shiny coating are ultimate for Apple devices
• Jailbreaking for customization
• Generates less heat when compared to Android
• Excellent for media entertainment
• Suits for business and gaming
• iOS Is More “Intuitive”
Disadvantages of iOS
• It has a review process, when developers want to publish an app, they
need to send it to Apple for review that takes maximum 2 days, and it
takes even more in some cases.
• Applications are very large when compared to other mobile platforms
• Using iOS are costly Apps when it comes to paid app
• Battery performance is very poor on 3G
• Repair costs are very piracy
• Not flexible only supports iOS devices
Security features of iOS
• Secure boot
• Passcode
• Touch ID
• Non executable memory
• Encryption
• App Security
• Network Security
• Two-Factor Authentication
• Android and iOS platforms are most important platforms in mobile
application world. Compare and write the differences between both
OS.
Mobile Application Development
• Building a mobile app is not a simple task that you can
• create within some hours.
• For implement application, you need several things.
• One of them is a mobile application development tool.
Mobile Application Development Tools
Why are the tools needed for App
development?
• Tools help to make the application development process easier
• Provide various IDEs
• Provide code-free developments
• Templates
• API
• Data synchronization
• Analytics
• Faster app development
• Simplifies the integration process with backend services (push notifications)
• Ensures a visual development environment and features
Main Types of Mobile Development Tools?
• Native development tools and its native programming languages
Native development tools for Android (Java or Kotlin) Native
development tools for iOS (Objective-C or Swift)

• Cross-platform development tools


Coding Platforms
Low-Coding Platforms
No-Coding Platforms
Native development tools for Android
Native development tools for iOS
Cross-platform development tools
Coding Platforms
• Provide you with full control over your entire mobile application
development process.
• Mobile application developer requires knowledge about the relevant
coding language.
• Ex: Xamarin, PhoneGap, Ionic, React Native
Coding Platforms pros and cons
Pros
• App perfection and have perfect control of
development.
• Performance
• App safe and secure
• User experience is high
Cons
• Budget/ Maintenance cost is high
• Lack of resources
Low-Coding Platforms
• These platforms are able to efficiently streamline your development
process, by limiting the amount of coding that is required.

• Provides the Graphical User Interface for programming.

• Ex: OutSystems, Fliplet, TrackVIA, Appy Pie


Low Coding Platforms pros and cons
Pros
• Minimal hand coding.
• Don’t need a vast knowledge of programming languages.
• Fast delivery
• Rapid Development Time
• Cloud-Hosting
Cons
• Vendor Lock-In
• Customization
• Out-Of-The-Box Functionality is low
No-Coding Platforms
Provide you with services, such as, a drag-and-drop interface, allowing
you to create an application without typing a line of code.
Ex: Backendless, AppSheet, Quick Base
No Coding Platforms pros and cons
Pros
• User-friendliness
• Reduce your cost efforts
• Deliver features quickly
Cons
• Need a deep understanding
-Fixed templates
-security issues and lack of control
Framework
• A framework is a software-only app skeleton that includes
preset tools, libraries, software development kits, and other
components.
• Frameworks are intended to be more like app templates.
Their ready-made components provide some guidance to
developers throughout the development process
• Frameworks are software-only systems that include tools,
standard components, libraries, classes, and SDKs
(software development kits) to produce an application
Examples:
Onsen UI/ PhoneGap
Popular Cross-platform development
tools/frameworks and features
Stages of the mobile app development
process
1. Choosing a partner
2. Product Discovery
3. UX / UI app design
4. Project kick-off & setup
5. App development with Quality Assurance
6. Preparation and publishing of the app on Google Play and Apple
Store
7. Post-development phase
Preparation and publishing of the app on
Google Play and Apple Store
Google Play Store
• Google Play is an online store where people go to find their
favorite apps, games, movies, TV shows, books, and more.
• It provides 2 million apps & games to billions of people around
the world, generating over $120 billion in earn nonce the
Android app is developed, tested and ready to be published,
we need to publish it to the Google play store so that users can
download and use it.gs for developers to date.
Apple App Store
• App Store is the official app distribution platform developed by
Apple.
• The Apple App Store is a digital distribution platform where
individuals can buy and download digital software and applications.
• The App Store is Apple's one-stop-shop for content for the iPhone,
iPad, Apple Watch, and iPod touch
• Apps purchased from the Apple App Store are stored in the iCloud
—a cloud storage and cloud computing service from Apple— for
easy access from any signed-in device.
• Since its inception, this digital storefront has seen over two million
apps available for download, and Apple customers have
downloaded more than 100 billion apps collectively.
What is Mobile Advertising?
• Mobile-friendly ads or websites are a type of ads and web pages that
can be easily viewed on the smallest of mobile devices and tablets
• Present-day marketers and advertisers make use of a wide range of
sophisticated designs accompanied by rich media interactivity to create
mobile-friendly ads and websites that help boost brand awareness and
generate higher revenue.
Mobile Application Security
Mobile Application Security
• Mobile application security focuses on the software
security posture of mobile apps on various platforms like
Android, iOS, and Windows Phone. This covers applications
that run both on mobile phones as well as tablets.
• It involves assessing applications for security issues in the
contexts of the platforms that they are designed to run on,
the frameworks that they are developed with, and the
anticipated set of users (e.g., employees vs. end users)
• A lack of vetting can lead to security feature
implementation that can be easily circumvented by
attackers.
Common issues that affect mobile apps
include
● Storing or unintentionally leaking sensitive data in ways that it could
be read by other applications on the user’s phone.
● Implementing poor authentication and authorization checks that
could be bypassed by malicious applications or users.
● Using data encryption methods that are known to be vulnerable or
can be easily broken.
● Transmitting sensitive data without encryption over the Internet.
You must secure your mobile application from the attackers. There are
several ways to prevent the apps.
1.Enforce Strong Authentication
The three main factors for authentication are
● something that a user knows, such as a password or PIN
● something the user has, such as a mobile device
● or something the user is, such as a fingerprint.

2.Encrypt mobile communication


With threats like snooping and man-in-the-middle attacks over WiFi
and cellular networks, IT should make sure that all communications
between mobile apps and app servers are encrypted.
3.Patch App and Operating System Vulnerabilities
To protect mobile users from attack, IT should check mobile devices
and ensure that the latest patches and updates have been applied.
4. Protect Against Device
Theft To ensure sensitive data does not end up in the wrong hands, IT
should provide a way to remotely wipe sensitive data Or—better yet—
make sure data is never stored on mobile devices in the first place.
5. Scan Mobile Apps for Malware
Eliminate malware and adware by testing apps for malicious behaviour.
Malware can be detected using virtual sandboxing or signature-based
scanning tools. For mobile workspace or virtual mobile solutions,
perform malware scans on the server.
6. Protect app data on your device
Make sure developers are not storing any sensitive data on their
devices. If you must store data on device for some reason, first make
sure it's encrypted/protected. And then only store it in files, data
stores, and databases.
7. Secure the Platform Your platform should be properly secured and
controlled.
8. Prevent Data Leaks To avoid data leaks while still allowing users to
install personal apps on their mobile devices, IT must separate business
apps from personal apps.

You might also like