Mcunitfour
Mcunitfour
Mobile Databases :
● Mobile computing devices (e.g., smartphones and PDAs) store and share data over a mobile
network, or a database which is actually stored by the mobile device. This
could be a list of contacts, price information, distance travelled, or any other information.
● Many applications require the ability to download information from an information repository and
operate on this information even when out of range or disconnected.
● This type of access and work load generated by such users is different from the traditional
workloads seen in client–server systems of today.
Data Hoarding :
● A mobile device─ not always connected to the server or network, neither does the device retrieve
data from a server or a network for each computation
● Rather, the device caches required specific data, which may be required for future computations,
during the interval in which the device is connected to the server or network.
● Advantages :
○ No access latency (delay in retrieving the queried record from the server over wireless
mobile networks)
○ The client device API has instantaneous data access to hoarded or cached data
○ After a device caches the data distributed by the server, the data is hoarded at the device
Data Dissemination :
● Data dissemination is the distribution or transmitting of statistical, or other, data to end users.
● There are many ways organisations can release data to the public, i.e. electronic format, CD-ROM
and paper publications such as PDF files based on aggregated data.
● The most popular dissemination method today is the ‘non-proprietary’ open systems using internet
protocols.
● The UAProf (User Agent Profile) specification is concerned with capturing capability and
preference information for wireless devices. This information can be used by content providers to
produce content in an appropriate format for the specific device.
● UAProf files typically have the file extensions rdf or xml, and are usually served with mimetype
application/xml.
● A UAProf file describes the capabilities of a mobile handset, including Vendor, Model, Screen
Size, Multimedia Capabilities, Character Set support, and more.
Service Discovery :
● Service discovery is the automatic detection of devices and services offered by these devices on a
computer network.
● A service discovery protocol (SDP) is a network protocol that helps accomplish service discovery.
● Service discovery requires a common language to allow software agents to make use of one
another's services without the need for continuous user intervention.
● There are many service discovery protocols, including:
● Bluetooth Service Discovery Protocol (SDP)
● DNS Service Discovery (DNS-SD), a component of Zero Configuration Networking
● Dynamic Host Configuration Protocol (DHCP)
● Internet Storage Name Service (iSNS)
● Jini for Java objects.
● Mobility :
○ The search cost to locate mobile elements is added to the cost of each communication
involving them.
○ Efficient data structures, algorithms, and query execution plans must be devised for
representing, managing, and querying the location of mobile elements, which is a fast
changing data.
● Wireless Medium :
○ Wireless networks are more expensive, offer less bandwidth, and are less reliable than
wireline networks.
● Portability :
○ Mobile elements must be light and small to be easily carried around.
○ Such considerations, in conjunction with a given cost and level of technology, will keep
mobile elements having less resources than static elements, including memory, screen size
and disk capacity.
Data Replication :
● A mobile file system is a client/server-based application that allows clients to access and process
data stored on the server as if it were on their own computer.
● When a user accesses a file on the server, the server sends the user a copy of the file, which is
cached on the user's computer while the data is being processed and is then returned to the server.
● Ideally, a mobile file system organizes file and directory services of individual servers into a
global directory in such a way that remote data access is not location-specific but is identical from
any client.
● All files are accessible to all users of the global file system and organization is hierarchical and
directory-based.
● Since more than one client may access the same data simultaneously, the server must have a
mechanism in place (such as maintaining information about the times of access) to organize
updates so that the client always receives the most current version of data and that data conflicts
do not arise.
Data Synchronization :
● Data synchronization technologies are designed to synchronize a single set of data between two or
more devices, automatically copying changes back and forth.
● Data synchronization can be local synchronization where the device and computer are side-by-
side and data is transferred or remote synchronization when a user is mobile and the data is
synchronized over a mobile network.
● Models :
○ One to Many : Each system or device caches the data pushed from the server or sends a
pull request to the central server and gets a response
○ Many to Many : Employs peer-to-peer architecture where each system is capable of
sending pull requests and of pushing responses
Syncml works by exchanging commands, which can be requests and responses. As an example:
● the mobile sends an Alert command for signaling the wish to begin a refresh-only
synchronization
● the computer responds with a Status command for accepting the request
● the mobile sends one or more Sync command containing an Add sub-command for each item
(e.g., phonebook entry); if the number of entries is large, it does not include the <Final/> tag;
● in the latter case, the computer requests to continue with an appropriate Alert message, and the
mobile sends another chunk of items; otherwise, the computer confirms it received all data
with a Status command.
PALM OS
PALM OS is an operating system for personal digital assistants, designed for touchscreen. It
consists of a limited number of features designed for low memory and processor usage which
in turn helps in getting longer battery life.
Features of PALM OS
Elementary memory management system.
Provides PALM Emulator.
Handwriting recognition is possible.
Supports recording and playback.
Supports C, and C++ software.
The User Interface in the architecture is used for graphical input-output.
The Memory Management section is used for maintaining databases, global
variables, etc.
System Management’s job is to maintain events, calendars, dates, times, etc.
Communication TCP/IP as the name denotes is simply used for communication.
Microkernel is an essential tool in architecture. It is responsible for providing the
mechanism needed for the proper functioning of an operating system.
Development Cycle
For the development of the PALM OS, these are the phases it has to go through before it can be
used in the market:
Editing the code for the operating system that is checking for errors and correcting
errors.
Compile and Debug the code to check for bugs and correct functioning of the code.
Run the program on a mobile device or related device.
If all the above phases are passed, we can finally have our finished product which is
the operating system for mobile devices named PALM OS.
Advantages
Fewer features are designed for low memory and processor usage which means
longer battery life.
No need to upgrade the operating system as it is handled automatically in PALM OS.
More applications are available for users.
Extended connectivity for users. Users can now connect to wide areas.
Disadvantages
The user cannot download applications using the external memory in PALM OS. It
will be a disadvantage for users with limited internal memory.
Systems and extended connectivity are less compared to what is offered by other
operating systems.
Windows CE
Windows CE is an operating system developed by Microsoft and designed for small
footprint devices or embedded systems. Windows CE is different from the Windows
operating systems for desktops but they share similar application programming
interfaces for a considerable number of classes. Some of the devices that run
Windows CE include industrial controllers, point of sale terminals, cameras, Internet
appliances, cable set-top boxes and communications hubs.
A typical Windows CE-powered device can have less than a megabyte of memory, no
disk storage and can also be placed directly into ROM.
Application Software layer: This is the second layer of Symbian Os which provides services
(independent of hardware, applications, or user interface) to applications and other higher-level
programs. Services can be specific application technology such as messaging and multimedia.
Os service layer: This layer is also known as the middleware layer which provides a
framework, servers, and libraries.
Base service layer: This is the second last layer of the Symbian OS and it includes File servers
and User library.
Kernel Service layer: The lowest layer of Symbian OS is the Kernel Services and Hardware
Interface layer which contains the operating system kernel and the supporting components
which abstract the interfaces to the underlying hardware, including logical and physical device
drivers.
Features of Symbian OS
The following features are provided by Symbian os-
User Interface
The graphical user interface provided by Symbian os was very interactive for both the touchscreen
mobile and the mobiles with keypads.
Multimedia Support
Symbian os also had features like playback and recording high-quality videos and audio. It also
had a supported image conversion feature that allowed users to convert images from one format
to another.
Security Support
Security was one of the most important features that came with Symbian Os. It provided
protection against different malware and a secure platform for application development. Some
security feature that Symbian Os provided was device locking.
Browser
The initial version of Symbian Os came with Opera as a pre-installed browser in them. Still, later a
new default browser was developed to provide a better user interface and a faster speed. This
browser was based on WebKit.
Compatibility
Symbian Os was easily compatible with different hardware devices such as mobile phones,
tablets, etc.
Connectivity
Symbian Os supported various functionalities like Bluetooth, wifi, and cellular data. This enhanced
the user experience by increasing the connectivity of devices among each other.
Application Development
Different types of programming languages could be used to make applications for Symbian Os,
and the Symbian OS also had a lot of applications such as games and utility applications like
calculators and other applications.
Android
Android architecture contains different number of components to support any android device
needs. Android software contains an open-source Linux Kernel having collection of number of
C/C++ libraries which are exposed through an application framework services.
Among all the components Linux Kernel provides main functionality of operating system
functions to smartphones and Dalvik Virtual Machine (DVM) provide platform for running an
android application.
The main components of android architecture are following:-
Applications
Application Framework
Android Runtime
Platform Libraries
Linux Kernel
Pictorial representation of android architecture with several main components and their sub
components –
Applications –
Applications is the top layer of android architecture. The pre-installed applications like home,
contacts, camera, gallery etc and third party applications downloaded from the play store like
chat applications, games etc. will be installed on this layer only.
It runs within the Android run time with the help of the classes and services provided by the
application framework.
Application framework –
Application Framework provides several important classes which are used to create an
Android application. It provides a generic abstraction for hardware access and also helps in
managing the user interface with application resources. Generally, it provides the services
with the help of which we can create a particular class and make that class helpful for the
Applications creation.
It includes different types of services activity manager, notification manager, view system,
package manager etc. which are helpful for the development of our application according to
the prerequisite.
Application runtime –
Android Runtime environment is one of the most important part of Android. It contains
components like core libraries and the Dalvik virtual machine(DVM). Mainly, it provides the
base for the application framework and powers our application with the help of the core
libraries.
Like Java Virtual Machine (JVM), Dalvik Virtual Machine (DVM) is a register-based virtual
machine and specially designed and optimized for android to ensure that a device can run
multiple instances efficiently. It depends on the layer Linux kernel for threading and low-level
memory management. The core libraries enable us to implement android applications using
the standard JAVA or Kotlin programming languages.
Platform libraries –
The Platform Libraries includes various C/C++ core libraries and Java based libraries such as
Media, Graphics, Surface Manager, OpenGL etc. to provide a support for android development.
Media library provides support to play and record an audio and video formats.
Surface manager responsible for managing access to the display subsystem.
SGL and OpenGL both cross-language, cross-platform application program interface
(API) are used for 2D and 3D computer graphics.
SQLite provides database support and FreeType provides font support.
Web-Kit This open source web browser engine provides all the functionality to
display web content and to simplify page loading.
SSL (Secure Sockets Layer) is security technology to establish an encrypted link
between a web server and a web browser.
Linux Kernel –
Linux Kernel is heart of the android architecture. It manages all the available drivers such as
display drivers, camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc. which
are required during the runtime.
The Linux Kernel will provide an abstraction layer between the device hardware and the
other components of android architecture. It is responsible for management of memory,
power, devices etc.
The features of Linux kernel are:
Security: The Linux kernel handles the security between the application and the
system.
Memory Management: It efficiently handles the memory management thereby
providing the freedom to develop our apps.
Process Management: It manages the process well, allocates resources to
processes whenever they need them.
Network Stack: It effectively handles the network communication.
Driver Model: It ensures that the application works properly on the device and
hardware manufacturers responsible for building their drivers into the Linux build.
Architecture of IOS Operating System
IOS is a Mobile Operating System that was developed by Apple Inc. for iPhones, iPads, and
other Apple mobile devices. iOS is the second most popular and most used Mobile Operating
System after Android.
The structure of the iOS operating System is Layered based. Its communication doesn’t occur
directly. The layer’s between the Application Layer and the Hardware layer will help for
Communication. The lower level gives basic services on which all applications rely and the
higher-level layers provide graphics and interface-related services. Most of the system
interfaces come with a special package called a framework.
A framework is a directory that holds dynamic shared libraries like .a files, header files,
images, and helper apps that support the library. Each layer has a set of frameworks that are
helpful for developers.
Architecture of IOS
CORE OS Layer:
All the IOS technologies are built under the lowest level layer i.e. Core OS layer. These
technologies include:
1. Core Bluetooth Framework
2. External Accessories Framework
3. Accelerate Framework
4. Security Services Framework
5. Local Authorization Framework etc.
It supports 64 bit which enables the application to run faster.
CORE SERVICES Layer:
Some important frameworks are present in the CORE SERVICES Layer which helps the iOS
operating system to cure itself and provide better functionality. It is the 2nd lowest layer in
the Architecture as shown above.
MEDIA Layer:
With the help of the media layer, we will enable all graphics video, and audio technology of
the system. This is the second layer in the architecture. The different frameworks of MEDIA
layers are:
1. ULKit Graphics-
This framework provides support for designing images and animating the view
content.
2. Core Graphics Framework-
This framework support 2D vector and image-based rendering and it is a native
drawing engine for iOS.
3. Core Animation-
This framework helps in optimizing the animation experience of the apps in iOS.
COCOA TOUCH:
COCOA Touch is also known as the application layer which acts as an interface for the user to
work with the iOS Operating system. It supports touch and motion events and many more
features.