SlideShare a Scribd company logo
1 of 17
Android vs ios System
Architecture
By Raj Pratim Bhattacharya
Origin
Android
ios
29 september 2008
-
Operating system’s perspective
Kernel
Thread management
Interupt
Inter process communication
Memory Management
Power management
Virtualization
Security and Reiliablity
Procedure
Objective c vs Dalvik
(C++ vs Java)
Thread management
Android
.Main UI thread takes in charge of dispatching the event to the appropriate
widgets.
Each component is run by a process.
No component should perform long operations
when the memory is low and other processes have more immediate requirements,
the Android will decide to shut down a process.
Android provides Handler and Looper to manage threads and let them
communicate with each other.
ios
each application is made up of one or more threads, which represents a single
path of execution.
Each thread has its own execution stack and the kernel schedules its run time
separately.
In order to creating the low-level thread, a function or method to act as the main
entry point for thread is needed, then one of the available thread routines has to
be used to start the thread.
The thread can be created by using the different methods as using POSIX
Threads, or using NSObject to spawn a thread.
The different thread environment needed to be configured like priority stack size
etc.
Android
Signal is a blocking I/O operation has been interrupted.
The number of bytes that were transferred successfully
before the interruption took place is stored in a field of
the exception. Lock implementations provide more
extensive
locking operations than can be obtained using
synchronized
An implementation can favor responding to an interrupt
over normal method return.
Ios
Most device drivers never need to take primary
interrupts because their interrupt lines don’t
cascade into the system’s interrupt controller.
For example, USB devices have a notion of
interrupt, but are really just messages on a serial
bus.
These are commonly referred to as software
interrupts because apart from the interrupt
caused by the message itself, the interrupt is
entirely simulated in software.
Interupt
Android
IPC is a set of techniques for the exchange of data
among multiple threads in one or more processes
The method of IPC used may vary based on the
bandwidth and latency of communication between the
threads, and the type of data being communicated.
Inter-Process
Communication
Ios
For iPhone, any time the sequence in which two
operations are completed affects the result, there is the
potential for a race condition.
For example, if two processes (in a single program or
different programs) share the same global variable, then
there is the potential for one process to interfere with the
other or for an attacker to alter the variable after one
process sets it but before the other reads it.
The solution to race conditions of this type is to use
some locking mechanism .
Memory Management
Android
Android applications usually are limited to 16 MB of
heap.
All Android apps are written in Java. Java, unlike other
programming languages, does not require any coding to
allocate or de-allocate memory automatic garbage
collection the garbage collector
However, the garbage collector can sometimes cause
performance issues if memory allocation is not handled
carefully. The Android SDK provides allocation tracker, a
tool to avoid the frequent garbage collection.
Ios
iPhone has no garbage collection, developer has to
clean up the variables after use them, otherwise the
program will leak memory. Though NSObject class has
accounting stuff help to keeps the track of how many
other objects are currently using the object,
When create or copy an object, its retain count is 1.
Thereafter other objects may express an ownership
interest in your object, which increments it’s retain count.
The owners of an object may also relinquish their
ownership interest in it, which decrements the retain
count.
When the retain count becomes zero, the object is de-
allocated (destroyed).
System Call
Android
Developer can trace the system calls invoked by
Android for specific tasks by Android Task. The
developer have to figure out which process is actually
managing the data items,
It can also attach to an existing process by using the
command 'strace -p <pid>'. Use 'ps' to find the process
which is managing the contacts and messaging
Ios
The iPhone OS provides tools for system profiling. The
Shark application lets user selectively find out what file
system-related function calls the application makes.
When user set up the session configuration, he can tell
Shark exactly which function calls you
want it to watch. A list of system calls includes all the file
I/O calls plus fcntl, flock, fstat, fsync, link, lstat, lstatv,
and stat. The
sc_usage tool displays an ongoing sample of system
statistics for a given process, including the number of
system calls and page Faults.
Power management
Android
CPU shouldn't consume power if no applications or
services require power. Android requires that
applications and services request CPU resources with
"wake locks" through the Android application framework
and native Linux libraries.
If there are no active wake locks, Android will shut down
the CPU. The Android Framework exposes power
management to services and applications through the
PowerManager class. User space native libraries should
never call into Android Power Management directly.
Bypassing the power management policy in the Android
runtime will destabilize the system.
All calls into Power Management should go through the
Android runtime PowerManager APIs.
Ios
iPhone does not have the power management toolkit as
Mac OS does. Instead, this function is embedded into
the core layer,
which intelligently powers up planes of devices as the
system goes into standby or to sleep. The most power
hungry systems in iPhone from
When put an iPhone into sleep, it will disconnect from
network, turn off the Wi-Fi and screen light.
Virtualization
Every Android application runs in its own process, with its own instance of the Dalvik virtual
machine.Dalvik has been written so that a device can run multiple VMs efficiently.
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal
memory footprint.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level
memory management.
Unlike most virtual machines and true Java VMs which are stack machine, the Dalvik VM is a register-
based architecture.
An uncompressed .dex file is typically a few percent smaller in size than a compressed .jar (Java Archive)
derived from the same .class files.
The Dalvik executables may be modified again when they get installed onto a mobile device.
Being optimized for low memory requirements, Dalvik has some specific characteristics that differentiate it
from other standard VMs:
The VM was slimmed down to use less space. Dalvik currently has no just-in-time compiler,.
It uses its own bytecode, not Java bytecode. Moreover, Dalvik has been designed so that a device can
run multiple instances of the VM efficiently.
For iPhone, Sun Microsystems has released a Java Virtual Machine (JVM) for iPhone OS, based on the
Java Platform, Micro Edition version of Java. This would enable Java applications to run on iPhone and
iPod Touch.
Security and Reliability
Android
Android is a multi-process system, in which each application (and parts of the system) runs in its own
process. Most security between applications and the system is enforced at the process level through
standard Linux facilities, such as user and group IDs that are assigned to applications.
Additional finer-grained security features are provided through a "permission"
Ios
The iPhone has no security software and Apple doesn't let people load third-party programs on the device,
which could reduce the risk of infection from malicious software.
Conclusion
Compare with iPhone, Android provides developer more freedom. As Android is an open source, developer can create and
deploy anything on the device. Compare with iPhone OS, Android is more widespread and applied in different model.
Besides, Google provides many services like Google Search, gTalk, Google Doc, Google Map and so on. Once integrate
these services with Android
It can provide customer more benefits.
iPhone OS, on the contrary, is designed exclusively for Apple’s products, like iPhone, iPod and iPad. This helps to avoid
reduce the functionality to suit the hardware needs for different devices. Also this focus can help developers make more
useful and powerful applications based on customer's requirement.
Questions

