android kernel和標準linux kernel的區別

來源:互聯網
上載者:User

將從google 官網(http://code.google.com/p/android/downloads/list )下載的Android 的Linux Kernel 和標準的Linux 2.6.25 版本的Kernel 比較,Android 系統的Kernel 主要增加如下內容“

1. 基於 ARM 架構增加 Gold-Fish 平台 , 相應增加的目錄如下 :
kernel/arch/arm/mach-goldfish
kernel/include/asm-arm/arch-goldfish

Gold-Fish 平台採用的是 ARM926T CPU 作為 BaseBand 處理器 , 該 CPU 主頻至少為 200MHZ. 而要流暢運行Android 系統的CPU 主頻至少要在400MHZ 以上,也就是說如果你要上Android 系統,最好是選用基於ARM11 及以上平台進行開發。

2. 增加了 yaffs2 FLASH 檔案系統 , 增加的目錄為 :kernel/fs/yaffs2
實際上, Android 包經過編譯後產生的 system.img 和 ramdisk.img 檔案就 yaffs2 格式的包 .

3. 增加了 Android 的相關 Driver, 相應目錄為 :
kernel/drivers/android

主要分為 :
Android IPC 系統 : Binder
Android 日誌系統 : Logger
Android 電源管理 : Power
Android 鬧鐘管理 : Alarm
Android 記憶體控制台 : Ram_console
Android 時鐘控制的 gpio: Timed_gpio

4. 增加了 switch 處理 , 相應的目錄為 :kernel/drivers/switch/

5. 增加了一種新的共用記憶體處理方式 , 相應增加的檔案為 :kernel/mm/ashmem.c

6. 其他為 Linux-2.6.25 核心所做的補丁等等,例如 BlueTooth,

另外 GoldFish 平台相關的驅動檔案如下 :

1. 字元輸出裝置 :
kernel/drivers/char/goldfish_tty.c

2. 圖象顯示裝置 : (Frame Buffer)
kernel/drivers/video/goldfishfb.c

3. 鍵盤輸入裝置 :
kernel/drivers/input/keyboard/goldfish_events.c

4. RTC 裝置 : (Real Time Clock)
kernel/drivers/rtc/rtc-goldfish.c

5. USB Device 裝置 :
kernel/drivers/usb/gadget/android_adb.c

6. SD 記憶卡裝置 :
kernel/drivers/mmc/host/goldfish.c

7. FLASH 裝置 :
kernel/drivers/mtd/devices/goldfish_nand.c
kernel/drivers/mtd/devices/goldfish_nand_reg.h

8. LED 裝置 :
kernel/drivers/leds/ledtrig-sleep.c

9. 電源裝置 :
kernel/drivers/power/goldfish_battery.c

10. 音訊裝置 :
kernel/arch/arm/mach-goldfish/audio.c

11. 電源管理 :
kernel/arch/arm/mach-goldfish/pm.c

12. 時鐘管理 :
kernel/arch/arm/mach-goldfish/timer.c

下面一段摘自http://www.kandroid.org/android_pdk/intro_source_code.html

Linux Kernel

The Android Linux kernel includes 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 cope 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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.