涨姿势:Android手机的系统为什么叫ROM
安卓手机系统为什么叫 ROM?可以说不仅仅是安卓系统叫做 ROM,目前所有的手机系统,都可以叫做 ROM(包括但不局限于苹果、塞班、黑莓)这是由于 ROM 是只读内存(Read-OnlyMemory)的简称。特点是只能读而不能快速改写。
因此所有刷写进不可改变或擦除的系统我们都可以将之成为 ROM。
相对于 ROM,其实称之为固件更加合适。ROM 和固件就是一个写入和被写入的关系。
最经典的例子就是电脑上的 BIOS,各种电视红白游戏机的卡带,还有早期电脑上的一些驱动。这些都是真正的 ROM,把程式代码擦写进固化内存之中。这种是真正名义上的 ROM,从硬件上决定了只读性,同时通常也是一个软件系统的底层和核心部分。
那为什么手机(安卓)系统也叫 ROM 呢?
这是因为手机系统必须保证其自身的完整性和稳定性,在被用户使用的时候不被用户和恶意程序改写其核心文件。
体现在安卓系统上就是 root 权限,默认没有 root 权限的话,是没有办法改写系统文件的,而操作系统的这个特性和上面说起来的只读内存十分相似,只不过是从软件层面上保持自身的不可改写罢了,一旦获取了 root 权限,也就是获得了 ROM 的改写权限。
那为什么安卓手机系统叫 ROM,而苹果塞班却没有这个习惯呢?
有一点是可以确定的,就是 ROM 这个名词不为安卓所独断。可参考各种游戏模拟器。
其实安卓系统的系统包和一般手机的系统包性质差异不大,都符合 ROM 这一个名词特性。叫法只是个历史遗留和习惯问题。
个人推测是由于安卓系统的开源使得各式各样修改后的第三方系统百花齐放,大大增加了手工 recovery 刷入系统 zip 的机会,所以我们常常需要下载后缀为 zip 的刷机包,以实现尝鲜和个性化定制。
而苹果 iphone 的刷机有个特点就是大多数为官方原生系统,在线更新,也无所谓 ROM 了。即使是手动刷机,一般也被称作为固件——其实固件(Firmware)一词和 ROM 也是有着莫大的关联,因为固件本身就是写进 ROM 的程式。
安卓上的 ROM 分为哪几种呢?
在安卓上,刷机包被分为两种,一种是原生官方的系统固件,也被称为底包、原生 ROM,不包含个性化定制。一般是从官网下载或者从官方更新程序下载提取。
而通过各种大神在底包上进行各式各样的二次定制,则产生了各种第三方的系统固件,俗称 ROM,包含各种个性化定制后的差异性功能。例子就多啦:国际著名安卓 ROM 团队 CM,小米引以为豪的 MIUI,极简设计的魅族 Flyme,锤子手机的锤子 ROM 和国内外各种大神半神定制的系统…就不列举太多了。这些 ROM 都可以在 ROM 基地中下载到。