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