android内核 linux内核,android浏览器内核

大家好,今天小编来为大家解答以下的问题,关于android内核 linux内核,android浏览器内核这个很多人还不知道,现在让我们一起来看看吧!

Android内核与传统Linux内核有何变化

通过和标准的Linux 2.6.25 Kernel的对比,我们可以发现,其主要增加了以下的内容:

基于ARM架构增加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文件系统,相应增加的目录为:

kernel/fs/yaffs2实际上,Android包经过编译后生成的system.img和ramdisk.img文件就是yaffs2格式的包.

增加了Android的相关Driver,相应目录为:

Kernel/drivers/android

Android内核主要分为:

Android IPC系统: Binder

Android日志系统: Logger

Android电源管理: Power

Android闹钟管理: Alarm

Android内存控制台: Ram_console

Android时钟控制的GPIO: Timed_gpio

增加了switch处理,相应的目录为:

kernel/drivers/switch/

增加了一种新的共享内存处理方式,相应增加的文件为:

kernel/mm/ashmem.c

其他的Android内核为Linux-2.6.25内核所做的补丁等等,例如BlueTooth,在此不做详细分析

GoldFish平台相关的驱动文件如下:

字符输出设备:

kernel/drivers/char/goldfish_tty.c

图象显示设备:(Frame Buffer)

kernel/drivers/video/goldfishfb.c

键盘输入设备:

kernel/drivers/input/keyboard/goldfish_events.c

RTC设备:(Real Time Clock)

kernel/drivers/rtc/rtc-goldfish.c

USB Device设备:

kernel/drivers/usb/gadget/android_adb.c

SD卡设备:

kernel/drivers/mmc/host/goldfish.c

FLASH设备:

kernel/drivers/mtd/devices/goldfish_nand.c kernel/drivers/mtd/devices/goldfish_nand_reg.h

LED设备:

kernel/drivers/leds/ledtrig-sleep.c

电源设备:

kernel/drivers/power/goldfish_battery.c

音频设备:

kernel/arch/arm/mach-goldfish/audio.c

电源管理:

kernel/arch/arm/mach-goldfish/pm.c

时钟管理:

kernel/arch/arm/mach-goldfish/timer.c

android kernel和标准linux kernel的区别

android kernel和标准linux kernel的区别

总的区别可以归纳如下:

ARCH--这是Android修改了arch/arm下面的一些文件:

arch/arm:

Chg: arch/arm/kernel/entry-armv.S

Chg: arch/arm/kernel/module.c

Chg: arch/arm/kernel/process.c

Chg: arch/arm/kernel/ptrace.c

Chg: arch/arm/kernel/setup.c

Chg: arch/arm/kernel/signal.c

Chg: arch/arm/kernel/traps.c

Chg: arch/arm/mm/cache-v6.S

Chg: arch/arm/vfp/entry.S

Chg: arch/arm/vfp/vfp.h

Chg: arch/arm/vfp/vfphw.S

Chg: arch/arm/vfp/vfpmodule.c

Goldfish--这是Android为了模拟器所开发的一个虚拟硬件平台。Goldfish执行arm926T指令(在2.6.29中,goldfish也支持ATMv7指令),但是在实际的设备中,该虚拟平台的文件不会被编译。

arch/arm/mach-goldfish:

New: arch/arm/mach-goldfish/audio.c

New: arch/arm/mach-goldfish/board-goldfish.c

New: arch/arm/mach-goldfish/pdev_bus.c

New: arch/arm/mach-goldfish/pm.c

New: arch/arm/mach-goldfish/switch.c

New: arch/arm/mach-goldfish/timer.c

YAFFS2--和PC把文件存储在硬盘上不一样,移动设备一般把Flash作为存储设备。尤其是NAND flash应用非常广泛(绝大多数手机用的都是NAND flash,三星的一些手机使用的是OneNAND)。NAND flash具有低成本和高密度的优点。

YAFFS2是“Yet Another Flash File System, 2nd edition"的简称。它提供在Linux内核和NAND flash设备之前高效率的接口。 YAFFS2并没有包含在标准的Linux内核中, Google把它添加到了Android的kernel

fs/yaffs2:

New: fs/yaffs2/devextras.h

New: fs/yaffs2/Kconfig

New: fs/yaffs2/Makefile

New: fs/yaffs2/moduleconfig.h

New: fs/yaffs2/yaffs_checkptrw.c

New: fs/yaffs2/yaffs_checkptrw.h

New: fs/yaffs2/yaffs_ecc.c

New: fs/yaffs2/yaffs_ecc.h

New: fs/yaffs2/yaffs_fs.c

New: fs/yaffs2/yaffs_getblockinfo.h

New: fs/yaffs2/yaffs_guts.c

New: fs/yaffs2/yaffs_guts.h

New: fs/yaffs2/yaffsinterface.h

