重叠地址空间的二次重定向研究
操作系统
计算机工程与设计ComputerEngineeringandDesign
II
2010,31(13)
3003
体系结构与外国授备
重叠地址空间的二次重定向研究
吴贞海,
刘福岩,
李雪敏,易松
(上海大学计算机工程与科学学院,上海200072)
摘要:为了提高操作系统内核在地址空间切换时候的效率,利用ARM处理器上的快速上下文切换扩展(fastcontext
switchmg
extension,FCSE),实现任务地址空间的二次重定向。该方法首先将任务地址空间重定向到一个大的单地址空间,内存管理单元再进行从虚拟地址空间到物理地址空间的重定向。单地址空间到物理地址空间的地址转换信息始终保持有效.因而,内存管理单7;己(memory
management
unit,MMU)在任务切换的时候不必清空转换查询表(translation
look-aside
buffer,TLB),可提高处理器
在任务切换时候的效率.通过在ARM920RT处理器上的实验发现,按该方法设计实现的内核可以稳定地运行在虚拟机上.关键词:地址空间;嵌入式处理器;快速上下文切换扩展;操作系统;内存管理单元中图法分类号:TP316
文献标识码:A
文章编号:1000-7024(2010)13.3003.04
Research
on
re—redirectionofoverlappedaddressspaces
Fu-yan,LIXue.min,
WUZhen.hai,LIU
YISong
(SchoolofComputerEngineeringandScience,ShanghaiUniversity,Shanghai200072,China)
Abstract:Toswitchingtaskis
improvetheperformanceofoperatingsystemkernel,whileswitchingbetweenmultipletasks,usingFCSE(fast
embeddedprocessors,re—redirectionofaddressspacesis
context
extension)ofARM920T
toa
implemented.Firstly,addressspacesof
redirected
segmentofsingle
addressspace.Secondly,thissegmentisredirecmdtophysicalmemoryspacebymemorymaria-
addressspacetophysical
gement
unit.Asinformationofaddresstranslationfromsingle
memoryaddress
spacekeepsvalid,thereis
rio
MMU(memorymanagementunit)toflushtheTLB(translationlook-aside
improved.Finallyastablekernelisimplementedonvirtualmachine.
necessaryforKey
buffer),andperformance
ofkernelcouldbe
words:address—space;embeddedprocessors;fastcontextswitchingextension;operating
system;memorymanagementunit
0引言1传统操作系统中的地址空间切换
在传统的IA32架构上的操作系统上,应用程序的用户态和核心态占据整个可以寻址的4G地址空间,系统内核为每一个应用程序在内核地址空间保留一份页表,系统内核根据这个页表把应用程序的虚拟地址空间映射到物理地址空间,如图1所示,在进程切换的时候通过写入控制寄存器CR3来切换系统当前运行程序的一级页表,~级页表也叫做页目录,CR3指向的内存位置存放一级页表。一级页表的每一个条目叫做PDE(pagedirectoryentry),它指向一个二级页表。MMU负责将程序的虚拟地址转换成实际的物理地址,并通过页表中存放的权限信息对访问进行控制。如果遇到没有映射到页或者页访问授权冲突,处理器进入缺页异常或者访问违规处理例程,由操作系统内核来处理这一错误。传统操作系统中地址空间切换到特点是,随着这个进程的换出,这个进程的地址空间对于即将换入的进程是失效的,于是操作系统内核负责进行地址空间的换入和换出,这当中必须要清空MMU中TLB的地址翻译缓存信息。
在传统的多地址空间操作系统之中,应用程序的用户态地址空间重叠。当任务切换的时候,重叠的用户态地址空间需要切换,TLB中的地址转换信息对于换入的新任务是失效信息,TLB需要被刷新,这样的时间代价很大。因此,单地址空间的概念被提出来,尤其是在那些寻址空间很大的64位处理器平台上,每一个任务占据这个64位虚拟地址空间中的一个区域,每个任务占据的区域可以看作是这个64位地址空间中的一个段,而且这些段互不重叠,进程切换也就不需要执行地址空间的切换,TLB数据保持有效,进而不必清空TLB。单地址空间系统要求任务地址空间不重叠,这就要求:①任务在编写的时候明确知道任务的加载地址,但是这显然不现实:②任务在加载的时候可以被操作系统软件重定向,这样会加重操作系统内核的负担,并且需要软件在重新
编译时候加入重定向信息。借助于AI州920T处理器的FCSE
可以实现任务地址空闾到单地址空间再到物理地址空间的二次重定向。
收稿日期:2009.07.16:修订日期:2009—10—09。
作者简介:吴贞海(1984--),男,安徽肥东人,硕士研究生,研究方向为嵌入式操作系统;
授,研究方向为计算机操作系统;
刘福岩0965--),男,河北滦南人,博士,副教
易松(1985--),
李雪敏(1985--),女,安徽宿州人,硕士研究生.研究方向为计算机操作系统、计算机图形学;
男,湖北松滋人,硕士研究生,研究方向为计算机操作系统,计算机图形学。E-maihzhhwu@shll,edu.on
万方数据
你可能喜欢
- 重定向
- ICMP重定向
- 进程地址空间
- 路由重发布
- 12星座分析
- 两个路由
- 02重定向器9页
- unix-输入输出重定向7页
- 转发 重定向2页
- Linux重定向_All3页
- 301重定向1页
- 如何使用cPanel虚拟主机面板做301重定向2页
- 物理存储器与进程逻辑地址空间的管理8页
- 进程地址空间25页
- (第四讲 物理存储器与进程逻辑地址空间的管理)8页
- 物理存储器与进程逻辑地址空间的管理10页
- 读书笔记之linux内核设计与实现(13)进程地址空间4页
- 基本概念理解进程地址空间2页
- 路由重发布6页
- 路由重发布16页
- 高职大赛培训06-路由重发布25页
- 实验:路由重发布以及虚链路和路由汇总的具体配置2页
- 路由重发布-七种发布类型2页
- 路由重发布-redistribute connected2页
- 欧洲最权威的12星座分析27页
- 欧洲最权威的12星座分析23页
- 欧洲权威12星座分析27页
- 欧洲最权威的12 星座分析21页
- 2011新特欧洲最权威的12星座分析23页
- 2012年欧洲最权威最新的12星座分析27页
- 两个路由器怎么连接11页
- 两个路由器怎么设置连接4页
- 连接两个路由器的方法6页
- 两个路由器的远程登陆5页
- 连接两个路由器2页
- 两个路由器连接的方法3页