Android系统与Linux内核是什么关系?Linux内核发行版介绍

Linux内核是非常重要的,同时Linux内核也是非常复杂的,Linux内核超过千万行代码。为增进大家对Linux内核的认识,本文将对Linux内核发行版以及Android系统和Linux内核的关系予以介绍。如果你对Linux内核具有兴趣,不妨和小编一起继续往下阅读哦。

一、Linux内核发行版

Linux内核的发展过程中,我们还不得不提一下各种Linux发行版的作用,因为正是它们推动了Linux的应用,从而也让更多的人开始关注Linux。一些组织或厂家,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。因此把SUSE、RedHat、Ubuntu、Slackware等直接说成是Linux是不确切的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统软件包”。根据GPL准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。Linux的各个发行版本(distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容。

90年代初期Linux开始出现的时候,仅仅是以源代码形式出现,用户需要在其他操作系统下进行编译才能使用。后来出现了一些正式版本。最流行的几个正式版本有:SUSE、RedHat、Fedora、Debian、Ubuntu、CentOS、Gentoo,等等。用户可根据自己的经验和喜好选用合适的Linux发行版。

原先Linus Torvalds将Linux置于一个禁止任何商业行为的条例之下,但之后改用GNU通用公共许可证第二版。该协议允许任何人对软件进行修改或发行,包括商业行为,只要其遵守该协议,所有基于Linux的软件也必须以该协议的形式发表,并提供源代码。

Linus Torvalds曾经公开声称将Linux置于GNU通用公共许可证之下是他一生中所做的“最好的决定”。

二、Android系统与Linux内核的关系

通过上面的介绍,想必大家对Linux内核的发行版已经具备了清晰的认识。在这部分,我们主要来了解下Android系统和Linux内核之间的关系。

对Android感兴趣的朋友都知道,Android系统是建立在Linux内核之上的。那么Linux内核和Android什么关系?

Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动。比如Binder,loger等等驱动。可以拿Android内核代码和其Baseline版本进行对比。可以看到Android对Linux内核的所有扩展。

熟悉Linux启动的朋友知道,首先Linux引导完成之后,会启动用户态的init进程(pid为0),这个进程在整个系统运行过程中起着非常重要的作用,如果你对init进程不了解请查相关资料。init完成系统的初始化工作,然后进入shell,接收用户的输入。

Android启动也没有什么神秘的,就是用自己的init进程替换了Linux内核的init进程,完成自己初始化工作(设备,文件系统等等初始化)。然后启动自己的虚拟机,程序等等的东西。Android的init进程的代码位于system/core/init/init.c下面,可以去查看其源码,来了解Android启动详细流程。Android启动流程的资料网上已经比较多,这里就不赘述了。

可以看到移植Android过程中,调试init非常重要。因为所有和硬件平台相关的东西都这里初始化,所以init进程有可能需要移植或者配置。其他的进程都是和硬件无关的,理论上不需要修改就应该能够运行起来。

经过上面的描述可以看出,Android的init进程起着一个承上启下的作用。承上——自动由Linux内核调用;启下——初始化Android各种设备和资源,然后启动Android相关的进程,直到引导起整个Android系统。

以上便是此次小编带来的Linux内核相关内容,通过本文,希望大家对Linux内核发行版以及Android系统和Linux内核的关系具备一定的了解。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值