A Look through the Android Stack
|
|
|
- Madison Bruce
- 10 years ago
- Views:
Transcription
1 A Look through the Android Stack A Look through the Android Stack Free Electrons Maxime Ripard Free Electrons Embedded Linux Developers c Copyright , Free Electrons. Creative Commons BY-SA 3.0 license. Latest update: July 12, Document updates and sources: Corrections, suggestions, contributions and translations are welcome! Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 1/36
2 Maxime Ripard Embedded Linux engineer and trainer at Free Electrons since 2011 Embedded Linux development: kernel and driver development, system integration, boot time and power consumption optimization, etc. Embedded Linux, Embedded Android and driver development training, with materials freely available under a Creative Commons license. Contributor to Buildroot, a simple open-source embedded build system Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 2/36
3 What is Android? Mobile OS bought by Google in 2005 Opened up to the world through the Android Open Source Project the 21 October 2008 with the release of Android 1.0 (mostly) under the Apache 2.0 License Has deep foundation into the open-source/free software world, even if a huge part has been written from scratch: uses Linux, WebKit, SQLite, OpenSSL, etc. Is now one of the most successful mobile OS in the world Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 3/36
4 Architecture Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 4/36
5 Booting Up... Booting Up... Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 5/36
6 Booting Up... The Linux Kernel Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 6/36
7 The Linux Kernel Used as the foundation of the Android system Numerous additions from the stock Linux, including new IPC (Inter-Process Communication) mechanisms, alternative power management mechanism, new drivers and various additions across the kernel These changes are beginning to go into the staging/ area of the kernel, as of 3.4, after being a complete fork for a long time Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 7/36
8 Wakelocks Android s answer to these power management constraints is wakelocks One of the most famous Android changes, because of the flame wars it spawned The main idea is instead of letting the user decide when the devices need to go to sleep, the kernel is set to suspend as soon and as often as possible. In the same time, Android allows applications and kernel drivers to voluntarily prevent the system from going to suspend, keeping it awake (thus the name wakelock) This implies to write the applications and drivers to use the wakelock API. Applications do so through the abstraction provided by the API Drivers must do it themselves, which prevents to directly submit them to the vanilla kernel Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 8/36
9 Binder RPC/IPC mechanism Takes its roots from BeOS and the OpenBinder project, which some of the current Android engineers worked on Adds remote object invocation capabilities to the Linux Kernel One of the very basic functionalities of Android. Without it, Android cannot work. Every call to the system servers go through Binder, just like every communication between applications, and even communication between the components of a single application. Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 9/36
10 Binder Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 10/36
11 Ashmem ndk/docs/system/libc/sysv-ipc.html illustrates all the love Android developers have for the shared memory mechanism in Linux Ashmem is the response to the flaws exposed Notable differences are: Reference counting so that the kernel can reclaim resources which are no longer in use There is also a mechanism in place to allow the kernel to shrink shared memory regions when the system is under memory pressure. The standard use of Ashmem in Android is that a process opens a shared memory region and share the obtained file descriptor through Binder. Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 11/36
12 Low Memory Killer When the system goes out of memory, Linux throws the OOM Killer to cleanup memory greedy processes However, this behaviour is not predictable at all, and can kill very important components of a phone (Telephony stack, Graphic subsystem, etc) instead of low priority processes (Angry Birds) The main idea is to have another process killer, that kicks in before the OOM Killer and takes into account the time since the application was last used and the priority of the component for the system It uses various thresholds, so that it first notifies applications so that they can save their state, then begins to kill non-critical background processes, and then the foreground applications As it is run to free memory before the OOM Killer, the latter will never be run, as the system will never run out of memory Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 12/36
13 Various additions Android also has a lot of minor features added to the Linux kernel: RAM Console, a RAM-based console that survives a reboot to hold kernel logs pmem, a physically contiguous memory allocator, written specifically for the HTC G1, to allocate heaps used for 2D hardware acceleration Alarm Timers, which combines Real-Time Clock with the high-resolution timers to wake up a process even when the device is in suspend. Paranoid Network, which restricts access to the network interfaces only to a given GID ADB YAFFS2 Timed GPIOs Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 13/36
14 Booting Up... Init Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 14/36
15 Android s init Once again, Google has developed his own instead of relying on an existing one. However, it has some interesting features, as it can also be seen as a daemon on the system it manages device hotplugging, with basic permissions rules for device files, and actions at device plugging and unplugging: set particular permissions to the device files, mount the filesystems, start a daemon, etc. it monitors the services it started, so that if they crash, it can restart them, reboot the device, etc. it monitors system properties so that you can take actions when a particular one is modified Basically, it is quite comparable to sysvinit + udev Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 15/36
16 Android startup Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 16/36
17 Booting Up... Dalvik and Zygote Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 17/36
18 Dalvik Dalvik is the virtual machine, executing Android applications It is an interpreter written in C/C++, and is designed to be portable, lightweight and run well on mobile devices It is also designed to allow several instances of it to be run at the same time while consuming as little memory as possible Two execution modes portable: the interpreter is written in C, quite slow, but should work on all platforms fast: Uses the mterp mechanism, to define routines either in assembly or in C optimized for a specific platform. Instruction dispatching is also done by computing the handler address from the opcode number It uses the Apache Harmony Java framework for its core libraries Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 18/36
19 Zygote Dalvik is started by Zygote frameworks/base/cmds/app_process At boot, Zygote is started by init, it then Initializes a virtual machine in its address space Loads all the basic Java classes in memory Starts the system server Waits for connections on a UNIX socket When a new application should be started: Android connects to Zygote through the socket to request the start of a new application Zygote forks The child process loads the new application and start executing it Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 19/36
20 Booting Up... Service Manager and Various Services Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 20/36
21 System Server boot Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 21/36
22 The first step: system_server.c Located in frameworks/base/cmds/system_server Started by Zygote through the SystemServer Starts all the various native services: SurfaceFlinger SensorService AudioFlinger MediaPlayerService CameraService AudioPolicyService It then calls back the SystemServer object s init2 function to go on with the initialization Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 22/36
23 Java Services Initialization Located in frameworks/base/services/java/com/ android/server/systemserver.java Starts all the different Java services in a different thread by registering them into the Service Manager PowerManager, ActivityManager (also handles the ContentProviders), PackageManager, BatteryService, LightsService, VibratorService, AlarmManager, WindowManager, BluetoothService, DevicePolicyManager, StatusBarManager, InputMethodManager, ConnectivityService, MountService, NotificationManager, LocationManager, AudioService,... If you wish to add a new system service, you will need to add it to one of these two parts to register it at boot time Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 23/36
24 Communication within the system Communication within the system Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 24/36
25 IPCs On modern systems, each process has its own address space, allowing to isolate data This allows for better stability and security: only a given process can access its address space. If another process tries to access it, the kernel will detect it and kill this process. However, interactions between processes are sometimes needed, that s what IPCs are for. On classic Linux systems, several IPC mechanisms are used: Signals Semaphores Sockets Message queues Pipes Shared memory Android, however, uses mostly: Binder Ashmem and Sockets Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 25/36
26 Binder 1/2 Uses shared memory for high performance Uses reference counting to garbage collect objects no longer in use Data are sent through parcels, which is some kind of serialization Used across the whole system, e.g., clients connect to the window manager through Binder, which in turn connects to SurfaceFlinger using Binder Each object has an identity, which does not change, even if you pass it to other processes. Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 26/36
27 Binder 2/2 This is useful if you want to separate components in distinct processes, or to manage several components of a single process (i.e. Activity s Windows). Object identity is also used for security. Some token passed correspond to specific permissions. Another security model to enforce permissions is for every transaction to check on the calling UID. Binder also supports one-way and two-way messages Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 27/36
28 Binder Mechanism Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 28/36
29 Binder Implementation 1/2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 29/36
30 Binder Implementation 2/2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 30/36
31 Android Interface Definition Language (AIDL) Very similar to any other Interface Definition Language you might have encountered Describes a programming interface for the client and the server to communicate using IPCs Looks a lot like Java interfaces. Several types are already defined, however, and you can t extend this like what you can do in Java: All Java primitive types (int, long, boolean, etc.) String CharSequence Parcelable List of one of the previous types Map Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 31/36
32 Intents Intents are a high-level use of Binder They describe the intention to do something They are used extensively across Android Activities, Services and BroadcastReceivers are started using intents Two types of intents: explicit The developer designates the target by its name implicit There is no explicit target for the Intent. The system will find the best target for the Intent by itself, possibly asking the user what to do if there are several matches Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 32/36
33 Wrap-up Wrap-up Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 33/36
34 Interactions in the System Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 34/36
35 Example: VibratorService Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 35/36
36 Questions? Our training slides are available on Maxime Ripard PDF and sources of these slides will be available on Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. 36/36
Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) [email protected] 1.0 Introduction With
Android Operating System:
Android Operating System: An in depth introduction CS423 Project Mohammad Alian, Shuomeng Guang, Bo Teng Outline 1. What is Android 2. History 3. Android architecture 4. Android vs Linux 5. Process Management
Android Fundamentals 1
Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks
Research and Design of Universal and Open Software Development Platform for Digital Home
Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China [email protected] Abstract. With the development
Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications
Mobile Devices - An Introduction to the Android Operating Environment - Design, Architecture, and Performance Implications 1.0 Introduction With the worldwide proliferation of mobile devices, reliability,
Android Operating System
Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) [email protected] Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one
Programming the Android Platform. Logistics
Programming the Android Platform CMSC498G Logistics Professor Adam Porter 4125 AVW [email protected] Course meets W 3:00 3:50 in CSI 3118 1 Goals Learn more about Mobile devices Mobile device programming
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
Android Security (and Not) Internals
Android Security (and Not) Internals Yury Zhauniarovich Version 1.01 Android Security (and Not) Internals Limit of Liability/Disclaimer of Warranty: The author does not guarantee the accuracy or completeness
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Android Architecture For Beginners
Leon Romanovsky [email protected] www.leon.nu April 22, 2013 Introduction Linux-based operating system with market share - 69.70% in smartphones, 42% in tablets, available on smart TVs and mini PC. History
Overview. The Android operating system is like a cake consisting of various layers.
The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and
An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi
An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011 Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++
Overview of CS 282 & Android
Overview of CS 282 & Android Douglas C. Schmidt [email protected] www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282
Analysis of advanced issues in mobile security in android operating system
Available online atwww.scholarsresearchlibrary.com Archives of Applied Science Research, 2015, 7 (2):34-38 (http://scholarsresearchlibrary.com/archive.html) ISSN 0975-508X CODEN (USA) AASRC9 Analysis of
Application of Android OS as Real-time Control Platform**
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating
Chapter 14 Virtual Machines
Operating Systems: Internals and Design Principles Chapter 14 Virtual Machines Eighth Edition By William Stallings Virtual Machines (VM) Virtualization technology enables a single PC or server to simultaneously
Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday
Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),
A Short Introduction to Android
A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview
A Survey on Android vs. Linux
A Survey on Android vs. Linux Frank Maker 1 and Yu-Hsuan Chan 2 Department of Electrical and Computer Engineering, University of California, Davis 1 Department of Computer Science, University of California,
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
ODROID Multithreading in Android
Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading
Android Binder. Android Interprocess Communication. Thorsten Schreiber First Advisor: Juraj Somorovsky Second Advisor: Daniel Bußmeyer
Android Binder Android Interprocess Communication Thorsten Schreiber First Advisor: Juraj Somorovsky Second Advisor: Daniel Bußmeyer Seminarthesis October 5, 2011 Chair for Network and Data Security: Prof.
RoverPal - A Mobile Payment Application
White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run
Introduction to Android Window System
Chia-I Wu [email protected] May 15, 2009 Overview Interested Components Random Topics Outline Overview Interested Components Overview Interested Components Random Topics System Architecture Outline Overview
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
Introduction to Android
Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:
AppScope: Application Energy Metering Framework for Android Smartphones using Kernel Activity Monitoring
AppScope: Application Energy Metering Framework for Android Smartphones using Kernel Activity Monitoring Chanmin Yoon*, Dongwon Kim, Wonwoo Jung, Chulkoo Kang, Hojung Cha Dept. of Computer Science Yonsei
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
CHAPTER 15: Operating Systems: An Overview
CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
The Case for SE Android. Stephen Smalley [email protected] Trust Mechanisms (R2X) National Security Agency
The Case for SE Android Stephen Smalley [email protected] Trust Mechanisms (R2X) National Security Agency 1 Android: What is it? Linux-based software stack for mobile devices. Very divergent from typical
Performance Analysis of Android Platform
Performance Analysis of Android Platform Jawad Manzoor EMDC 21-Nov-2010 Table of Contents 1. Introduction... 3 2. Android Architecture... 3 3. Dalvik Virtual Machine... 4 3.1 Architecture of Dalvik VM...
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Introduction to Android
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
Understanding Android s Security Framework
Understanding Android s Security Framework William Enck and Patrick McDaniel Tutorial October 2008 Systems and Internet Infrastructure Security Laboratory (SIIS) 1 2 Telecommunications Nets. The telecommunications
Deep Inside Android. OpenExpo 2008 - Zurich September 25 th, 2008. Gilles Printemps - Senior Architect. Copyright 2007 Esmertec AG.
Deep Inside Android OpenExpo 2008 - Zurich September 25 th, 2008 Copyright 2007 Esmertec AG Jan 2007 Gilles Printemps - Senior Architect Agenda What is Android? The Android platform Anatomy of an Android
ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
Android Programming and Security
Android Programming and Security Dependable and Secure Systems Andrea Saracino [email protected] Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
An Introduction to Android
An Introduction to Android Michalis Katsarakis M.Sc. Student [email protected] Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a
Lecture 5. User-Mode Linux. Jeff Dike. November 7, 2012. Operating Systems Practical. OSP Lecture 5, UML 1/33
Lecture 5 User-Mode Linux Jeff Dike Operating Systems Practical November 7, 2012 OSP Lecture 5, UML 1/33 Contents User-Mode Linux Keywords Resources Questions OSP Lecture 5, UML 2/33 Outline User-Mode
Android Architecture. Alexandra Harrison & Jake Saxton
Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003
An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: [email protected]
An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: [email protected] Outline Background What is Android? Development for Android Background Internet users and Mobile
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет
Технологии Java Android: Введение Санкт-Петербургский Государственный Политехнический Университет Кузнецов Андрей Николаевич 1 2 Архитектура ОС Android See http://www.android-app-market.com/android-architecture.html
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Using Chroot to Bring Linux Applications to Android
Using Chroot to Bring Linux Applications to Android Mike Anderson Chief Scientist The PTR Group, Inc. [email protected] Copyright 2013, The PTR Group, Inc. Why mix Android and Linux? Android under Linux
Hacking your Droid ADITYA GUPTA
Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
Security Enhanced (SE) Android: Bringing Flexible MAC to Android
Security Enhanced (SE) Android: Bringing Flexible MAC to Android Stephen Smalley and Robert Craig Trusted Systems Research National Security Agency {sds,rpcraig}@tycho.nsa.gov Abstract The Android software
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
Virtual Private Systems for FreeBSD
Virtual Private Systems for FreeBSD Klaus P. Ohrhallinger 06. June 2010 Abstract Virtual Private Systems for FreeBSD (VPS) is a novel virtualization implementation which is based on the operating system
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Instrumentation for Linux Event Log Analysis
Instrumentation for Linux Event Log Analysis Rajarshi Das Linux Technology Center IBM India Software Lab [email protected] Hien Q Nguyen Linux Technology Center IBM Beaverton [email protected] Abstract
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
Virtual Hosting & Virtual Machines
& Virtual Machines Coleman Kane [email protected] September 2, 2014 Cyber Defense Overview / Machines 1 / 17 Similar to the network partitioning schemes described previously, there exist a menu of options
Android Basics. Xin Yang 2016-05-06
Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)
Architecture (SOSP 2011) 11/11/2011 Minsung Jang
Cells: A Virtual Mobile Smartphone Architecture (SOSP 2011) Lunch TimeReading Group 11/11/2011 Minsung Jang Summary Novel Architecture for a Virtual Phone How to do away with overhead New way to virtualize
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
The Android Platform
The Android Platform F. Mallet [email protected] Université Nice Sophia Antipolis A software stack for mobile devices The Android Platform OS kernel, system libraries, application frameworks & key
ANDROID OPERATING SYSTEM
ANDROID OPERATING SYSTEM Himanshi Grover,Devesh Agrawal IT Department, Dronacharya College Of Engg Gurgaon,Haryana,India Abstract - Android has become need rather than luxury these days. The computing
Mobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
CELLS A Virtual Mobile Smartphone Architecture
CELLS A Virtual Mobile Smartphone Architecture Jeremy Andrus, Christoffer Dall, Alexander Van t Hof, Oren Laadan, Jason Nieh Columbia University 23rd ACM Symposium on Operating Systems Principles, Cascais,
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Creating and Using Databases for Android Applications
Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea [email protected] *Correspondent Author: Sunguk Lee* ([email protected])
Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.
Android in Action Second Edition W. FRANK ABLESON ROBI SEN CHRIS KING Revised Edition of Unlocking Android II MANNING Greenwich (74 w. long.) contents preface xvii preface to the first edition xix acknowledgments
REAL TIME OPERATING SYSTEMS. Lesson-10:
REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after
Embedded Linux Platform Developer
Embedded Linux Platform Developer Course description Advanced training program on Embedded Linux platform development with comprehensive coverage on target board bring up, Embedded Linux porting, Linux
Cisco Application-Centric Infrastructure (ACI) and Linux Containers
White Paper Cisco Application-Centric Infrastructure (ACI) and Linux Containers What You Will Learn Linux containers are quickly gaining traction as a new way of building, deploying, and managing applications
Operating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney
Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status
Intro to Docker and Containers
Contain Yourself Intro to Docker and Containers Nicola Kabar @nicolakabar [email protected] Solutions Architect at Docker Help Customers Design Solutions based on Docker
Computer Science 4302 Operating Systems. Student Learning Outcomes
Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced
Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF
Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation Filesystems In Summary What is a filesystem Kernel and User space filesystems Picking a root filesystem Filesystem Round-up
Introduction to Android. CSG250 Wireless Networks Fall, 2008
Introduction to Android CSG250 Wireless Networks Fall, 2008 Outline Overview of Android Programming basics Tools & Tricks An example Q&A Android Overview Advanced operating system Complete software stack
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
General Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li ([email protected]) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
Android Application Development - Exam Sample
Android Application Development - Exam Sample 1 Which of these is not recommended in the Android Developer's Guide as a method of creating an individual View? a Create by extending the android.view.view
Praktikum Entwicklung Mediensysteme (für Master)
Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an Android
ITG Software Engineering
Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android
Java and Real Time Storage Applications
Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual
theguard! ApplicationManager System Windows Data Collector
theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview
Chapter 13 Embedded Operating Systems
Operating Systems: Internals and Design Principles Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Embedded System Refers to the use of electronics and software within a product
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou
Docker : devops, shared registries, HPC and emerging use cases François Moreews & Olivier Sallou Presentation Docker is an open-source engine to easily create lightweight, portable, self-sufficient containers
Synthesis for Developing Apps on Mobile Platforms
Synthesis for Developing Apps on Mobile Platforms Jeff Foster University of Maryland, College Park Armando Solar-Lezama Massachusetts Institute of Technology Schedule for session Jeff Foster and Armando
