计算装置中的可抢占语境切换制造方法及图纸

技术编号:2826777 阅读:158 留言:0更新日期:2012-04-11 18:40
一种在计算装置上的不同用户进程中的线程间切换语境的方法,其中,在启动抢占的情况下,涉及页面目录项修改或数据高速缓存刷新的语境切换的那些部分被执行,并且其中,对于那些部分,所述语境切换是被内核线程所抢占的。

【技术实现步骤摘要】
【国外来华专利技术】计算装置中的可抢占语境切换本专利技术涉及改进多任务计算装置的性能、响应性和效率,并且具体地,涉及通过使用可抢先(pre-emptible或称可抢占)的语境切 换来提供这些种改进。5 术语计算装置包括但不限于,台式及膝上型计算机、个人数字助理(PDA)、移动电话、智能手机、It码相机以及数字音乐 播放器。它还包括合并了一种或多种上述装置的功能的集成装置, 和许多其他形式的、在其功能上^衣靠于软件的工业与家用电子i殳 备。10 多数先进的计算装置是由操作系统(OS )控制的,该操作系统控制着装置的所有操作。在OS中,内核代表中心核,它具有超越装置中其它所有^:件和^i件之上的、非常高的控制等级;典型地,所述内核在特权管理程序^^莫式下运行,由此它就;故信任去做普通应 用程序(在用户模式下运行)不被信任去做的任务。15 多任务计算装置可在若千单独指令串中的任一个的执行之间快速切换,其中,每个连贯的串被称为线程。因此,线程被当作该 装置上的执行单元。线程间的切换:帔称为语境切换。计算装置上的内存在不同的进程之间被分割,其中,每个进程 都由一个或多个线禾呈组成。当进禾呈由多于一个的线禾呈组成时,该进 20 程中的所有线程都可以访问同一个共享内存;但一个进程中的线程除了访问其自身进程的内存以外不能访问其他进程的内存。因此, 该进程可被当作装置上的内存保护单元。由此得出,当计算装置在第 一进程中的第 一线程和第二进程中 的第二线程之间切换时,从第 一线程到第二线程的执行的转移也必 5 然伴随着在所使用的活动存储器中的、从第一进程的第一线程到第 二进程的第二线程的某种形式的切换。为实现这个,最普通的方案之一就是利用这样的事实,即,现 代计算装置上的存储器通常处于非常严密的管理之下,典型处在内 核的控制之下。那些本领域的普通技术人员将意识到,装置上的内10 存被分组为地址连续的多个页面,并且装置上所有可能的可寻址的 内存位置的全体(totality)被称为虚拟内存地址。实际一皮安装的内 存地址的全体^皮称为物理内存地址,且计算装置包括由内存管理单 元或MMU所维护的乂人虚拟内存页面地址到物理内存页面地址的映 射。通过改变那些保存此映射的页面目录项的内容, 一组虚拟内存15 ;也址可用来指向所有可寻址的物理内存的期望区i或。在如上所述的 方案中,不同进程中线程间的语境切换伴随着内存的重新映射以使^ ^f呆护其线程已孚皮切出(be switched out)的进,呈的内存,且以4更可i^ 问其线程已,皮切入(be switched in )的进程的内存。为加速对相对緩慢的主存储器的访问,计算装置经常利用局部 20 (locality)的现象,该研究延续了三十多年。局部就是指内存访问在程序寺丸行期间趋于被群集在小内存区域中的现象 (选自《用于在共享内存多处理器系统中改进内存访问局部的排序函数》作者Youfeng Wu,关于微架构目录的第25年度国际研讨会会议学报,1992年)因此,计算装置维护高速緩存,它由保存了已被读取的内存最 后几页内容的少量更快的内存组成。当一项读取内存的请求访问了 已被标识成在该高速緩存内的页面时,就称为发生了高速緩存命 中,且可以从更快的高速緩存存储器而不是相对緩慢的主存储器对5内存进4亍i方问。然而,通常在很多计算装置上,用于高速緩存的内存地址是虚 拟内存地址而不是物理内存地址。这意。未着当在不同进程的线程之 间发生语境切换时,在该高速缓存工作方式之后的逻辑就—皮无效, 且因为所请求的内存访问恰好匹配被保存的虚拟地址,故从该高速 10 緩存读取数据就几乎肯定是错的。因而,这种语境切换需要使该高 速緩存的整个内容无效从而对之前保存在该高速緩存内的虚拟内 存地址的任何访问将导致高速缓存未命中,这就迫使一次来自物理 内存的读取。这种高速緩存内容的无效叫做刷新高速緩存。以上所有操作对 15于本^支术领域工作人员都是熟知的。从上述描述可以看出,由于来回移动潜在的大量内存映射的需 求以及在利用被虚拟标记的数据高速緩存的硬件结构上刷新数据 高速緩存的需求,所以属于不同用户方进程的线程间的语境切换可 能是个耗时的过程。在这期间,该装置典型是不响应的,这是因为 20 这些操作一般在禁用抢占的情况下运行;这表明两进程间的语境切 换并不允许被准备运行的第三进程所抢先。冲丸行语境切换的所库4时长已在ARM结构4与5处理器上纟皮测 量。在最坏的情况下,这可能包括如下操作* ^f奮改页面目录项以移动附于前一进禾呈的所有内存的虛拟 25 地址*保护附于前一进程的所有内存* <奮改页面目录项以移动附于新进禾呈的所有内存的虚拟;也 址*刷新该处理器数据高速緩存5 在具有大数据高速緩存和慢速内存接口的处理器上,这将耗费500jus以上,这在计算期间是相当大的延迟。这是来自一个这种系 统的测量值。在禁用抢占的情况下,如果所有这些工作都由计算装 置的调度程序直接执行,则这将为最坏情况下的线程等待时间(从10 时间)加上半毫秒或更多。这个延迟对于很多现代计算装置都是不 可接受的,现代计算装置需要更好更快的实时性以保证操作将在更 短的^f呆^E时间内完成时间紧急的4壬务。根据本专利技术的第一方面,提出了一种在计算装置上的不同用户 进程的线程间切换语境的方法,在该计算装置中,在启动抢占的情 15况下,涉及页面目录项的修改或数据高速緩存的刷新的语境切换的 那些部分被执行,并且其中,对于那些部分,该语境切换被内核线 程所抢占。才艮据本专利技术的第二方面,提出了一种被安排来根据第一方面的 方法进行操作的计算装置。20 根据本专利技术的第三方面,提出了一种用于使计算装置根据第一方面的方法进行操作的才喿作系统。现在将参照附图仅通过另 一个实例来描述本专利技术的实施方式, 其中-.附图说明图1示出了才艮据本专利技术的可抢占语境切换的实施方式。本专利技术背后的理解是,并非来自用户进程中运行的线程的所有 语境切换都需要上文所概括列出的所有操作。特别地,从用户进程中的线程到内核线程(运行在管理程序才莫5 式下的特权线程)与某些固定用户进程(见下文)中的线程的切换 都会更快的发生,故应该具有更短的保证等待时间。为达到此目的, 本专利技术考虑到了在启动抢占的情况下进行页面目录项的修改以及 数据高速緩存的刷新。这里描述的本专利技术的下一个实施方式涉及Symbian OS操作系 10统,用于凄t字启动的高级移动电话的全^求开》文性工业标准才喿作系 统。并々支i殳下面的解释乂于于那些熟悉Symbian OS习'贯用i吾的4支术 人员是容易理解的。存储器模型提供了具有当需要地址空间切换时就应当被使用 的回叫的线程调度程序(内核的一部分)。下列说明描述了当调度 15禾呈序调用该回叫时所发生的事<牛序列。參根据先前说明的,因为切换用户模式地址空间是复杂的操 作,且可能要求有相当多的时间周期,所以地址空间切换 在启动4仓占的情况下就^皮冲丸-f亍。*基本上,内核恢复用于新线程的寄存器,以便该系统使用 20 新线禾呈的管理:程序堆一戈,然后在恢复正确的MMU配置之前重豸斤启动才仓占。于是,该豸斤线禾呈i殳定其自己的MMU酉己 置。*用户模式地址空间在内核中是个共享的数据对象,这本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在计算装置上的不同用户进程中的线程间切换语境的方法,其中,在启动抢占的情况下,涉及页面目录项修改或数据高速缓存刷新的语境切换的那些部分被执行,并且其中,对于那些部分,所述语境切换是被内核线程所抢占的。2. 才艮据冲又利要求1所述的方法,其中,所述内核线程保存^又被内 核线程所要求的数据对象,并且其中,所述计算装置在所述语 境切换期间查看在所述对象上是否存在等待的任何线程。3. 根据权...

【专利技术属性】
技术研发人员:丹尼斯·梅
申请(专利权)人:西姆毕恩软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1