More Related Content

What's hot

MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 
Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentationMd Rabius Sany
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-pptSrijib Roy
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentAly Abdelkareem
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development pptsaitej15
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)dwipalp
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating SystemsAndreas Jakl
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentationconnectshilpa
 
Android presantation
Android presantationAndroid presantation
Android presantationUdayJethva
 

What's hot (20)

Android ppt
Android pptAndroid ppt
Android ppt
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
iOS I phone operating system
iOS I phone operating system iOS I phone operating system
iOS I phone operating system
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Mobile OS Computer presentation
Mobile OS Computer presentationMobile OS Computer presentation
Mobile OS Computer presentation
 
Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
Android ppt
 Android ppt Android ppt
Android ppt
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android studio ppt
Android studio pptAndroid studio ppt
Android studio ppt
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Mobile Operating Systems
Mobile Operating SystemsMobile Operating Systems
Mobile Operating Systems
 
Android seminar-presentation
Android seminar-presentationAndroid seminar-presentation
Android seminar-presentation
 
Android presantation
Android presantationAndroid presantation
Android presantation
 

Viewers also liked

Android vs ios presentation detailed slides
Android vs ios presentation detailed slidesAndroid vs ios presentation detailed slides
Android vs ios presentation detailed slidesMuhammad Arslan Khan
 
Iphone vs android
Iphone vs androidIphone vs android
Iphone vs androidxomo
 
Android vs. IOS: Comparing features & functions
Android vs. IOS: Comparing features & functionsAndroid vs. IOS: Comparing features & functions
Android vs. IOS: Comparing features & functionsDipesh Bhatiya
 
Android vs. iPhone for Mobile Security
Android vs. iPhone for Mobile SecurityAndroid vs. iPhone for Mobile Security
Android vs. iPhone for Mobile SecurityCloudCheckr
 
ppt on android vs iOS
ppt on android vs iOSppt on android vs iOS
ppt on android vs iOSShivam Gupta
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignJeremy Johnson
 
Architecture iOS et Android
Architecture iOS et AndroidArchitecture iOS et Android
Architecture iOS et AndroidHadina RIMTIC
 
Five android architecture
Five android architectureFive android architecture
Five android architectureTomislav Homan
 
Session 1 - Introduction to iOS 7 and SDK
Session 1 -  Introduction to iOS 7 and SDKSession 1 -  Introduction to iOS 7 and SDK
Session 1 - Introduction to iOS 7 and SDKVu Tran Lam
 
iOS Platform & Architecture
iOS Platform & ArchitectureiOS Platform & Architecture
iOS Platform & Architecturekrishguttha
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating systemMohammad Alam
 

Viewers also liked (20)

Ios vs android
Ios vs androidIos vs android
Ios vs android
 
