安卓与Linux共存,Android和Linux重新合并成一个操作系统

Linux又回到了Android中,Android又回到了Linux中。

Android一直都是Linux,但多年来Android项目走了自己的路,它的代码没有被合并回主Linux树中。现在,比Linux的创始人和主要开发人员Linux的预期要快得多,Android已经正式并入Linux的主线。

6cb72b31f817a3c1128e5fa3917c2117.png

Android和Linux之间的叉子都是从2010年秋天开始的,“谷歌工程师帕特里克·布雷迪(PatrickBrady)说Android不是Linux”,这种情况实际上从来没有发生过。Android一直是Linux的核心。

与此同时,谷歌确实将Android带向了一个与主流Linux内核不兼容的方向。正如Linux基金会的稳定Linux内核维护者、Linux驱动程序项目负责人格雷格·克罗赫-哈特曼在Android和Linux内核社区中所写的那样,“Android内核代码不仅仅是内核中的驱动程序/分期/Android子目录中的几个奇怪驱动程序。为了获得一个工作的Android系统,您需要他们创建的新锁类型,以及核心系统中的钩子作为他们的安全模型。为了编写一个驱动程序,让硬件在Android上工作,您需要正确地集成到这个新锁中,以及有时奇怪的安全模型。噢,然后还有完全不同的帧缓冲区驱动程序基础设施。”就像是Android圈子里的领头气球。

这种分歧来自几个方面.其中之一是谷歌的Android开发者采用了自己的方式来解决WakeLocks的权力问题。另一个原因,正如谷歌开源工程经理克里斯·迪博纳(Chris DiBona)所指出的那样,是因为Android的程序员忙于Android设备的具体工作,所以他们在与Linux内核开发人员的协调方面做得很差。

结果是,开发者圈子里有很多关于Linux中处理Android特定代码的正确方法的热词。争议的结果是,2009年底Torvalds将Android驱动程序从主要Linux内核中删除。

尽管存在这些分歧,但从来没有任何危险,因为一个人在2011年3月声称,Android在某种程度上有被Linux起诉的危险,因为Gnu通用公共许可证,版本2(GPLv2)违规。正如Linus本人当时所说,声称Android侵犯GPL是“完全虚假的”。我们一直非常清楚地表明,内核系统调用接口不会像GPL那样产生派生工作,内核详细信息也会通过内核头输出到所有正常的glibc接口。

不过,在过去几个月里,正如去年秋天Torvalds所解释的那样,“虽然还有很多合并要做......最终Android和Linux将回到一个通用的内核,但可能要4到5年才能实现。”Kroah-Hartman当时补充说,一个问题是,“谷歌的Android团队非常小,而且订阅量过高,所以他们的资源受到限制,从长远来看,他们和我们一起工作会更便宜。”托瓦尔兹接着补充说,“我们只是暂时走向不同的方向,但从长远来看,双方会走到一起,所以我不担心。”

在这种情况下,两人的重新合并比预期的要快得多。在10月下旬布拉格举行的2011年内核峰会上,Linux内核开发人员“同意大部分Android内核代码可能应该合并到主线中。”为了帮助这一过程,形成了Android Mainline项目。

事情发展得比任何人预料的要快得多。到12月,Kroah-Hartman可以写到,“到3.3内核版本时,大多数Android代码将被合并,但仍有更多的工作要做,以更好地集成内核和用户空间部分,以更适合内核社区的其他部分。这需要更长的时间,但我预计不会涉及任何重大问题。”他是对的。

今天,您可以在Linux3.3中编译Android代码,它将启动。尽管如此,正如Kroah-Hartman所警告的那样,WakeLocks仍然不在主内核中,但即使是这样的工作也在进行中。出于所有必要的目的,Android和Linux又回到了一起。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

edit控件自动换行 mfc_VS2010/MFC编程入门:如何创建对话框模板和修改对话框属性?...

创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。在本节…

linux vim tag,Vim基础知识之ctags 及 Taglist 插件

Vim基础知识之ctags 及 Taglist 插件1. 我的界面2. ctagsexuberant ctags是一般Linux系统上缺省的ctags我的ctags版本:Exuberant Ctags 5.9~svn20110310简单介绍Used in at least 50 countries in all 7 continents (including Antarctica!)Supports 41 programming…

linux ps2键盘不能用,解决usb鼠标与ps2键盘合用时开机键盘失效

昨晚熬夜安装mac os 10.6.3 ,跟着教程一步一步走,终于晚装完毕。进入mac后发现,ps2接口的键盘无法使用,usb鼠标正常使用。由于经常捣鼓windows和咱的机箱,下意识想到拔掉键盘再重新插上就行,试了下&#xf…

oracle数据库有几个服务_oracle数据库可以有几个数据库

《Oracle数据库管理与维护实战》——1.1 Oracle产品组成本节书摘来自异步社区出版社《Oracle数据库管理与维护实战》一书中的第1章,第1.1节,作者: 何伟娜 , 常建功,更多章节内容可以访问云栖社区“异步社区”公众号查看。1.1 Or…

linux上如何永久关闭selinux,Linux临时关闭和永久关闭SELinux

