关于android操作系统
Android,中文俗称安卓,是一个以Linux为基础的开放源代码移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。安卓已发布的最新版本为Android L。
1. Android 操作系统介绍
2007年11月5日Google宣布了Android系统,它是基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack)的架构,主要分为三部分。底层以Linux内核为基础,提供了操作系统的基本功能;中间层包括函数库Library和虚拟机Virtual Machine,用C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件可由各公司自行开发,以Java作为开发语言。
Android一词的本义指“机器人”,最初的Android主要支持手机,后来经过开发改良,逐渐扩展到平板电脑及其他一些领域上,是首个为移动终端打造的真正的开放和完整的移动软件。
2. 系统架构
Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
(1)应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
(2)应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
(3)系统运行库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。
(4)Linux内核层
Android内核是基于Linux 内核的修改的内核版本,它提供了用于支持Android平台的设备驱动。
3. Android 操作系统的优点:
(1)开源
Android不像其他的操作系统那样封闭。它是开源的,允许第三方修改。所谓的“开源”是用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受限制。Android操作系统的开源意味着开放的平台允许任何移动端的厂商加入到Android联盟中来。同时专业人士也可以利用其开放的源代码进行二次开发,打造出个性化的Android。
(2)给用户的自由度高
Android操作系统给予了用户跟高的自由度,熟悉Android的都清楚:用户可以根据自己的喜好来设置手机界面,Android的应用市场甚至上还有各式各样的启动器来供用户自己选择,让自己的手机与众不同。
(3)选择多样化
由于Android的开放性,众多的厂商为了迎合大众会推出层出不穷的新产品。迄今为止,以Android为操作系统的机型已经达到了几十上百种。但是这些功能、机型上的差异不会影响到数据的同步、软件的兼容等等。这样便给了消费者更多地购机选择。
4. Android 操作系统的发展
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。自Android 1.5发布的开始谷歌以甜点命名法为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), 牛轧糖(Android 7.0)。
Android操作系统的快捷键和技巧
1.首先就是最常用的技巧之一,长按Home键可以调出最近使用的6个程序,并将当前程序置入后台运行
2.调整音量至最低,就会依次进入振动模式和电话铃声静音
3.长按挂机键,在弹出的进阶菜单中可以选择飞行模式、静音模式和关机,但是值得一提的是,这里的静音室完全静音,音乐盒游戏都没有声音。
4.输入英文时,删除一个词就可以同时按下Menu键和Del键,这样的操作并不是只删除一个字母。
5.在短信菜单中,长按某条短信会调出进阶菜单,选择相应的选项即可将此短信转发或回复。
6.长按接听键,会自动激活系统的语音拨号功能,但是需要注意的是这里的语音仅能识别英文,即使刷了中文操作系统也不行。
7.在SDcard里建立诸"Ringtones""Alarms""Notifications"等文件夹,再将将铃声文件(ogg,mp3,wav,mid等)放进去,系统选择铃声的选项中就多出了这些音乐文件。
Android操作系统的安全机制
Android是一个开源的移动平台操作系统,占据中国智能手机80%市场份额,主要用于便携式设备。作为一个运行于实际应用环境中的终端操作系统,Android操作系统在其体系结构设计和功能模块设计上就将系统的安全性考虑之中。与此同时,它又改造开发了原有的Linux系统内核和Java虚拟机。在这种前提下,Android操作系统在利用系统安全机制方面就会与原系统安全机制的设计目的有所不同。由于Android 平台的开放和脆弱性,开发其上的隐私保护系统显得非常重要,其面临的安全威胁在所有手机操作系统中也是最大的。
1 Android 安全机制
Android的安全机制是在Linux安全机 制基础上的发展和创新,是传统的Linux安全机制和Android特有的安全机制的共同发展。Android安全机制中的主要出发点是,在默认的情况下,应用程序任何能够给用户、系统或者其他应用程序带来负面影响的操作是不可以执行的。Android是一个支持多任务的系统,其安全机制依托于数字签名和权限,系统中的应用程序之间一般是不可以互相访问的,每一个应用程序都有独立的进程空间。
1.1用户ID
Android系统是基于Linux内核的,对应用程序文件和系统文件的访问都要遵循Linux的许可机制,并将这种机制用于管理应用程序。在Android应用程序安装成功后,系统就为其指定了一个唯一的用户名,对应着系统中唯一的UID,每个用户可以属于一个或者多个组。如果在应用程序执行期间有越轨或超越权限操作的行为时,用户将会得到Android 的警告信息。
1.2应用程序数字签名
数字签名是过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章。签名的主要作用是身份认证、完整性验证和建立信任关系。
Android系统不会安装没有进行签名的应用程序,所有应用程序进行签名认证是必须的,但签名认证是第三方证书认证机构可以不参与的。Android系统对签名证书的过期时间检查是在应用程序安装时进行的,这就意味着如果一个应用程序在安装后才发现其签名证书过期,就不会影响应用程序的运行。需要注意的是,应用程序必须使用同一个证书进行签名才可以升级到新的版本,两个应用程序使用同一个数字签名才可以相互授予权限来访问彼此的资源。
1.3 Permission机制
Android是一个权限分离的系统,它利用Linux已有的权限管理机制,为每一个应用程序分配不同的UID和GID,使不同的应用程序之间的私有数据和访问达到隔离的目的。如果使不同的应用程序之间的私有数据和访问达到共享,就需要声明对应的权限。为此,Android在原有的基础上进行了扩展,提供了permission机制,它主要是用来对应用程序可以执行的某些具体操作进行权限细分和访问控制。在manifest文件中添加一个permission标签,就定义一个permission。另外,Android为了对某些特定的数据块进行ad-hoc方式的访问,还提供了per-URI permission 机制。
一个权限主要包含权限名、权限组和保护级别,若干个具体权限构成一个权限组,权限组是根据权限的功能划分出来的,每个权限有不同的保护级别(普通级别、危险级别、签名级别和系统/签名级别四类),不同的保护级别代表了应用程序使用此权限时的认证方式。
1.4 沙箱隔离
Android 引入沙箱的概念来实现应用程序之间的分离,具有允许或拒绝一个应用程序访问另一个应用程序资源的权限。
每个应用程序在安装后都有一个UID号,且一直不会改变。系统根据UID号为每个应用程序建立一个沙箱,不同的进程空间中运行着不同应用程序的代码,且不能随意的互访彼此的进程空间。如果两个应用程序的UID不同,运行在基本沙箱进程中的应用程序默认情况下是没有被分配权限,因此它们无法交互彼此的数据,此类应用程序要想访问系统文件、资源文件等变得不太可能,这种相互隔离的沙箱模式保证了数据的安全性。那么,不同的应用之间需要共享资源该怎么办,可以通过请求权限来解决,即设置应用的sharedUserld属性,或者是与其他受信任的应用程序运行在同一进程中,从而共享对其数据资源的访问。如此一来,相同用户的应用程序的资源和数据就如同使用应用程序自身的资源一样可以互相访问和使用。但是,若想两个应用程序分配同样的UID,那么必须使用相同的签名,且请求设置了同一个sharedUserld。
2 Android的安全隐患
Android系统的开源性势必会给我们带来一系列的安全隐患,有Linux内核安全漏洞造成的,有Android自身权限机制不健全造成的,也有基于硬件损伤造成的,但也正因为开源性才可以让我们有自由创造和发挥的空间。
1)基于硬件的问题主要体现在硬件损伤、温度过高等因素导致便携设备不能工作的现象。由于Android系统过于开放,至少在手机死机现象频繁发生的问题上扮演了重要角色。
2)在Linux内核安全上,有一个哈希算法问题,即当攻击者把经过特殊构造的包传给系统并接收后,服务器的资源因哈希表产生冲突而被耗尽。哈希算法是把一组关键词经过某种哈希运算后,把得出的相同的哈希值存储到同一个地址区间,从而使哈希表变成了一个单向链表,插入操作的复杂度因此也变得比较大,从原来的O(n)级变为O(n*n)级,如此导致处理器资源被大量消耗,服务器拒绝服务,也就产生了DoS攻击。还有Linux内核中的整数溢出漏洞问题,它是由于一个正数/负数不匹配整形漏洞引起的,存在于XDR处理器例程中。当Linux系统的XDR处理程序接收到经过攻击者精心构造的包时,包的大小被程序中的检测语句错误的估计,致使大批的内存不断的从内核中复制出来,导致系统瘫痪,内核数据遭受破坏。当然,Linux内核还有其他的一些问题,此处不再叙述。
3)Android自身权限机制问题。首先,不透明的权限问题。用户在安装应用时,系统会把该应用使用的权限列表以界面的方式弹出告诉用户。但是,为什么用这些权限,用户或许不清楚,也许根本就不了解、不关心,由于用户要使用这个应用所以必须安装,从而造成不必要的损失。其次,不可分的权限集问题。上面提到,应用程序安装后,系统已经给出了使用的权限列表,权限的使用只限于该列表而不能超出该列表。但问题的关键在于,用户不能选中权限列表中的部分选项,要么全选,要么不选,都是一种绝对的状态,用户只有全选权限才能使用该应用程序,否则只能放弃使用。最后,研发工作者在研发应用程序的过程中,由于某种原因声明了一些或许根本就没有使用到的权限,那么在安装应用程序时,也会告诉用户,从而增加了系统的负担和一些不安全的因素,用户由于担心安全问题而不敢随意安装该应用程序。
3 结束语
Android 是一款非常出色的操作系统平台,随着Andriod系统智能终端的日益推广,Android操作系统的安全性越来越重要,在其快速发展中不可避免的存在不完善的地方。Android平台的开源造成了系统易被攻击,随着安全技术的不断发展和进步,开源的Android平台的安全性可以不断地被改进,Android系统的安全漏洞会得到有益补充。除了要不断改善Android自身的安全,用户也应该加强安全维护意识,还要对第三方程序开发商进行严格的监管,制定出有效的应用程审核和管理机制,这样才能使得用户对Android操作系统的支持越来越多,才能更好地保障整个系统的安全性。
【android操作系统】相关文章:
android操作系统的设置过程11-21
Android操作系统的安全机制11-19
Android操作系统的发展与未来09-27
Android操作系统的快捷键和技巧11-20
Android手机的通病10-07
Android与ios的对比10-07
国产操作系统典范:deepin操作系统09-28