Android vs ios presentation detailed slides
Android vs ios presentation detailed slidesAndroid vs ios presentation detailed slides
Android vs ios presentation detailed slides
 
Android Vs iOS
Android Vs iOSAndroid Vs iOS
Android Vs iOS
 
Iphone vs android
Iphone vs androidIphone vs android
Iphone vs android
 
Android vs. IOS: Comparing features & functions
Android vs. IOS: Comparing features & functionsAndroid vs. IOS: Comparing features & functions
Android vs. IOS: Comparing features & functions
 
Pitch
PitchPitch
Pitch
 
Android vs. iPhone for Mobile Security
Android vs. iPhone for Mobile SecurityAndroid vs. iPhone for Mobile Security
Android vs. iPhone for Mobile Security
 
ppt on android vs iOS
ppt on android vs iOSppt on android vs iOS
ppt on android vs iOS
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
 
iOS platform
iOS platformiOS platform
iOS platform
 
Architecture iOS et Android
Architecture iOS et AndroidArchitecture iOS et Android
Architecture iOS et Android
 
Five android architecture
Five android architectureFive android architecture
Five android architecture
 
iOS App Architecture
iOS App ArchitectureiOS App Architecture
iOS App Architecture
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Session 1 - Introduction to iOS 7 and SDK
Session 1 -  Introduction to iOS 7 and SDKSession 1 -  Introduction to iOS 7 and SDK
Session 1 - Introduction to iOS 7 and SDK
 
iOS Platform & Architecture
iOS Platform & ArchitectureiOS Platform & Architecture
iOS Platform & Architecture
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 

Similar to Android vs ios System Architecture in OS perspective

Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 
Android Development - Session 2
Android Development - Session 2Android Development - Session 2
Android Development - Session 2Mohammad Shaker
 
Android Development - Session 1
Android Development - Session 1Android Development - Session 1
Android Development - Session 1Mohammad Shaker
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for BeginnersTripti Tiwari
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]Yatharth Aggarwal
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Android presentation
Android presentationAndroid presentation
Android presentationImam Raza
 
Android technology
Android technologyAndroid technology
Android technologyDhruv Modh
 
Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android SystemNizar Maan
 
01 what is android
01 what is android01 what is android
01 what is androidC.o. Nieto
 
Android training course
Android training courseAndroid training course
Android training courseAdarsh Pandey
 
Mobile application security
Mobile application securityMobile application security
Mobile application securityShubhneet Goel
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application SecurityIshan Girdhar
 

Similar to Android vs ios System Architecture in OS perspective (20)

Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Android Development - Session 2
Android Development - Session 2Android Development - Session 2
Android Development - Session 2
 
Android Development - Session 1
Android Development - Session 1Android Development - Session 1
Android Development - Session 1
 
Android basics
Android basicsAndroid basics
Android basics
 
Android training in chandigarh
Android training in chandigarhAndroid training in chandigarh
Android training in chandigarh
 
Android OS
Android OSAndroid OS
Android OS
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Android os
Android osAndroid os
Android os
 
Mobile operating system
Mobile operating systemMobile operating system
Mobile operating system
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Android technology
Android technologyAndroid technology
Android technology
 
Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android System
 
Android platform
Android platform Android platform
Android platform
 
01 what is android
01 what is android01 what is android
01 what is android
 
Android training course
Android training courseAndroid training course
Android training course
 
Mobile application security
Mobile application securityMobile application security
Mobile application security
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
 

Recently uploaded

THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 

