zyh20230521a
今天能跟大家一块学习《Android Runtime源码解析》这本书,我感到很荣幸,这本书是清华大学出版社发行,史宁宁编著的。这本书读起来比较好理解,它主要是介绍的就ART(虚拟机)。
第1章,他讲 ART的基础包括虚拟机基础,ART的发展历史,ART的核心架构,源码目录的介绍等。第2章讲的就是dex2oat工具介绍。接下来这段时间我会跟大家一起学习学习。
现在在人们的生活中嵌入式系统应用的非常多。你如果不了解这个里边的Java虚拟机如何工作的话,你就没法真正的制作比较安全的控制类APP,如果想制作好的APP、如果是咱国的嵌入式工程师的话,必须了解到控制GPIO或者是会访问底层的这些硬件方法。
咱平常编写程序的时候直接都是c++, Java语言,或者是Python,命令很简单,但是到执行的时候,你不知道它里头是芯片里的哪个特殊寄存器控制到最后推挽输出或者是上拉输入的话,就很容易受黑客控制。可以让别人控制你的GPS,可以让别人控制你的管脚。
这本书详细介绍了虚拟机的运行机制,它主要还是把这个原理给解析的清楚了。学习ART原理有啥好处?让你清楚这里头的机制啊,他等于是把这个虚拟机制的问题给解释了。讲它到底是咋运行的。啥是虚拟机,在最初的时候一个单片机就只有一个功能,有各种各样的单片机。单片机里头就是一个系统啊,就是一个可以独立运行的一个系统。各种板子不一样,每一种板子的作用是在设计者从这个硬件软件给它统一之后设计出来的。这么多的硬件软件,就造成了浪费。就跟咱现在手机一样,功能都集中在一块了,电路系统就节约了。就比如说它又能打电话,又能看了又能看电视,还能当监控等。你发一条指令可以控制远方的这个机器人或者机械臂的动作。或者是你想看这个沉浸式AI的,直接的手机放到VR眼镜里头直接你扭头,左扭头右扭头都可以进行更好的沉浸式体验,但是这就是一个手机它会的功能可以这么多呢。就是它里头用了这个就是虚拟机。虚拟机它虚拟的是啥东西?它虚拟的就是一个硬件系统或是单片机系统。它虚拟了6个种类的机型,APP制作的时候只需要关心这个虚拟机里头的这个机制或者是API。调用它的API就等于调用PC或者单片机功能,虚拟了一套硬件系统,你不用管硬件系统到底是咋连GPS的,或者是咋连LED的,或者是音频系统视频系统是怎么连的,显示坐标系统是怎么连的,这个你不用考虑了,直接考虑API的设计就行了。华为的手机可以用,安卓的手机装上之后也可以用,这就是虚拟机移植了它的功能。
回到这本书上,我们大家可以共同学习一下,我也是想跟大家一块来学习学习这本书,这本书自我看过之后感觉最好最好的,还是第4章的优化算法分析。就是优化算法框架、常量折叠、指令简化、死代码优化、循环体优化、指令下沉等的内容和硬件平台优化pass信息等。它通过7个方面把ART的代码优化原理讲得非常清楚。要知道嵌入式系统的小型os或者是 Linux系统,或者是比较大的PC os都是有这个机制在里头运行的。这个编译的代码优化的机制是本书的亮点!
接下来我会继续更新,能和大家一块学习,我感到很高兴,还希望有更多机会为大家试读,如果是我擅长的方向,可能会讲的更好,比如说 FPGA芯片,雷达系统,机器人设计与制造,芯片制造,机器视觉,3D建模,计算机安全,芯片安全,Verilog语言、VHDL语言、数字电路,SystemVerilog语言、SystemC语言、Matlab、C/C++语言,人工智能,智能算法,硬件加速设计等,希望有这些方向的书籍试读!
谢谢!
2023年5月21日
|