漲姿勢:Android手機的系統為什么叫ROM
安卓手機系統為什么叫 ROM?可以說不僅僅是安卓系統叫做 ROM,目前所有的手機系統,都可以叫做 ROM(包括但不局限于蘋果、塞班、黑莓)這是由于 ROM 是只讀內存(Read-OnlyMemory)的簡稱。特點是只能讀而不能快速改寫。
因此所有刷寫進不可改變或擦除的系統我們都可以將之成為 ROM。
相對于 ROM,其實稱之為固件更加合適。ROM 和固件就是一個寫入和被寫入的關系。
最經典的例子就是電腦上的 BIOS,各種電視紅白游戲機的卡帶,還有早期電腦上的一些驅動。這些都是真正的 ROM,把程式代碼擦寫進固化內存之中。這種是真正名義上的 ROM,從硬件上決定了只讀性,同時通常也是一個軟件系統的底層和核心部分。
那為什么手機(安卓)系統也叫 ROM 呢?
這是因為手機系統必須保證其自身的完整性和穩定性,在被用戶使用的時候不被用戶和惡意程序改寫其核心文件。
體現在安卓系統上就是 root 權限,默認沒有 root 權限的話,是沒有辦法改寫系統文件的,而操作系統的這個特性和上面說起來的只讀內存十分相似,只不過是從軟件層面上保持自身的不可改寫罷了,一旦獲取了 root 權限,也就是獲得了 ROM 的改寫權限。
那為什么安卓手機系統叫 ROM,而蘋果塞班卻沒有這個習慣呢?
有一點是可以確定的,就是 ROM 這個名詞不為安卓所獨斷??蓞⒖几鞣N游戲模擬器。
其實安卓系統的系統包和一般手機的系統包性質差異不大,都符合 ROM 這一個名詞特性。叫法只是個歷史遺留和習慣問題。
個人推測是由于安卓系統的開源使得各式各樣修改后的第三方系統百花齊放,大大增加了手工 recovery 刷入系統 zip 的機會,所以我們常常需要下載后綴為 zip 的刷機包,以實現嘗鮮和個性化定制。
而蘋果 iphone 的刷機有個特點就是大多數為官方原生系統,在線更新,也無所謂 ROM 了。即使是手動刷機,一般也被稱作為固件——其實固件(Firmware)一詞和 ROM 也是有著莫大的關聯,因為固件本身就是寫進 ROM 的程式。
安卓上的 ROM 分為哪幾種呢?
在安卓上,刷機包被分為兩種,一種是原生官方的系統固件,也被稱為底包、原生 ROM,不包含個性化定制。一般是從官網下載或者從官方更新程序下載提取。
而通過各種大神在底包上進行各式各樣的二次定制,則產生了各種第三方的系統固件,俗稱 ROM,包含各種個性化定制后的差異性功能。例子就多啦:國際著名安卓 ROM 團隊 CM,小米引以為豪的 MIUI,極簡設計的魅族 Flyme,錘子手機的錘子 ROM 和國內外各種大神半神定制的系統…就不列舉太多了。這些 ROM 都可以在 ROM 基地中下載到。
相關文章:
1. PHP基礎之流程控制3——while/do-while2. Python TestSuite生成測試報告過程解析3. python3實現往mysql中插入datetime類型的數據4. python爬蟲實戰之制作屬于自己的一個IP代理模塊5. 簡述JAVA同步、異步、阻塞和非阻塞之間的區別6. 解決AJAX返回狀態200沒有調用success的問題7. springboot的yml配置文件通過db2的方式整合mysql的教程8. 在JSP中使用formatNumber控制要顯示的小數位數方法9. moment轉化時間戳出現Invalid Date的問題及解決10. 利用單元測試對PHP代碼進行檢查
