Differences between Android kernel and standard Linux Kernel

Source: Internet
Author: User

Compare the android Linux kernel downloaded from Google's official website (http://code.google.com/p/android/downloads/list) with the standard Linux 2.6.25 version of kernel, the android system kernel mainly adds the following content:

1. Add the gold-fish platform based on the ARM architecture. The directories added are as follows:
Kernel/ARCH/ARM/Mach-goldfish
Kernel/include/ASM-arm/arch-goldfish

The gold-fish platform uses arm926t CPU as the baseband processor. The CPU clock speed is at least 200 MHz. to smoothly run the Android system, the CPU clock speed must be at least 400 MHz or above. That is to say, if you want to use the Android system, it is best to use the arm11 and above platforms for development.

2. added the yaffs2 FLASH file system and added the following directories: kernel/fs/yaffs2.
In fact, the system. IMG and ramdisk. IMG files generated after the android package is compiled are in the yaffs2 format.

3. added the android driver. The corresponding directory is:
Kernel/Drivers/android

Mainly divided:
Android IPC: binder
Android log system: Logger
Android power management: Power
Android alarm management: Alarm
Android memory Console: ram_console
Gpio controlled by Android clock: timed_gpio

4. Added switch processing. The corresponding directory is: kernel/Drivers/switch/

5. A new shared memory processing method is added. The corresponding files are: kernel/MM/ashmem. C.

6. Other patches for the Linux-2.6.25 kernel, such as Bluetooth,

In addition, the driver files related to the goldfish platform are as follows:

1. character output device:
Kernel/Drivers/Char/goldfish_tty.c

2. Image Display Device: (frame buffer)
Kernel/Drivers/Video/goldfishfb. c

3. keyboard input device:
Kernel/Drivers/input/keyboard/goldfish_events.c

4. RTC device: (real time clock)
Kernel/Drivers/RTC/rtc-goldfish.c

5. USB device:
Kernel/Drivers/USB/gadget/android_adb.c

6. SD card devices:
Kernel/Drivers/MMC/host/goldfish. c

7. Flash devices:
Kernel/Drivers/MTD/devices/goldfish_nand.c
Kernel/Drivers/MTD/devices/goldfish_nand_reg.h

8. LED device:
Kernel/Drivers/LEDs/ledtrig-sleep.c

9. Power supply device:
Kernel/Drivers/power/goldfish_battery.c

10. audio device:
Kernel/ARCH/ARM/Mach-goldfish/audio. c

11. Power Management:
Kernel/ARCH/ARM/Mach-goldfish/PM. c

12. Clock management:
Kernel/ARCH/ARM/Mach-goldfish/Timer. c

The following section from http://www.kandroid.org/android_pdk/intro_source_code.html

Linux Kernel

The android Linux kernel provided des enhancements to the Linux 2.6 kernel that provide additional drivers to support the Android platform, including:

  • Binder: An openbinder-based driver to facilitate inter-process communication (IPC) in the Android platform.
  • Android power management: a light weight power management driver built on top of standard Linux power management but optimized for embedded systems.
  • Low memory killer: Based on hints from the userspace, the low memory killer can kill off processes to free up memory as necessary. it is designed to provide more flexibility than the out of memory (OOM) killer in the standard kernel.
  • Logger: a light weight Logging Device used to capture system, radio, logdata, etc.
  • USB Gadget: uses the USB function framework.
  • Android/pmem: The pmem (physical memory) driver is used to provide contiguous physical memory regions to userspace libraries that interact with the digital signal processor (DSP) and other hardware that cannot conflict with scatter-gather.
  • Android alarm: A driver which provides timers that can wake the device up from sleep and a monotonic timebase that runs while the device is asleep.

Look for Android-specific enhancements in the following directories:

  • /drivers/android
  • /drivers/misc
  • /include/linux

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.