Difference between revisions of "Android Kernel Features"

From eLinux.org
Jump to: navigation, search
(add links to power management and security pages)
(List of Kerenl features unique to Android)
Line 1: Line 1:
== List of Kerenl features unique to Android ==
+
== List of Kernel features unique to Android ==
 +
=== Binder ===
 
* Binder - corba-like IPC
 
* Binder - corba-like IPC
 
** used instead of SysV IPC for interprocess communication
 
** used instead of SysV IPC for interprocess communication
 
** The Linux version of Binder was originally derived from a project by PalmSource to implement a CORBA-like message-passing or method invocation system.  Documentation on that system is at: http://www.angryredplanet.com/~hackbod/openbinder/docs/html/index.html
 
** The Linux version of Binder was originally derived from a project by PalmSource to implement a CORBA-like message-passing or method invocation system.  Documentation on that system is at: http://www.angryredplanet.com/~hackbod/openbinder/docs/html/index.html
 +
 +
=== ashmem ===
 
* ashmem - Android share memory
 
* ashmem - Android share memory
 +
 +
=== pmem ===
 
* PMEM - Process memory allocator
 
* PMEM - Process memory allocator
 +
 +
=== logger ===
 
* logger - system logging facility
 
* logger - system logging facility
 
** This is the kernel support for the 'logcat' command
 
** This is the kernel support for the 'logcat' command
 
** The kernel driver for the serial devices for logging are in the source code drivers/android/logging.c
 
** The kernel driver for the serial devices for logging are in the source code drivers/android/logging.c
 
** See [[Android logger]] for more information
 
** See [[Android logger]] for more information
 +
 +
=== wakelocks ===
 
* wakelock - used for power management
 
* wakelock - used for power management
 
** Holds machine awake on a per-event basis until wakelock is released
 
** Holds machine awake on a per-event basis until wakelock is released
 
** See [[Android Power Management]] for detailed information
 
** See [[Android Power Management]] for detailed information
 +
 +
=== oom handling ===
 
* oom handling modifications
 
* oom handling modifications
 
** lowmem notifications
 
** lowmem notifications
 +
 +
=== alarm ===
 
* alarm
 
* alarm
 +
 +
=== paranoid network security===
 
* paranoid network security
 
* paranoid network security
 
** See [[Android_Security#Paranoid_network-ing]]
 
** See [[Android_Security#Paranoid_network-ing]]
 +
 +
=== timed gpio ===
 +
Generic gpio is a mechanism to allow programs to access and manipulate gpio registers from user space.
 +
 +
"Timed gpio" appears to be a system to allow for similar gpio manipulation, but with an added capability
 +
to automatically set a value in a gpio after a specified timeout.
 +
 +
On my ADP1, there is a driver at:
 +
 +
I'm not sure who uses this, or how it is used, but this is a directory with the following items:
 +
<pre>
 +
# cd /sys/bus/platform/drivers/timed-gpio
 +
# ls -l
 +
--w-------    1 0        0            4096 Nov 13 02:11 bind
 +
lrwxrwxrwx    1 0        0              0 Nov 13 02:11 timed-gpio -> ../../../../devices/platform/timed-gpio
 +
--w-------    1 0        0            4096 Nov 13 02:11 uevent
 +
--w-------    1 0        0            4096 Nov 13 02:11 unbind
 +
</pre>
 +
 +
Also, there is a device at:
 +
<pre>
 +
# cd /sys/devices/platform/timed-gpio
 +
# ls -lR
 +
.:
 +
lrwxrwxrwx    1 0        0              0 Nov 13 01:34 driver -> ../../../bus/platform/drivers/timed-gpio
 +
-r--r--r--    1 0        0            4096 Nov 13 01:34 modalias
 +
drwxr-xr-x    2 0        0              0 Nov 13 01:34 power
 +
lrwxrwxrwx    1 0        0              0 Nov 13 01:34 subsystem -> ../../../bus/platform
 +
-rw-r--r--    1 0        0            4096 Nov 13 01:34 uevent
 +
 +
./power:
 +
-rw-r--r--    1 0        0            4096 Nov 13 01:34 wakeup
 +
</pre>
 +
 +
Possibly this means that one of the GPIO pins on the ADP1 is tied to a power wakeup event???
  
 
== Resources ==
 
== Resources ==

Revision as of 19:15, 12 November 2009

List of Kernel features unique to Android

Binder

ashmem

  • ashmem - Android share memory

pmem

  • PMEM - Process memory allocator

logger

  • logger - system logging facility
    • This is the kernel support for the 'logcat' command
    • The kernel driver for the serial devices for logging are in the source code drivers/android/logging.c
    • See Android logger for more information

wakelocks

  • wakelock - used for power management
    • Holds machine awake on a per-event basis until wakelock is released
    • See Android Power Management for detailed information

oom handling

  • oom handling modifications
    • lowmem notifications

alarm

  • alarm

paranoid network security

timed gpio

Generic gpio is a mechanism to allow programs to access and manipulate gpio registers from user space.

"Timed gpio" appears to be a system to allow for similar gpio manipulation, but with an added capability to automatically set a value in a gpio after a specified timeout.

On my ADP1, there is a driver at:

I'm not sure who uses this, or how it is used, but this is a directory with the following items:

# cd /sys/bus/platform/drivers/timed-gpio
# ls -l
--w-------    1 0        0            4096 Nov 13 02:11 bind
lrwxrwxrwx    1 0        0               0 Nov 13 02:11 timed-gpio -> ../../../../devices/platform/timed-gpio
--w-------    1 0        0            4096 Nov 13 02:11 uevent
--w-------    1 0        0            4096 Nov 13 02:11 unbind

Also, there is a device at:

# cd /sys/devices/platform/timed-gpio
# ls -lR
.:
lrwxrwxrwx    1 0        0               0 Nov 13 01:34 driver -> ../../../bus/platform/drivers/timed-gpio
-r--r--r--    1 0        0            4096 Nov 13 01:34 modalias
drwxr-xr-x    2 0        0               0 Nov 13 01:34 power
lrwxrwxrwx    1 0        0               0 Nov 13 01:34 subsystem -> ../../../bus/platform
-rw-r--r--    1 0        0            4096 Nov 13 01:34 uevent

./power:
-rw-r--r--    1 0        0            4096 Nov 13 01:34 wakeup

Possibly this means that one of the GPIO pins on the ADP1 is tied to a power wakeup event???

Resources