① android 版本 版本号 内核版本 基带版本有什么区别表示什么意思
关于内核及版本号的知识!
Android, Google, 版本号, 衍生品, linux
Android操作系统是基于Linux开发的手机端操作系统,底层的linux内核只提供基本功能。Android的内核相当于Linux内核的衍生品,Google在上面加入了自己的一些东西。
大家拿出自己的手机,打开设置>>关于手机>>内核版本即可查看内核版本号。
官方1.5的内核版本号是2.6.27,当前2.1和2.2的内核版本号时2.6.29。
一、内核:
操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
二、内核版本号:
一般可以从Linux内核版本号来区分系统是否是Linux稳定版还是测试版。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。
以ME600官方1.5的版本号为例:2.6.27。2为主版本号,6为次版本号,27为末版本号。从次版本号的奇偶性来看,6为偶数,可知此内核版本为一个可以使用的稳定版本。27的末版本号,是错误修补次数。当然能够作为手机的内核版本必须是一个稳定版本。
三、内核最新版本:
当前Linux内核的最新版本为2.6.39,详情查看:http://www.kernel.org/
对于手机来说,一般官方发布的ROM中内核版本分别为:
1.5为2.6.27
2.1为2.6.29
2.2为2.6.32
2.3为2.6.35
3.0为2.6.36
3.1为2.6.36
② 安卓内核与rom有什么区别
安卓内核与rom的区别:
1、android 的内核都是linux的内核。
(1)Android内核是基于Linux2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分Bug外,它提供了用于支持Android平台的设备驱动。
(2)AndroidBinder,基于OpenBinder
框架的一个驱动,用于提供 Android 平 台 的 进 程 间 通 讯 (IPC, inter-processcommunication)。
(3)源代码位于drivers/staging/android/binder.c Android电源管理(PM),一个基于标准Linux电源管理系统的轻量级的Android电源管理驱动,针对嵌入式设备做了很多优化。
2、rom和每个手机厂商有关,每个rom都有对应手机型号、系统本版的驱动程序。
(1)安卓ROM是手机重新刷入系统的一个程序包,安卓系统在手机市场里占有率很高,所以安卓ROM发展很快,国内比较知名的安卓ROM有米柚,乐蛙,网络云,深度等。
(2)ROM是一种只能读出事先所存数据的固态半导体存储器。其是。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。
(3)ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。除少数品种的只读存储器(如字符发生器)可以通用之外,不同用户所需只读存储器的内容不同。
③ 安卓系统是基于linux内核开发的,两者的具体区别是什么为什么安卓多用于移动设备而linux不是
安卓基于linux内核,但是针对移动设备做了更多的优化,所以安卓多用于移动设备。两者区别如下:
一、主体不同
1、安卓系统:是一种基于Linux的自由及开放源代码的操作系统。
2、linux内核:是一套免费使用和自由传播的类UNIX操作系统。
二、应用不同
1、安卓系统:主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
2、linux内核:是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
三、特点不同
1、安卓系统:会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2、linux内核:继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Android源码编译之后生成的是ramdisk.img、system.img和userdata.img。而内核源码编译完成之后生成的是ZImage。在一般情况下Android源码是不带有内核源码的,但是带有一个镜像,这样在编译完Android源码之后就可以模拟器启动了,如果要更换系统的内核,此时将高版本的内核源码进行编译生成ZImage然后替换Android系统的的镜像。这样使用模拟器启动之后就可以查看内核是否已经被刷新。
请注意,android源码和kernel源码是分开下载的
编译android源码
进入source目录下,执行make 即可。
编译完成后,可以在源码目录的out/target/proct/generic/目录下看到编译好的ramdisk.img、system.img和userdata.img了。
编译内核源码
新建Kernel/goldfish,在这个目录下进行编译
⑤ Android内核与传统Linux内核有何变化
甲骨文软件人才创新发展中心期待您的到来!
和标准的Linux内核一样,Android内核主要实现内存管理、进程调度、进程间通信等功能。Android内核是在标准Linux内核的基础上修改而成。为了适应嵌入式硬件环境和移动应用程序的开发,Android对标准Linux内核进行了一定的修改。经过与标准Linux内核源代码进行详细对比,可以发现,Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。
文件系统:不同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用Flash作为存储介质,因此,Android内核中增加了标准Linux内核中没有采纳的YAFFS2文件系统。YAFFS2按层次结构设计,分为文件管理接口、内部实现层和NAND,简化了其本身与系统的接口设计,能更方便地集成到系统当中。
进程间通信机制:Android增加了一种进程间的通信机制IPCBinder,Binder通过守护进程ServiceManager管理系统中的服务,负责进程间的数据交换。各进程通过Binder访问同一块共享内存,以达到数据通信的机制。从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。
内存管理:在内存管理模块,Android内核采用了一种不用于标准Linux内核的低内存管理策略。在标准Linux内核当中,使用一种叫做OOM(OutofMemory)的低内存管理策略;当内存不足时,系统检查所有的进程,并对进程进行限制评分,获得最高分的进程将被关闭。Android新增加了一种内存共享的处理方式Ashmem。通过Ashmem,进程间可以匿名自由共享具名的内存块,这种共享方式在标准Linux当中不被支持。
经过分析,Android内核由标准Linux内核修改而来,因此继承了Linux内核的各种优点,保留了标准Linux内核的主体架构。同时,Android按照移动设备的需求,在文件系统、内存管理、进程间通信机制、电源管理等方面进行了修改,添加相关的驱动程序和一些必要的新功能,但是与大多数精简的嵌入式Linux操作系统相比,Android很大程度上保留了标准Linux的基本架构,因此,Android系统应用范围更加广泛,拓展性更强。
⑥ 请教大家,android手机中的 刷入基带 刷入内核 刷入BL 刷入系统update.zip都是什么意思它们有什么区别啊
update.zip就相当于系统源程序
基带主要决定了你手机的信号强弱和影响部分耗电。不同地区的移动信号是不同的,刷基带就是替换现有的基带刷入新的基带,一版用于解决信号不好的问题
刷内核不一定是刷机,下好后,odin单刷pda刷入民间内核,这时你rom的内核已经改变了,已经root了,如果你感觉没有原始内核好,你可以再下一个原始内核
BL是一种等级说明
BL等级说明:
BL=2,国行机只刷过国行0.26,1.11,2.5.0,2.6.0,2.10,2.11以及本人改版的底包的用户(boot.sbf不视为底包)
BL=3,估计没人还停留在这个高不成低不就的版本吧。2.1底包,版本号在2.51以上。
BL=4,绝大部分水货2.2底包都是BL=4,泄露2.3.4-88也是BL=4。
BL=5,刷了国行2.3.4,国行2.12,泄露2.3.4-128,134以及工程机2.1底包的为BL=5
BL=6,刷了国行2.3.6的。
⑦ linux的编译内核和编译内核模块有什么区别
当然需要。。。
第一点,就是源码树中有相应的头文件和函数的实现,没有源码树,你哪调用去呢?(PC上编译的时候内核有导出符号,系统中有头文件,这样就可以引用内核给你的接口了,但是只能编译你PC上版本的内核可加载的模块)。
第二个,内核模块中会记录版本号的部分,需要记录版本号的原因是不同的内核版本之间,那些接口和调用可能会有比较大的差异,因此必须要保证你的代码和某个特定的内核对应,这样编译出来的模块就可以(也是只能)在运行这个内核版本的Linux系统中加载,否则一个很简单的异常就会导致内核崩溃,或者你的代码根本无法编译通过(接口名变了)。
我上面说的是编译模块的情况,当然如果是把模块直接编译到内核当中去的话,那就不用说了,没有内核源码,你无法编译内核。
⑧ 安卓的内核,底包,固件有什么区别
底包?没听说过这种叫法,一般只听过要求先刷某某基带/RADIO或者某某rec版本。基带/RADIO可以理解为是类似电脑的网卡驱动,电脑没有网卡驱动,就无法联网。手机基带/RADIO有问题,就无法正确通信,处理信号。内核就是指的安卓的Linux内核,负责进程调度,内存管理,系统中断,给上层应用提供API/ABI接口等功能。固件可以理解为操作系统本身,通常的固件应该包含了基带/RADIO、内核和Rec环境。仅代表个人理解。
⑨ 驱动编译进内核和编译模块的区别
LINUX 的内核编译 1.编译内核指的时通常的内核 2.应为内核可以将驱动和功能模块动态的载入内核,所以在需要的时间把功能模块 动态载入,所以就有了,内核模块的编译