初識之:Android內(nèi)核與傳統(tǒng)Linux內(nèi)核有何變化
Android操作系統(tǒng)是由谷歌推出的一款基于linux平臺開源操作系統(tǒng).在這里我們會通過Android內(nèi)核的相關(guān)內(nèi)容的介紹,來具體講解這一操作系統(tǒng)的基本概念,以方便大家今后的使用,并加深大家對此的因印象.
內(nèi)核到底是刷機包中哪個文件?
其實在kernel子目錄下存放的就是Android的Linux Kernel了 !
通過和標準的Linux 2.6.25 Kernel的對比,我們可以發(fā)現(xiàn),其主要增加了以下的內(nèi)容:
- 基于ARM架構(gòu)增加Gold-Fish平臺,相應增加的目錄如下:
kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-goldfish 。
Gold-Fish平臺采用的是ARM926T CPU作為BaseBand處理器, 該CPU主頻至少為200M HZ. 采用MSM7201A CPU(ARM 11)作為主CPU, 其主頻為528M HZ.
- 增加了yaffs2 FLASH文件系統(tǒng),相應增加的目錄為:
kernel/fs/yaffs2 實際上,Android包經(jīng)過編譯后生成的system.img和ramdisk.img文件就是yaffs2格式的包.
- 增加了Android的相關(guān)Driver,相應目錄為:
Kernel/drivers/android
Android內(nèi)核主要分為:
Android IPC系統(tǒng): Binder
Android 日志系統(tǒng): Logger
Android 電源管理: Power
Android 鬧鐘管理: Alarm
Android 內(nèi)存控制臺: Ram_console
Android 時鐘控制的GPIO: Timed_gpio
- 增加了switch處理, 相應的目錄為:
kernel/drivers/switch/
- 增加了一種新的共享內(nèi)存處理方式, 相應增加的文件為:
kernel/mm/ashmem.c
- 其他的Android內(nèi)核為Linux-2.6.25內(nèi)核所做的補丁等等,例如BlueTooth, 在此不做詳細分析
GoldFish平臺相關(guān)的驅(qū)動文件如下:
- 字符輸出設(shè)備:
kernel/drivers/char/goldfish_tty.c
- 圖象顯示設(shè)備: (Frame Buffer)
kernel/drivers/video/goldfishfb.c
- 鍵盤輸入設(shè)備:
kernel/drivers/input/keyboard/goldfish_events.c
- RTC設(shè)備: (Real Time Clock)
kernel/drivers/rtc/rtc-goldfish.c
- USB Device設(shè)備:
kernel/drivers/usb/gadget/android_adb.c
- SD卡設(shè)備:
kernel/drivers/mmc/host/goldfish.c
- FLASH設(shè)備:
kernel/drivers/mtd/devices/goldfish_nand.c kernel/drivers/mtd/devices/goldfish_nand_reg.h
- LED設(shè)備:
kernel/drivers/leds/ledtrig-sleep.c
- 電源設(shè)備:
kernel/drivers/power/goldfish_battery.c
- 音頻設(shè)備:
kernel/arch/arm/mach-goldfish/audio.c
- 電源管理:
kernel/arch/arm/mach-goldfish/pm.c
- 時鐘管理:
kernel/arch/arm/mach-goldfish/timer.c
也許上面的各種文件名稱讓你看的云里霧里!沒關(guān)系,本篇介紹只是初識篇,讓你對Android與liunx有哪些分別有個大致概念!