夜雨聆风学习资料网

ARTICLE · 1100737

安卓系统内核

安卓系统内核
安卓系统的地基是内核,这个内核是开源的,代码在kernel文件夹里面。这个内核系统被创始人命名为linux。有兴趣了解这些过往的可以去找资料了解下。linux不单单被安卓系统作为内核。很多系统都是基于linux的,常见的苹果IOS,ubuntu电脑系统等,还有很多。内核上一般会根据当前硬件做一些裁剪或增加一些新功能。
Linux系统包含了所有的底层实现,这个系统的设计思路是把所有东西都抽象成文件。有了这个概念之后你就会发现所有的操作系统都是大同小异。电脑操作系统windows里面也全都是文件,只是把文件分了类。本质上文件的组成都是0和1的排列组合,你可以找个文件打开,然后按16进制去显示就会发现端倪。
所以文件系统是linux系统的组成部分之一,除此之外还有内存管理系统。之前文章有说过系统都是跑在内存里的,linux内核是被uboot这个loader引导加载到内存然后把运行权限交给linux系统。Linux系统接手后也是一样要管理内存防止出现内存溢出和越界这些行为导致系统崩溃。
玩过单片机的都知道,整个固件运行时就是一个大循环,一直在不停的跑循环里面的程序。带系统的固件有什么区别呢?区别就是现代操作系统会把各个任务的时间切片,轮流运行,这样看起来就不像一个大循环。给人的感觉是同时有几个程序在跑。这个要归功于现在的高端主控都是有几个核心,并发性能得到了很大提升。这时就会有一个任务调度系统。
在我看来系统就这三大部分,其他的部分我觉得都是系统的拓展。这三大部分也代表了必不可少的CPU,DDR和EMMC。这里就讲了个基本框架,实际上随着系统的完善功能也越来越多,你要完全去每个代码去扣就不是很必要了。内核的代码数量也从一万行到千万行,所以我会把工作上常用的分享给大家。

相关学习资料