New: fs/yaffs2/yaffs_mtdif1.c

New: fs/yaffs2/yaffs_mtdif1.h

New: fs/yaffs2/yaffs_mtdif2.c

New: fs/yaffs2/yaffs_mtdif2.h

New: fs/yaffs2/yaffs_mtdif.c

New: fs/yaffs2/yaffs_mtdif.h

New: fs/yaffs2/yaffs_nand.c

New: fs/yaffs2/yaffs_nandemul2k.h

New: fs/yaffs2/yaffs_nand.h

New: fs/yaffs2/yaffs_packedtags1.c

New: fs/yaffs2/yaffs_packedtags1.h

New: fs/yaffs2/yaffs_packedtags2.c

New: fs/yaffs2/yaffs_packedtags2.h

New: fs/yaffs2/yaffs_qsort.c

New: fs/yaffs2/yaffs_qsort.h

New: fs/yaffs2/yaffs_tagscompat.c

New: fs/yaffs2/yaffs_tagscompat.h

New: fs/yaffs2/yaffs_tagsvalidity.c

New: fs/yaffs2/yaffs_tagsvalidity.h

New: fs/yaffs2/yportenv.h

Bluetooth-- Google为Bluetooth打上了patch,fix了一些Bluetooth的bug

drivers/bluetooth:

Chg: drivers/bluetooth/bfusb.c

Chg: drivers/bluetooth/bt3c_cs.c

Chg: drivers/bluetooth/btusb.c

Chg: drivers/bluetooth/hci_h4.c

Chg: drivers/bluetooth/hci_ll.c

Scheduler--对于Scheduler的改变非常小,我对它并没有去研究。

Chg: kernel/sched.c

New Android Functionality--除了fix一些bug以及其他一些小的更改,Android增加了一些新的功能,介绍如下:

IPC Binder-- The IPC Binder is an Inter-Process Communication(IPC) mechanism. It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Internet search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm's software, before Google wrote a new Binder for Android.

New: drivers/staging/android/binder.c

Low Memory Killer-- Android adds a low-memory killer that, each time it's called, scans the list of running Linux processes, and kills one. It was not clear in our cursory examination why Android adds a low-memory killer on top of the already existing one in the standard Linux kernel.

New: drivers/staging/android/lowmemorykiller.c

Ashmem-- Ashmem is an Anonymous SHared MEMory system that adds interfaces so processes can share named blocks of memory. As an example, the system could use Ashmem to store icons, which multiple processes could then access when drawing their UI. The advantage of Ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. If a process then tries to access a shared memory block the kernel has freed, it will receive an error, and will then need to reallocate the block and reload the data.

New: mm/ashmem.c

RAM Console and Log Device-- To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging module so that user processes can read and write user log messages.

New: drivers/staging/android/ram_console.c

Android Debug Bridge-- Debugging embedded devices can best be described as challenging. To make debugging easier, Google created the Android Debug Bridge(ADB), which is a protocol that runs over a USB link between a hardware device running Android and a developer writing applications on a desktop PC.

drivers/usb/gadget:

New: drivers/usb/gadget/android.c

Chg: drivers/usb/gadget/composite.c

Chg: drivers/usb/gadget/f_acm.c

New: drivers/usb/gadget/f_acm.h

New: drivers/usb/gadget/f_adb.c

New: drivers/usb/gadget/f_adb.h

New: drivers/usb/gadget/f_mass_storage.c

New: drivers/usb/gadget/f_mass_storage.h

Android also adds a new real-time clock, switch support, and timed GPIO support. We list the impacted files for these new modules at the end of this document.

Power Management-- Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. It's interesting to note that Google added a new power management system to Linux, rather than reuse what already existed. We list the impacted files at the end of this document.

kernel/power:

New: kernel/power/consoleearlysuspend.c

New: kernel/power/earlysuspend.c

New: kernel/power/fbearlysuspend.c

Chg: kernel/power/main.c

Chg: kernel/power/power.h

Chg: kernel/power/process.c

New: kernel/power/userwakelock.c

New: kernel/power/wakelock.c

Miscellaneous Changes-- In addition to the above, we found a number of changes that could best be described as,'Miscellaneous.' Among other things, these changes include additional debugging support, keypad light controls, and management of TCP networking.

(freedom_asic)

linux系统 和安卓有什么区别

1、支持软件格式不同

Android系统支持的是APK后缀文件格式,而linux系统若要运行APK软件则需要一个JAVA虚拟机环境来运行。

2、运行平台不同

Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

linux系统在移动设备和电脑上都可以运行,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。

伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。

3、linux系统包含Android系统,Android系统不linux系统

Android是一种基于Linux内核开发的操作系统。所以 Android也可以算是 Linux系统的一种。因为他是基于 Linux内核上面运行的一个java虚拟机环境。

阅读剩余
THE END