查看SELinux状态:[rootlocalhost ~]# getenforceEnforcing临时关闭SELinux:[rootlocalhost ~]# setenforce 0[rootlocalhost ~]# getenforcePermissive永久关闭SELinux:在 /etc/sysconfig/ 目录下修改配置文件 selinux[rootlocalhost ~]# vim /etc/sysconfig/selinux配置文件内…

python监控windows日志_Python 监控日志的简单示例

这篇文章主要为大家详细介绍了Python 监控日志的简单示例,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!一个简易的日志监控的脚本,功能如下&a…

c语言程序设计整人,C语言进程间通信练习作品 - 整人小程序之剪切板

主程序界面:程序介绍:如果对方执行了主程序生成的【server.exe】,【server.exe】会自复制、自启动、自删除(仿木马)。【server.exe】会后台每秒/次检测对方的剪切板,一有文本数据则在尾部加入【附加内容】,达到&#x…

python安装lap_一个python脚本解决安装mq的依赖问题

import tarfileimport sys,osfrom _utils.patrol2 import run_cmdimport zipfiledef get_version(filename):cmd"rpm -U {}".format(filename)code,resrun_cmd(cmd,cwdpkg_unzip_path)if is already installed in res or 已安装 in res:return Trueelse:return False…

c语言如何关闭线程,如何用C语言实现多线程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Windows操作系统,C语言实现多线程:#include #include DWORD APIENTRY ThreadOne ( LPVOID threadArg ){printf ( "线程开始啦,参数是:%s\n" , (char *)threadArg );return …

linux8安装bbr_CentOS 7安装4.9内核开启BBR

最新的4.9内核合并了Google研发的BBR TCP阻塞算法,使用效果大概可以跟锐速相比。待4.9正式版发出前,CentOS并没有4.9的RPM包。那么我们可以手动编译内核,安装并启用。注意:内存小于512M的机器在编译内核bzImage的时候会出现错误。…

Android怎么自定义充电铃声,安卓手机怎么自定义充电提示音_自定义安卓充电提示音教程_3DM手游...

安卓手机其实也是可以设置充电提示音的,我们只需要下载一个第三方软件,然后在APP中进行一些简单的设置,就可以实现自定义更换手机充电提示音了。安卓手机怎么自定义充电提示音?下面小编就为大家带来了详细的教程,希望能…

rfc方式的集成 sap_转载: 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,…

android logcat 根据包名过滤,adb logcat通过包名过滤(dos命令find后跟变量)

过滤条件:该app在运行实现原理:1、获取该app运行时的pid2、通过find命令,过滤pid的日志,就是该包的运行日志实现:1、在同一目录建立一文件:getpid.batecho offadb shell "ps | grep com.example.testp…

流浪的python博客园_python学习心得第一章

初始python1什么是程序计算机程序是一组执行某种动作的的指令。和那些电路、芯片、显卡、硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西。程序就是一系列告诉没有知觉的硬件该做什么事情的命令。软件就是这些程序的集合…

adb server is out of date. linux,adb server is out of date. killing完美解决

原本是想跑monkey测试的,可使用adb命令时提示:adb server is out of date. killing...出现这个问题的原因是:adb使用的端口5037被占用了。下面我们说下如何找到是哪个程序占用了这个端口,顺便看看cmd里面的一些类似linux的进程操作…

react 怎么获取表格_react学习之js-xlsx导入和导出excel表格

前记:最近真的挺忙的,一件事接着一件,都忘了我的React项目,尽管这是一个没写概率没写离散的夜晚,我决定还是先做做我的React好了,进入正题项目需求,需要导入和导出表单,发现前端已经…

android 最新的框架搭建,Android之Mvp模式框架搭建

前言在做Android开发时,我们通常为了更合理,更高效,优质的开发项目,并不是直接上来就开始开发功能,而是先搭建好自己的一个开发框架,一个好的开发框架,通常会让我们事倍功半,它就好比我们去建造一个房子,如果你的地基打的越深,越牢固,那么就可以建造出很高很大的房子.在搭建一个…

curl在android服务器上编译,Android curl的上载编译和使用

mm执行编译:PLATFORM_VERSION_CODENAMERELPLATFORM_VERSION4.0.3TARGET_PRODUCTfullTARGET_BUILD_VARIANTengTARGET_BUILD_TYPEreleaseTARGET_BUILD_APPSTARGET_ARCHarmTARGET_ARCH_VARIANTarmv7-aHOST_ARCHx86HOST_OSlinuxHOST_BUILD_TYPEreleaseBUILD_IDIML74Kmak…

英特尔nuc能代替主机吗_python编程,热度为什么越来越高,python能代替JAVA吗?...

大家好,我是你们的软件主讲老师宁彤天,python编程是这几年刚火起来了,这可能是这几年人工智能的普及吧,现在是人工智能非python,没有第二,当能其它语言也能实现人工智能,但python的代码量能用最…

python 网页自动化框架_python+selenium自动化框架

项目以前的UI自动化大概是这样分层的1.Common功能层:一些经常被调用的基本常用操作,用来完成某项具体的功能,与具体的业务无关。比如常用的封装:--将元素定位方法重新封装--封装上下左右滑动 eg: swipe(directdown,count1)--pinch…