Android vs ios System Architecture in OS perspective

  • 1. Android vs ios System Architecture By Raj Pratim Bhattacharya
  • 3. Operating system’s perspective Kernel Thread management Interupt Inter process communication Memory Management Power management Virtualization Security and Reiliablity
  • 5. Objective c vs Dalvik (C++ vs Java)
  • 6. Thread management Android .Main UI thread takes in charge of dispatching the event to the appropriate widgets. Each component is run by a process. No component should perform long operations when the memory is low and other processes have more immediate requirements, the Android will decide to shut down a process. Android provides Handler and Looper to manage threads and let them communicate with each other.
  • 7. ios each application is made up of one or more threads, which represents a single path of execution. Each thread has its own execution stack and the kernel schedules its run time separately. In order to creating the low-level thread, a function or method to act as the main entry point for thread is needed, then one of the available thread routines has to be used to start the thread. The thread can be created by using the different methods as using POSIX Threads, or using NSObject to spawn a thread. The different thread environment needed to be configured like priority stack size etc.
  • 8. Android Signal is a blocking I/O operation has been interrupted. The number of bytes that were transferred successfully before the interruption took place is stored in a field of the exception. Lock implementations provide more extensive locking operations than can be obtained using synchronized An implementation can favor responding to an interrupt over normal method return. Ios Most device drivers never need to take primary interrupts because their interrupt lines don’t cascade into the system’s interrupt controller. For example, USB devices have a notion of interrupt, but are really just messages on a serial bus. These are commonly referred to as software interrupts because apart from the interrupt caused by the message itself, the interrupt is entirely simulated in software. Interupt
  • 9. Android IPC is a set of techniques for the exchange of data among multiple threads in one or more processes The method of IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated. Inter-Process Communication Ios For iPhone, any time the sequence in which two operations are completed affects the result, there is the potential for a race condition. For example, if two processes (in a single program or different programs) share the same global variable, then there is the potential for one process to interfere with the other or for an attacker to alter the variable after one process sets it but before the other reads it. The solution to race conditions of this type is to use some locking mechanism .
  • 10. Memory Management Android Android applications usually are limited to 16 MB of heap. All Android apps are written in Java. Java, unlike other programming languages, does not require any coding to allocate or de-allocate memory automatic garbage collection the garbage collector However, the garbage collector can sometimes cause performance issues if memory allocation is not handled carefully. The Android SDK provides allocation tracker, a tool to avoid the frequent garbage collection. Ios iPhone has no garbage collection, developer has to clean up the variables after use them, otherwise the program will leak memory. Though NSObject class has accounting stuff help to keeps the track of how many other objects are currently using the object, When create or copy an object, its retain count is 1. Thereafter other objects may express an ownership interest in your object, which increments it’s retain count. The owners of an object may also relinquish their ownership interest in it, which decrements the retain count. When the retain count becomes zero, the object is de- allocated (destroyed).
  • 11. System Call Android Developer can trace the system calls invoked by Android for specific tasks by Android Task. The developer have to figure out which process is actually managing the data items, It can also attach to an existing process by using the command 'strace -p <pid>'. Use 'ps' to find the process which is managing the contacts and messaging Ios The iPhone OS provides tools for system profiling. The Shark application lets user selectively find out what file system-related function calls the application makes. When user set up the session configuration, he can tell Shark exactly which function calls you want it to watch. A list of system calls includes all the file I/O calls plus fcntl, flock, fstat, fsync, link, lstat, lstatv, and stat. The sc_usage tool displays an ongoing sample of system statistics for a given process, including the number of system calls and page Faults.
  • 12. Power management Android CPU shouldn't consume power if no applications or services require power. Android requires that applications and services request CPU resources with "wake locks" through the Android application framework and native Linux libraries. If there are no active wake locks, Android will shut down the CPU. The Android Framework exposes power management to services and applications through the PowerManager class. User space native libraries should never call into Android Power Management directly. Bypassing the power management policy in the Android runtime will destabilize the system. All calls into Power Management should go through the Android runtime PowerManager APIs. Ios iPhone does not have the power management toolkit as Mac OS does. Instead, this function is embedded into the core layer, which intelligently powers up planes of devices as the system goes into standby or to sleep. The most power hungry systems in iPhone from When put an iPhone into sleep, it will disconnect from network, turn off the Wi-Fi and screen light.
  • 13. Virtualization Every Android application runs in its own process, with its own instance of the Dalvik virtual machine.Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. Unlike most virtual machines and true Java VMs which are stack machine, the Dalvik VM is a register- based architecture. An uncompressed .dex file is typically a few percent smaller in size than a compressed .jar (Java Archive) derived from the same .class files. The Dalvik executables may be modified again when they get installed onto a mobile device.
  • 14. Being optimized for low memory requirements, Dalvik has some specific characteristics that differentiate it from other standard VMs: The VM was slimmed down to use less space. Dalvik currently has no just-in-time compiler,. It uses its own bytecode, not Java bytecode. Moreover, Dalvik has been designed so that a device can run multiple instances of the VM efficiently. For iPhone, Sun Microsystems has released a Java Virtual Machine (JVM) for iPhone OS, based on the Java Platform, Micro Edition version of Java. This would enable Java applications to run on iPhone and iPod Touch.
  • 15. Security and Reliability Android Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" Ios The iPhone has no security software and Apple doesn't let people load third-party programs on the device, which could reduce the risk of infection from malicious software.
  • 16. Conclusion Compare with iPhone, Android provides developer more freedom. As Android is an open source, developer can create and deploy anything on the device. Compare with iPhone OS, Android is more widespread and applied in different model. Besides, Google provides many services like Google Search, gTalk, Google Doc, Google Map and so on. Once integrate these services with Android It can provide customer more benefits. iPhone OS, on the contrary, is designed exclusively for Apple’s products, like iPhone, iPod and iPad. This helps to avoid reduce the functionality to suit the hardware needs for different devices. Also this focus can help developers make more useful and powerful applications based on customer's requirement.