The relationship between Linux and Android

insert image description here

Why choose Linux for android

  1. Powerful memory management and process management scheme
  2. Permission-Based Security Model
  3. Support for shared libraries
  4. Certified Drive Models
  5. Linux itself is an open source project
    android is not linux
  6. It does not have a native windowing system
    The X Window System for Linux, Quartz for OX X on Mac
    is not used on Android
  7. It does not have the support of glibc.
    It adopts a set of Bionic Libc developed by Google itself instead of glibc.
  8. It does not include a set of standard Linux application programs
    , does not completely copy the Linux system kernel;
    modified some Linux bugs, and added a lot of content, such as the Gold-Fish platform based on the ARM architecture
    and the Yaffs2FLASH file system
  9. It enhances Linux to support its own drivers
  10. Android Binder is a driver based on the OpenBinder framework, which provides
    the process communication function between android platforms. The source code is located in drivers/staging/android/binder.c

  11. Android power management function (PM) A lightweight Android power driver management system based on the standard Linux power management system , which has been optimized for embedded devices. The source code is located at:
    kernel/power/earlysuspend.c
    kernel/power/userwakelock.c
    kernel/power/wakelock.c
    kernel/power/consoleearlysuspend.c
    kernel/power/fbearlysuspend.c
  12. Low memory management is more flexible than the Linux standard OOM (Out of Memory) mechanism, which can
    kill processes as needed to release the required memory. The source code is located in drivers/staging/android/lowmemorykiller.c
  13. Anonymous shared memory (Ashmem) provides large shared memory between processes, and provides a mechanism for the kernel to reclaim and manage this
    memory. The source code is located in mm/ashmem.c
  14. Android PMEM(Physical) PMEM is used to provide continuous physical memory area to user space, DSP and some devices
    can only work on continuous physical memory, the source code is located in drivers/misc/pmem.c
  15. Android Logger is a lightweight log device used to capture various logs of the Android system, the source code is located in
    drivers/staging/android/logger.c
  16. Android Alarm provides a timer for waking the device from sleep, and it also provides a
    clock base that runs even when the device is asleep. The source code is located in drivers/art/alarm.c
  17. USB Gadget driver, a device driver based on the standard Linux USB gadget driver framework, Android USB driver is based on the
    gaeget framework, the source code is located in drivers/usb/gadget
  18. Android Ram Console, in order to provide debugging functions, Android allows debugging logs to be written to a device called RAM Console
    , which is a RAM-based Buffer, the source code is located in drivers/staging/android/ram_console.c
  19. Android timed device provides the function of timing control of the device, and currently supports vibrator and LED devices. The source code
    is located in drivers/staging/android/timed_output.c(timed_gipo.c)

The relationship between Linux and Android

Guess you like

Origin blog.csdn.net/weixin_42135087/article/details/131513642