一种移动终端安全隔离方法、装置及移动终端的制作方法_2

文档序号:9471873阅读:来源:国知局
理、监测整个系统和其他分区的状态,对应的应用进程主要用于 关键的进程管理、内存管理等,可W实现线程调度、同步机制、时钟和通信机制,处理一些虚 拟硬件资源,如虚拟的中断、异常、内存和时钟等。系统分区与应用分区一样只能使用该系 统分区对应的资源,而不能访问其他分区的资源。
[0043] 应用分区又可W分区关键资源分区和非关键资源分区,关键资源分区对应的应用 进程主要来实现关键的功能。移动终端中的一些关键服务或应用(例如手机支付)等的进 程也可W对应于关键资源分区,该关键资源分区与非关键资源分区相隔离,根据配置文件 中设定的值,保证关键资源分区的私有数据和上下文信息都保存在其独立的空间中,从而, 提高了移动终端的安全性,避免了对应于其他资源分区的应用进程所带来的安全隐患。
[0044] 和传统的资源管理不同,本发明提供的移动终端安全隔离方法的资源管理并不涉 及到底层的资源分配策略和资源管理方式,主要负责将移动终端中的资源划分为多个资源 分区,每个资源分区中的资源应该满足与所述资源分区对应的应用进程的资源需求。
[0045] 当然,资源分区中的资源可W调整,即在运行过程中,可W动态申请更多的资源, 可直接从移动终端中预留的资源区域获取,而不用等待底层的资源分配策略。送种方式可 W避免由于资源紧张而造成资源分区无法立即获取资源的情况,对于资源相对缺乏的某些 移动终端而言可W有效提高其资源利用率。其中,资源主要包括在资源分区创建过程中分 配的资源分区的代码空间、堆空间W及页目录表等。
[0046] 每一资源分区中的资源应该能够满足对应的应用进程的资源需求,而当一应用程 序第一次安装到移动终端时,需要指定该应用程序中的应用进程与移动终端中的资源分区 的对应关系,因此,上述的移动终端安全隔离方法,所述分区划分步骤之前还包括;根据用 户操作指令,创建应用进程与资源分区的对应关系,每个资源分区对应于至少一个应用进 程。
[0047] 上述操作的目的是,在移动终端第一次添加一个应用进程时,为该应用进程指定 对应的资源分区,从而,在该应用进程执行时,能够从对应的资源分区中获取资源,无论该 应用进程执行了何种操作都不会影响到其他资源分区所对应的应用进程。
[0048] 在为应用进程指定对应的资源分区时,可W根据该应用进程的重要性来进行,例 如对于一些重要性较高的关键应用,可W运行在关键资源分区中。
[0049] 现有技术中,通常采用最早截止时间优先算法或单调速率调度算法等复杂的调度 机制,对于移动终端而言开销较大,因此,上述的移动终端安全隔离方法,所述每个资源分 区具有固定的优先级;所述资源分配步骤进一步在当接收到对应于不同资源分区的多个应 用进程的资源请求时,根据每个应用进程对应的资源分区的优先级,将与所述应用进程对 应的资源分区中的运行资源分配给所述应用进程。
[0050] 上述操作的目的是,当需要调度应用进程来执行时,会选择一个优先级最高的资 源分区对应的应用进程来运行,直到该应用进程执行完毕或主动放弃处理器或有更高优先 级的资源分区所对应的应用进程出现。
[0051] 上述的移动终端安全隔离方法,所述每个资源分区都对应一个虚拟时钟,所述虚 拟时钟用于记录资源分区所对应的应用进程的执行开始时间及预设的执行时间,W使得每 个资源分区均对应一段时间槽来运行应用进程;所述资源分配步骤之后还包括:中断产生 步骤:根据所述资源分区对应的虚拟时钟中记录的执行开始时间及预设的执行时间产生时 钟中断;中断处理步骤:在产生时钟中断时,根据所述时钟中断对应的资源分区中的运行 资源,将所述时钟中断作为事件进行处理。
[0052] 上述操作的目的是,通过虚拟时钟控制每个资源分区所对应的应用进程的执行开 始时间和预设的执行时间,使得该应用进程在一预设的时间槽内运行,从而,无论该应用进 程执行了何种操作都不会影响到在其他时间槽内运行的应用进程。
[0053] 本发明提供的移动终端的安全隔离方法中,选择时间戳计数器(TimeStamp Counter,TSC)作为系统的时钟源,可编程定时器(Programm油leIntervalTimer,PIT)作 为时钟事件设备,为系统产生时钟中断,每个资源分区在创建时,都会为其分配一个虚拟时 钟。虚拟时钟并不用于记录时间,而是用于定时;包括设定资源分区对应的应用进程的执行 开始时间W及设定执行时间。真实时钟对于移动终端的操作系统来说是唯一的,真实时钟 的值来自底层的硬件时钟源。根据虚拟时钟记录的应用进程的执行开始时间W及设定执行 时间产生时钟中断,时钟中断的工作模式可W为单触发模式的neshotMode)而非传统的周 期模式。在单触发模式下,每向虚拟时钟写入一次值,只能产生一次时钟中断,而不会自动 将写入值作为周期。如果希望再次产生时钟中断,则需要再向虚拟时钟中写入相应值。送 种非固定周期的模式同传统模式相比增加了产生时钟中断的灵活性。在此基础上,本发明 提供的移动终端的安全隔离方法中,把所有资源分区的虚拟时钟都组织到一个最小二叉堆 中,最早到期的应用进程对应的资源分区总排在堆的顶端,从而能够快速查找到即将运行 的资源分区,触发时钟中断的应用进程对应的资源分区的虚拟时钟将被从二叉堆中取出, 二叉堆中资源分区的虚拟时钟将被重新排列,当与该资源分区对应的应用进程的下一次发 生时钟中断的时间再次确定后,该资源分区的虚拟时钟重新加入二叉堆中参与排序。送一 机制保证每一个资源分区都拥有其所需的运行时间,并能够按照预先设计的调度模型一次 运行,从而实现时间隔离。
[0054]为了提高资源分区之间的作业协作能力,上述的移动终端安全隔离方法,所述多 个资源分区之间通过命名管道和/或共享内存进行通信。
[0055]本发明提供的移动终端的安全隔离方法中,存在两种数据通信方式,一种是针对 数据流的命名管道(FIFO),另外一种是针对块数据的共享内存。命名管道是一种简单的流 数据传输工具,采用先进先出的策略,不同于PIPE(管道),命名管道有固定的存储介质和 名称,它可W被与任何资源分区对应的应用进程通过名称打开和关闭。而管道只有存储介 质没有名称。管道的存在依附于创建管道的任务,当任务退出时,管道也就相应的被销毁 了。而命名管道一经创建将会永久存在,直到用户将其删除。
[0056]共享内存是不同于命名管道的数据通信模式,用户可W像打开普通文件一样打开 共享内存,并且可W指定共享内存大小。与命名管道相比,共享内存是块设备,即任务可W 随机的访问共享内存区间的任何地址的数据,并且不会因为地址的不同而使访问时间有所 差别。
[0057]FIFO类似流数据通信方式,数据的传输和访问必须有一个先后顺序。因此,命名管 道与共享内存虽然目的相同,但是在使用时定要正确评估应用场景。本发明提供的移动终 端的安全隔离方法中提供了 3种类型的FIFO实现,其中FIFOVI. 0采用了阻塞性同步竞争 条件和系统调用的方法实现,FIFOV2. 0通过无锁化ock-Free)机制实现和FIFOV3. 0则 采用了内存映射机制。
[0058]本发明提供的移动终端的安全隔离方法中,当FIFO没有数据时,如果任务试图从 里面读取数据时,任务会直接返回;当FIFO被写满后,继续执行写操作的任务会直接返回; FIFO可W是双向操作,即与任何资源分区对应的应用进程可W对同一个FIFO进行读或者 写操作;对于资源竞争访问,对同一内存N,一次只允许一个读/写操作。
[0059] 当资源分区对应于多个应用进程时,多个应用进程之间的交互操作通过buffer 和blac化oard来实现,送两种方式都支持在多个源进程和目标进程之间发送单一消息。 buffer是一个队列,而blac化oard只能存储一条消息。进程间的同步是由semaphore和 event实现的。semaphore是计数信号量,用于控制对贡献资源的访问。event可用于允许 向进程通知发生的事件,送些事件可能是进程等待的事件。
[0060] 本发明还提供了一种移动终端安全隔离装置,包括;分区划分模块用于根据应用 进程与资源分区的对应关系及应用进程的资源需求,将所述移动终端的资源区划分为若干 个资源分区,其中,每个资源分区中的运行资源能够满足对应于所述资源分区的应用进程 的资源需求;资源分配模块,用于在接收到应用进程的资源请求时,将与所述应用进程对应 的资源分区中的运行资源分配给所述应用进程,W使得所述应用进程根据所述运行资源运 行。
[0061] 在划分资源分区时,分区划分模块可W通过移动终端的操作系统内核中的proc 文件系统获取到每个资源分区所需的内存空间,并据此划分资源分区使得每个资源分区对 应足够的内存空间,被分配的内存空间只能被其对应的资源分区所见,从而保证了不同资 源分区之间内存空间的隔离性。空闲的内存空间保存到一个表示空闲页的链表中,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1