每个人都是带着梦想来到这边土地,这是自由的国度,到处是丰富资源,无数个帝国都是从这里起步,一步一步走向强盛。在那些强大帝国,随时都可见密集的人流,随处可见的喧闹贸易。每天都有骤然而起的帝国,同样也也不缺一夜之间消失的都市的故事。
腾讯帝国几个月前我也带着梦想奉命来建造一个帝国,虽然没有他们雄心壮志,但作为一个建筑工程师,当然也想亲手创建出一个坚固和繁荣的帝国。虽然有过丰富的建筑经验,也亲手规划或参与过建造大型的都市。但是现在面对片一望无际的深林,还是有些不自所措,因为这一次与以往有所不同,现在是白手起家,资源有限。设计和规划也需要更加详尽,详细到需要考虑资源管理和分配。目标是建造坚固和便于生活的帝国。
首先我们需要考虑的就是资源,为什么考虑资源,因为分给每个领主的资源是十分有限的。所以我们需要精巧地设计来充分利用资源,要做到这一点我们就需要对这里地质结构有所了解。
地质分层,分层结构
1 最底层是硬件 传感器 存储器,处理器Wi-Fi 这是帝国构建平台的基础硬件设施
2 然后就是系统层,这里是优化的 Linux OS,主要优化了 IPC 和电源管理,电源管理是整个生态的供电中心,其重要性不难想象。而 IPC 是进程间的通讯,是我们获取平台资源的通道。这是android生态的管理中枢。
3 中间层的基础架构,之所以叫 android 的中间层,因为他位于系统层(OS)之上,并且位于应用层之下。这里是 c 或者 c++ 编写的。
包括
硬件抽象层,对一些在台式机不是必备而是移动设备专有的设备驱动进行抽象层,其实就是用于语言对这些设备进行说明和描述
运行 java 代码虚拟机(Dalvik 或 ART):就是运行java 代码,不过这个虚拟机与我们熟知 JVM 有所不同,他是考虑移动设备自身的特点而设计的。
原生的 C/C++ 的库
在上一层的地质就是我们所见应用层,这一层提供为我们的帝国所需要通讯服务,以及一些多媒体服务。让然不同生态环境中我们可以找到一些当地政府也就是生态给我们提供政府,如来通讯录,邮件,以及播放器,共我们免费使用。
我们返回到 2 也就是系统层,再给大家解释一下,这一层主要是虚拟内存的管理,以及进程和线程的管理。虚拟内存管理物理内存,并且将部分的磁盘空间作为内存来使用,他还负责将内存进行隔离来供应用(帝国使用),这是处于安全考虑。
进程负责资源分配和隔离的,进程间也是可以通讯管理,一般每一帝国都会分配到一个进程,一个进程可以细分或者说拥有多个线程,其实一个线程即是运行在线程一个指令集。
有关多线程管理对于我这个一直都是面临单线程的工程师的确是一个挑战,怎么利用好进程,规划好线程是构建稳固帝国的关键。
网友评论