android operating system
TRANSCRIPT
Android Operating System
Introduction• Android• Designed to run mobile devices: specifically smartphones
and tablets• Built on a Linux foundation• Customizable user interface
• Allows user to customize app configurations• Open source operating system
• Key elements, but not all, of the source code are published
Brief History• Android operating system
• Developed by Any Rubin and associates• Designed to power the Sidekick cell phone
• Initial challenges• Phone battery power limitations• Small CPU• Limited memory space
• Design team solution• Multilevel system integrating Linux: user actions performed via unique apps from the
phone’s screen• Google purchased Android (2005)• Rubin joined Google• Android extended to reach entire mobile smartphones and tablets generations
• “More than 750 million devices have been activated globally; and 25 billion apps have now been downloaded from Google Play”
Larry Page, Google CEO (2013)
Design Goals• Enchant me • Sleek and aesthetically pleasing design
• Simplify my life• Make life easier
• Make me amazing• Empower people to try new things and to use apps
in inventive new ways
Memory Management• Handled by the Linux kernel: supported by several
software modifications• Works successfully on limited main memory and slower CPU
devices• Resources utilized only as needed• Sleep-like state when dormant• Open app remains resident in main
memory• Least recently used (LRU) algorithm
for tracking• Low memory killer (LMK) frees
memory when memory becomes scarce
Processor Management• Requires four key objects: manifest, activities, tasks, and intents• Manifest: file that holds essential information that the system must have
before it can run an application• AndroidManifest.xml
• Activity: application component that defines the user interface screen that the individual uses to interact with the application• Including all the actions that can be performed
• Task: “sequence of activities a user follows to accomplish a goal”• Can involve one or many apps• Service: task that runs in the background
• Intent: mechanism that one app uses to signal to another app that its cooperation is requested to accomplish something• Allows apps to call on one another as needed to meet a user’s request
Activity States• Created state: transient state when the activity has
just begun• Started state: software initialization begins and the
first screen can be drawn• Generally considered the main screen
• Resumed state (running state): activities execute until they are interrupted by another activity or a user command
• Paused state: a stop for an activity that is interrupted and ready to go into a “background” mode
• Stopped state: activities disappear from the user’s view• Subsequently, activity may be terminated or it may be
recalled• Destroyed state: formal indication that the activity is
terminated• Will be removed completely from system memory• Background activities closed properly to prevent memory
leaks
Activity States• Back stack: data structure• When new app is loaded,
replaced app is moved onto the stack• Loading and unloading uses
last-in, first-out (LIFO) scheme• User navigates previously
viewed apps using the screen’s “back” button
Device Management• Apps are designed to accommodate numerous devices,
often without user help• Screen requirements
• Design considerations: screen size, screen density, orientation, and resolution
• Ultimate app designer’s goal• Give every user the impression that the app was designed
specifically for the user’s device• Battery management
• Android device’s battery usage information: Settings tab• Ways to improver battery availability
• Users choose to leave certain functions turned off until they are actually needed, e.g., GPS, Bluetooth communications, background file syncing, etc.
• Wi-Fi instead of telephony: saves power
File Management• Linux-managed at the kernel level
• User ID: the part of the operating system that is the user’s own protected mode and that allows it to manage the files it creates and executes• Each application has its own• Not shared: no other apps can read or alter the app’s files• Two apps with same User ID: data is shared
• Supplementary apps• Necessary for file manipulation tasks
Security Management• Multiple tiered security structure• Protects user’s data and system’s resources (including
networking resources)• Provides application isolation: prevents intentional damage
or inadvertent vulnerabilities from a malicious or poorly designed app
• User installed apps• Higher vulnerability risks than
pre-installed apps
Permissions• User-defined permissions• Individual controls device security• Resource access must be explicitly given to the app
Bring Your Own Devices (BYOD)
• Organization’s members connect to a secured network with own devices• Greatly complicates network
administration• Many considerations
• Cost• Security• Data management• Convenience• Productivity• Other factors
• Who decides which apps will be run on each device, and which apps can be connected to a secure system?
• How can productivity improvements attributed to BYOD be measured?
• Who should pay the usage charges when an employee’s device is used for both work and personal activities?
• Is device network access limited to email or expanded to multiple database access?
• Who controls the data on the device—the personal information as well as organizational data?
• Who should pay for upgrades in device hardware and software?
• What happens if the device is misplaced or lost?
• How are the device and its data managed when the owner leaves the organization?
User Interface• Touch screen
• Features icons that are manipulated by the user• User-selected apps that remain in place when the user
swipes the screen from side-to-side• “Soft buttons” along screen bottom: allow the user to
perform critical tasks, e.g., go home, go back, or view open tasks
• Consistent navigation experience: essential to user satisfaction• Android developers: highly encouraged to follow the
same standards regarding the icons’ placement and functionality
• “Action bar”: top of each app screenStays in place while app is active• Provides consistent layout
Summary• Android: designed for mobile, multitasking,
multipurpose systems that often have multiple cores• Powers hundreds of millions of mobile devices in more than
190 countries• Open source operating system based on Linux
• Continued success: may depend on app developers’ ability to keep current with new emerging technologies and to use consistent design elements• Providing users a seamless experience meandering from one
app to the next