Sunteți pe pagina 1din 20

Mobile Computing

Dr. Mohammed Fadhil


How operating system works ?
Desktop , TV , Laptop and smartphone
OPERATING SYSTEMS
An operating system is the set of programs that, after being initially loaded into a computer by a

boot program, controls all the other programs in a computer. It also manages a computer’s

internal workings – its memory, processors, internal and external devices, the file system, etc.

Operating systems are designed to make best use of a computer’s resources. PCs, laptops,

virtual machines, servers, and tablets all use an operating system. But most other devices containing

a (small) computer use an operating system as well: a mobile phone, a network router, a car, a

television, or sometimes even a washing machine.


OPERATING SYSTEMS (CONT.)
Operating systems provide an abstraction layer between (virtualized or physical) hardware and

software applications. All Low level hardware management like process management, memory

management, interrupt management, multi user management, file locking, and file sharing are all

handled by the operating system.

The most popular operating systems running on servers today are Microsoft Windows, Linux, and

UNIX. On end user devices, Windows, Linux, Mac OS X, and mobile operating systems iOS and

Android are popular.


OPERATING SYSTEMS (CONT.)
An operating system basically performs two operations:

1. It enables multiple users, multiple processes, and multiple

applications to run together on a single piece of hardware.

2. It hides the technical complexities of the underlying hardware from

the applications running on top of the operating system.


OPERATING SYSTEMS (CONT.)
The kernel is the heart of an operating system. It starts and stops

programs, manages the file system, and performs other so called "low

level" tasks that most programs need. And, perhaps most importantly,

the kernel schedules access to hardware to avoid conflicts if two

programs try to access the same resource or device simultaneously.


OPERATING SYSTEMS (CONT.)
Drivers are small applications that connect specific hardware devices,

like a printer of a network card, to the kernel.

Utilities are applications that are considered part of the operating

system, like user interfaces (text-based shells and GUIs), installation

and configuration tools, logging tools, editors, system update

processes, and web browsers.


OPERATING SYSTEMS (CONT.)

Applications consist of one or more processes that communicate

with the operating system using system calls that are invoked through

Application Programming Interfaces (APIs).


PROCESS IN MEMORY
A process is an instance of a program in execution.
• Process memory is divided into four sections as shown in the figure:
• The text section comprises the compiled program code.
• The data section stores global and static variables, allocated and initialized prior to
executing main.
• The heap is used for dynamic memory allocation, and is managed via calls to new,
delete, malloc, free, etc.
• The stack is used for local variables. Space on the stack is reserved for local
variables when they are declared, and the space is freed up when the variables go
out of scope.
• Note that the stack and the heap start at opposite ends of the process's free space and
grow towards each other. If they should ever meet, then either a stack overflow error
will occur, or else a call to new or malloc will fail due to insufficient memory
available.
• When processes are swapped out of memory and later restored, additional information
must also be stored and restored. Key among them are the program counter and the value of
all program registers. A process in memory
PROCESS SCHEDULING
In most computer systems, a large number of multiple

processes are running simultaneously, while each CPU

core is physically only capable of running one

process at a certain time.

Operating systems create the illusion of multiple running processes in parallel by scheduling

each process to run only during a short time frame.


SOME REQUIREMENTS FOR SUCCESSFUL MOBILE OS

• Easy and consistent for app developers

• Responsive, fast and efficient

• Secure

• Run with limited RAM


Evolution of Mobile Hardware

From “Brick” to “Slick”


Evolution of Mobile
Functionality/Software
Why is Mobile Interesting
• Big
– 5.2bn mobile phone subscriptions
• vs. 4.2bn people with toothbrush

• On-hand
– For 91% of the population the device is only an arm’s length
away (24/7)
– Users look at their mobile device 150x/day on average

• Individual
– 60% of married people will not share their mobile with spouse.
How is Mobile Software Different
Desktop software is not suited for mobile
Higher heterogeneity
 Desktop world for developers is quite homogeneous
 Initially: problem of device fragmentation
“Mobile device/OS fragmentation is a phenomenon that occurs when some mobile
users are running older versions of an operating system, while other users are
running newer versions.”

 Recently: shift towards platform fragmentation


 iOS, Android, bada, Blackberry, Win Phone 7, Symbian, J2ME/JavaFX, WebOS,
Win Mobile, OpenMoko, LiMo.
CHARACTERISTICS
Different usage context

 Limited attention time span: 4 seconds

 Inherent context factors

 Mobility (constant change of position)

 Device capabilities (CPU, battery, screen size)

 Operator plan and communication costs

 Interaction possibilities
CHARACTERISTICS
Different market rules:
 Much shorter product lifecycles
 With much shorter time-to-market

 More difficult user attraction: a lost user is very difficult to win back
 Different product distribution:
 Mostly centralised application stores: The “Google play, App Store, Amazon
Appstore and windows store”

 Different business models:


 Different price policies (Android: free apps)
 Different revenue channels (ads, subscriptions and one time purchase)
 Different payment methods (operator billing and payment cards)
CHARACTERISTICS
Different interaction possibilities / user experience
 Traditional “desktop devices” cannot be assumed:
 No mouse, full keyboard, large screen or unlimited power supply.

 Instead
 Multipoint-touch
 Gestures and motion detection
 Sensors (acceleration, tilt, GPS, compass)
 Haptic feedback
 STT/TTS
 Camera (face detection/recognition)
EASY AND CONSISTENT FOR APP DEVELOPERS
• Apps attract users and user attract apps

• Inconsistent hardware
o Small Screen, Large Screen, keyboard, touchscreen 1MP camera, 10MP
camera, 600Mhz single core - 1GHZ quad core

• Multiple OS versions

S-ar putea să vă placă și