aboutsummaryrefslogtreecommitdiff
path: root/en/devices/architecture/index.html
diff options
context:
space:
mode:
authorRuslan Piasetskyi <ruslan.piasetskyi@gmail.com>2017-07-11 09:49:32 -0700
committerClay Murphy <claym@google.com>2017-07-11 14:09:17 -0700
commit7b7ac1c38b6987cc7a1f9f307bc6d099a470e76f (patch)
treeb16206b32b153c3edb1744b655b1a3bfdeb7af91 /en/devices/architecture/index.html
parent4a5bcd6fa800faafbe7272d39266e21dc26edf39 (diff)
downloadsource.android.com-7b7ac1c38b6987cc7a1f9f307bc6d099a470e76f.tar.gz
Docs: Changes to source.android.com
- 161541119 Updates to 7.1 CDD by gdimino <gdimino@google.com> - 161436702 Update CTS downloads for 7.1 R7, 7.0 R11, 6.0 R20, 5.1 R21 by claym <claym@google.com> - 161410924 Cloned from CL 160326297 by 'g4 patch'. by claym <claym@google.com> - 161246895 Fix typo KM_TAG_USER_SECURE_ID by blamb <blamb@google.com> - 161235192 Clarify guide is for platform, add note for app developers by claym <claym@google.com> - 161217654 Fix typos in "bootloader" references by claym <claym@google.com> - 161131051 SAC FB: Make verified boot flash lock and unlock commands... by daroberts <daroberts@google.com> - 161106942 Remove Jack recommendation by claym <claym@google.com> - 161102887 Correct typo in July 2017 bulletin by daroberts <daroberts@google.com> - 161098528 Update build numbers for Jul security releases by Android Partner Docs <noreply@android.com> - 161094346 Update July 2017 security bulletin with AOSP links by daroberts <daroberts@google.com> - 161017723 Add warnings about incompatibility of FBE and adoptable s... by claym <claym@google.com> - 160996093 Docs: Nav changes to prep for O + new framework image by hvm <hvm@google.com> - 160984727 Devsite localized content from translation request 76cba1... by Android Partner Docs <noreply@android.com> - 160984408 Add instructions to check for device security update by daroberts <daroberts@google.com> - 160971202 July 2017 Security bulletin updates by daroberts <daroberts@google.com> - 160958735 Update audit2allow commands by daroberts <daroberts@google.com> - 160567793 Redirect old Dumpsys pages to DAC by claym <claym@google.com> - 160553240 Devsite localized content from translation request 29dc8d... by Android Partner Docs <noreply@android.com> - 160550105 Use a SHA-256 checksum, not a SHA-1 checksum, for the lat... by Android Partner Docs <noreply@android.com> - 160448356 Add researcher attribution for CVE-2017-0574 by daroberts <daroberts@google.com> - 160342125 Publish localized June security bulletin by daroberts <daroberts@google.com> - 160293585 Devsite localized content from translation request 3cdce1... by Android Partner Docs <noreply@android.com> - 160292361 Adds link to go/sac-guide at top of README for Googlers. by blamb <blamb@google.com> - 160281439 Include a mention of --cbr in the using-repo docs. by Android Partner Docs <noreply@android.com> PiperOrigin-RevId: 161541119 Change-Id: I24270f922ca979327303fd1776d90657095c57a4
Diffstat (limited to 'en/devices/architecture/index.html')
-rw-r--r--en/devices/architecture/index.html79
1 files changed, 79 insertions, 0 deletions
diff --git a/en/devices/architecture/index.html b/en/devices/architecture/index.html
new file mode 100644
index 00000000..a4a415e3
--- /dev/null
+++ b/en/devices/architecture/index.html
@@ -0,0 +1,79 @@
+<html devsite>
+ <head>
+ <title>Architecture</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+
+
+<p>
+Android system architecture contains the following components:
+</p>
+
+<img src="../images/ape_fwk_all.png">
+
+<p class="img-caption"><strong>Figure 1.</strong> Android system architecture</p>
+
+<h2 id="application-framework">Application framework</h2>
+
+<p>The application framework is used most often by application developers. As a
+hardware developer, you should be aware of developer APIs as many map directly
+to the underlying HAL interfaces and can provide helpful information about
+implementing drivers.</p>
+
+<h2 id="binder-ipc">Binder IPC</h2>
+<p>The Binder Inter-Process Communication (IPC) mechanism allows the application
+framework to cross process boundaries and call into the Android system services
+code. This enables high level framework APIs to interact with Android system
+services. At the application framework level, this communication is hidden from
+the developer and things appear to "just work".</p>
+
+<h2 id="system-services">System services</h2>
+<p>System services are modular, focused components such as Window Manager,
+Search Service, or Notification Manager. Functionality exposed by application
+framework APIs communicates with system services to access the underlying
+hardware. Android includes two groups of services: <em>system</em> (such as
+Window Manager and Notification Manager) and <em>media</em> (services involved
+in playing and recording media).</p>
+
+<h2 id="hal">Hardware abstraction layer (HAL)</h2>
+<p>A HAL defines a standard interface for hardware vendors to implement,
+which enables Android to be agnostic about lower-level driver implementations.
+Using a HAL allows you to implement functionality without affecting or modifying
+the higher level system. HAL implementations are packaged into modules and
+loaded by the Android system at the appropriate time. For details, see
+<a href="/devices/architecture/hal.html">Hardware Abstraction Layer (HAL)</a>.
+</p>
+
+<h2 id="Linux-kernel">Linux kernel</h2>
+<p>Developing your device drivers is similar to developing a typical Linux
+device driver. Android uses a version of the Linux kernel with a few special
+additions such as wake locks (a memory management system that is more aggressive
+in preserving memory), the Binder IPC driver, and other features important for a
+mobile embedded platform. These additions are primarily for system functionality
+and do not affect driver development.</p>
+
+<p>You can use any version of the kernel as long as it supports the required
+features (such as the binder driver). However, we recommend using the latest
+version of the Android kernel. For details, see
+<a href="/source/building-kernels.html">Building Kernels</a>.</p>
+
+ </body>
+</html>