關(guān)于android操作系統(tǒng)
Android,中文俗稱安卓,是一個以Linux為基礎(chǔ)的開放源代碼移動設(shè)備操作系統(tǒng),主要用于智能手機和平板電腦,由Google成立的Open Handset Alliance(OHA,開放手持設(shè)備聯(lián)盟)持續(xù)領(lǐng)導(dǎo)與開發(fā)中。安卓已發(fā)布的最新版本為Android L。
1. Android 操作系統(tǒng)介紹
2007年11月5日Google宣布了Android系統(tǒng),它是基于Linux平臺的開源手機操作系統(tǒng),該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。它采用軟件堆層(Software Stack)的架構(gòu),主要分為三部分。底層以Linux內(nèi)核為基礎(chǔ),提供了操作系統(tǒng)的基本功能;中間層包括函數(shù)庫Library和虛擬機Virtual Machine,用C++開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件可由各公司自行開發(fā),以Java作為開發(fā)語言。
Android一詞的本義指“機器人”,最初的Android主要支持手機,后來經(jīng)過開發(fā)改良,逐漸擴展到平板電腦及其他一些領(lǐng)域上,是首個為移動終端打造的真正的開放和完整的移動軟件。
2. 系統(tǒng)架構(gòu)
Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。
(1)應(yīng)用程序
Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。
(2)應(yīng)用程序框架
開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。
(3)系統(tǒng)運行庫
Android 包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。
(4)Linux內(nèi)核層
Android內(nèi)核是基于Linux 內(nèi)核的修改的內(nèi)核版本,它提供了用于支持Android平臺的設(shè)備驅(qū)動。
3. Android 操作系統(tǒng)的優(yōu)點:
(1)開源
Android不像其他的操作系統(tǒng)那樣封閉。它是開源的,允許第三方修改。所謂的“開源”是用于描述那些源碼可以被公眾使用的軟件,并且此軟件的使用、修改和發(fā)行也不受限制。Android操作系統(tǒng)的開源意味著開放的平臺允許任何移動端的廠商加入到Android聯(lián)盟中來。同時專業(yè)人士也可以利用其開放的源代碼進行二次開發(fā),打造出個性化的Android。
(2)給用戶的自由度高
Android操作系統(tǒng)給予了用戶跟高的自由度,熟悉Android的都清楚:用戶可以根據(jù)自己的喜好來設(shè)置手機界面,Android的應(yīng)用市場甚至上還有各式各樣的啟動器來供用戶自己選擇,讓自己的手機與眾不同。
(3)選擇多樣化
由于Android的開放性,眾多的廠商為了迎合大眾會推出層出不窮的新產(chǎn)品。迄今為止,以Android為操作系統(tǒng)的機型已經(jīng)達到了幾十上百種。但是這些功能、機型上的差異不會影響到數(shù)據(jù)的同步、軟件的兼容等等。這樣便給了消費者更多地購機選擇。
4. Android 操作系統(tǒng)的發(fā)展
Android在正式發(fā)行之前,最開始擁有兩個內(nèi)部測試版本,并且以著名的機器人名稱來對其進行命名,它們分別是:阿童木(AndroidBeta),發(fā)條機器人(Android 1.0)。自Android 1.5發(fā)布的開始谷歌以甜點命名法為Android 命名:紙杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松餅(Android 2.0/2.1),凍酸奶(Android 2.2),姜餅(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果凍豆(Android 4.1、Android 4.2和Android 4.3),奇巧巧克力(Android 4.4),棒棒糖(Android 5.0和Android 5.1),棉花糖(Android 6.0), 牛軋?zhí)?Android 7.0)。
Android操作系統(tǒng)的快捷鍵和技巧
1.首先就是最常用的技巧之一,長按Home鍵可以調(diào)出最近使用的6個程序,并將當(dāng)前程序置入后臺運行
2.調(diào)整音量至最低,就會依次進入振動模式和電話鈴聲靜音
3.長按掛機鍵,在彈出的進階菜單中可以選擇飛行模式、靜音模式和關(guān)機,但是值得一提的是,這里的靜音室完全靜音,音樂盒游戲都沒有聲音。
4.輸入英文時,刪除一個詞就可以同時按下Menu鍵和Del鍵,這樣的操作并不是只刪除一個字母。
5.在短信菜單中,長按某條短信會調(diào)出進階菜單,選擇相應(yīng)的選項即可將此短信轉(zhuǎn)發(fā)或回復(fù)。
6.長按接聽鍵,會自動激活系統(tǒng)的語音撥號功能,但是需要注意的是這里的語音僅能識別英文,即使刷了中文操作系統(tǒng)也不行。
7.在SDcard里建立諸"Ringtones""Alarms""Notifications"等文件夾,再將將鈴聲文件(ogg,mp3,wav,mid等)放進去,系統(tǒng)選擇鈴聲的選項中就多出了這些音樂文件。
Android操作系統(tǒng)的安全機制
Android是一個開源的移動平臺操作系統(tǒng),占據(jù)中國智能手機80%市場份額,主要用于便攜式設(shè)備。作為一個運行于實際應(yīng)用環(huán)境中的終端操作系統(tǒng),Android操作系統(tǒng)在其體系結(jié)構(gòu)設(shè)計和功能模塊設(shè)計上就將系統(tǒng)的安全性考慮之中。與此同時,它又改造開發(fā)了原有的Linux系統(tǒng)內(nèi)核和Java虛擬機。在這種前提下,Android操作系統(tǒng)在利用系統(tǒng)安全機制方面就會與原系統(tǒng)安全機制的設(shè)計目的有所不同。由于Android 平臺的開放和脆弱性,開發(fā)其上的隱私保護系統(tǒng)顯得非常重要,其面臨的安全威脅在所有手機操作系統(tǒng)中也是最大的。
1 Android 安全機制
Android的安全機制是在Linux安全機 制基礎(chǔ)上的發(fā)展和創(chuàng)新,是傳統(tǒng)的Linux安全機制和Android特有的安全機制的共同發(fā)展。Android安全機制中的主要出發(fā)點是,在默認的情況下,應(yīng)用程序任何能夠給用戶、系統(tǒng)或者其他應(yīng)用程序帶來負面影響的操作是不可以執(zhí)行的。Android是一個支持多任務(wù)的系統(tǒng),其安全機制依托于數(shù)字簽名和權(quán)限,系統(tǒng)中的應(yīng)用程序之間一般是不可以互相訪問的,每一個應(yīng)用程序都有獨立的進程空間。
1.1用戶ID
Android系統(tǒng)是基于Linux內(nèi)核的,對應(yīng)用程序文件和系統(tǒng)文件的訪問都要遵循Linux的許可機制,并將這種機制用于管理應(yīng)用程序。在Android應(yīng)用程序安裝成功后,系統(tǒng)就為其指定了一個唯一的用戶名,對應(yīng)著系統(tǒng)中唯一的UID,每個用戶可以屬于一個或者多個組。如果在應(yīng)用程序執(zhí)行期間有越軌或超越權(quán)限操作的行為時,用戶將會得到Android 的警告信息。
1.2應(yīng)用程序數(shù)字簽名
數(shù)字簽名是過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名或印章。簽名的主要作用是身份認證、完整性驗證和建立信任關(guān)系。
Android系統(tǒng)不會安裝沒有進行簽名的應(yīng)用程序,所有應(yīng)用程序進行簽名認證是必須的,但簽名認證是第三方證書認證機構(gòu)可以不參與的。Android系統(tǒng)對簽名證書的過期時間檢查是在應(yīng)用程序安裝時進行的,這就意味著如果一個應(yīng)用程序在安裝后才發(fā)現(xiàn)其簽名證書過期,就不會影響應(yīng)用程序的運行。需要注意的是,應(yīng)用程序必須使用同一個證書進行簽名才可以升級到新的版本,兩個應(yīng)用程序使用同一個數(shù)字簽名才可以相互授予權(quán)限來訪問彼此的資源。
1.3 Permission機制
Android是一個權(quán)限分離的系統(tǒng),它利用Linux已有的權(quán)限管理機制,為每一個應(yīng)用程序分配不同的UID和GID,使不同的應(yīng)用程序之間的私有數(shù)據(jù)和訪問達到隔離的目的。如果使不同的應(yīng)用程序之間的私有數(shù)據(jù)和訪問達到共享,就需要聲明對應(yīng)的權(quán)限。為此,Android在原有的基礎(chǔ)上進行了擴展,提供了permission機制,它主要是用來對應(yīng)用程序可以執(zhí)行的某些具體操作進行權(quán)限細分和訪問控制。在manifest文件中添加一個permission標簽,就定義一個permission。另外,Android為了對某些特定的數(shù)據(jù)塊進行ad-hoc方式的訪問,還提供了per-URI permission 機制。
一個權(quán)限主要包含權(quán)限名、權(quán)限組和保護級別,若干個具體權(quán)限構(gòu)成一個權(quán)限組,權(quán)限組是根據(jù)權(quán)限的功能劃分出來的,每個權(quán)限有不同的保護級別(普通級別、危險級別、簽名級別和系統(tǒng)/簽名級別四類),不同的保護級別代表了應(yīng)用程序使用此權(quán)限時的認證方式。
1.4 沙箱隔離
Android 引入沙箱的概念來實現(xiàn)應(yīng)用程序之間的分離,具有允許或拒絕一個應(yīng)用程序訪問另一個應(yīng)用程序資源的權(quán)限。
每個應(yīng)用程序在安裝后都有一個UID號,且一直不會改變。系統(tǒng)根據(jù)UID號為每個應(yīng)用程序建立一個沙箱,不同的進程空間中運行著不同應(yīng)用程序的代碼,且不能隨意的互訪彼此的進程空間。如果兩個應(yīng)用程序的UID不同,運行在基本沙箱進程中的應(yīng)用程序默認情況下是沒有被分配權(quán)限,因此它們無法交互彼此的數(shù)據(jù),此類應(yīng)用程序要想訪問系統(tǒng)文件、資源文件等變得不太可能,這種相互隔離的沙箱模式保證了數(shù)據(jù)的安全性。那么,不同的應(yīng)用之間需要共享資源該怎么辦,可以通過請求權(quán)限來解決,即設(shè)置應(yīng)用的sharedUserld屬性,或者是與其他受信任的應(yīng)用程序運行在同一進程中,從而共享對其數(shù)據(jù)資源的訪問。如此一來,相同用戶的應(yīng)用程序的資源和數(shù)據(jù)就如同使用應(yīng)用程序自身的資源一樣可以互相訪問和使用。但是,若想兩個應(yīng)用程序分配同樣的UID,那么必須使用相同的簽名,且請求設(shè)置了同一個sharedUserld。
2 Android的安全隱患
Android系統(tǒng)的開源性勢必會給我們帶來一系列的安全隱患,有Linux內(nèi)核安全漏洞造成的,有Android自身權(quán)限機制不健全造成的,也有基于硬件損傷造成的,但也正因為開源性才可以讓我們有自由創(chuàng)造和發(fā)揮的空間。
1)基于硬件的問題主要體現(xiàn)在硬件損傷、溫度過高等因素導(dǎo)致便攜設(shè)備不能工作的現(xiàn)象。由于Android系統(tǒng)過于開放,至少在手機死機現(xiàn)象頻繁發(fā)生的問題上扮演了重要角色。
2)在Linux內(nèi)核安全上,有一個哈希算法問題,即當(dāng)攻擊者把經(jīng)過特殊構(gòu)造的包傳給系統(tǒng)并接收后,服務(wù)器的資源因哈希表產(chǎn)生沖突而被耗盡。哈希算法是把一組關(guān)鍵詞經(jīng)過某種哈希運算后,把得出的相同的哈希值存儲到同一個地址區(qū)間,從而使哈希表變成了一個單向鏈表,插入操作的復(fù)雜度因此也變得比較大,從原來的O(n)級變?yōu)镺(n*n)級,如此導(dǎo)致處理器資源被大量消耗,服務(wù)器拒絕服務(wù),也就產(chǎn)生了DoS攻擊。還有Linux內(nèi)核中的整數(shù)溢出漏洞問題,它是由于一個正數(shù)/負數(shù)不匹配整形漏洞引起的,存在于XDR處理器例程中。當(dāng)Linux系統(tǒng)的XDR處理程序接收到經(jīng)過攻擊者精心構(gòu)造的包時,包的大小被程序中的檢測語句錯誤的估計,致使大批的內(nèi)存不斷的從內(nèi)核中復(fù)制出來,導(dǎo)致系統(tǒng)癱瘓,內(nèi)核數(shù)據(jù)遭受破壞。當(dāng)然,Linux內(nèi)核還有其他的一些問題,此處不再敘述。
3)Android自身權(quán)限機制問題。首先,不透明的權(quán)限問題。用戶在安裝應(yīng)用時,系統(tǒng)會把該應(yīng)用使用的權(quán)限列表以界面的方式彈出告訴用戶。但是,為什么用這些權(quán)限,用戶或許不清楚,也許根本就不了解、不關(guān)心,由于用戶要使用這個應(yīng)用所以必須安裝,從而造成不必要的損失。其次,不可分的權(quán)限集問題。上面提到,應(yīng)用程序安裝后,系統(tǒng)已經(jīng)給出了使用的權(quán)限列表,權(quán)限的使用只限于該列表而不能超出該列表。但問題的關(guān)鍵在于,用戶不能選中權(quán)限列表中的部分選項,要么全選,要么不選,都是一種絕對的狀態(tài),用戶只有全選權(quán)限才能使用該應(yīng)用程序,否則只能放棄使用。最后,研發(fā)工作者在研發(fā)應(yīng)用程序的過程中,由于某種原因聲明了一些或許根本就沒有使用到的權(quán)限,那么在安裝應(yīng)用程序時,也會告訴用戶,從而增加了系統(tǒng)的負擔(dān)和一些不安全的因素,用戶由于擔(dān)心安全問題而不敢隨意安裝該應(yīng)用程序。
3 結(jié)束語
Android 是一款非常出色的操作系統(tǒng)平臺,隨著Andriod系統(tǒng)智能終端的日益推廣,Android操作系統(tǒng)的安全性越來越重要,在其快速發(fā)展中不可避免的存在不完善的地方。Android平臺的開源造成了系統(tǒng)易被攻擊,隨著安全技術(shù)的不斷發(fā)展和進步,開源的Android平臺的安全性可以不斷地被改進,Android系統(tǒng)的安全漏洞會得到有益補充。除了要不斷改善Android自身的安全,用戶也應(yīng)該加強安全維護意識,還要對第三方程序開發(fā)商進行嚴格的監(jiān)管,制定出有效的應(yīng)用程審核和管理機制,這樣才能使得用戶對Android操作系統(tǒng)的支持越來越多,才能更好地保障整個系統(tǒng)的安全性。
【android操作系統(tǒng)】相關(guān)文章:
Android操作系統(tǒng)的發(fā)展與未來03-06
android操作系統(tǒng)的設(shè)置過程02-19
Android操作系統(tǒng)的內(nèi)存回收的策略是什么12-18
國產(chǎn)操作系統(tǒng)典范:deepin操作系統(tǒng)03-12
Android與ios的對比05-06
Android手機的通病02-24
操作系統(tǒng)大全04-01