《一种基于众核处理器的操作系统研究.pdf》由会员分享,可在线阅读,更多相关《一种基于众核处理器的操作系统研究.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 8 卷第5 期河南理工大学学报(自然科学版)V 0 1 2 8N o 52 0 0 9 年l O 月J O U R N A LO FH E N A NP O L Y T E C H N I CU N I V E R S I T Y(N A T U R A LS C I E N C E)O c t 2 0 0 9一种基于众核处理器的操作系统研究吴志峰1,黄玉琪2,张建平2(1 郑州市劳动和社会保障数据管理中心,郑州4 5 0 0 0 0;2 中州大学,郑州4 5 0 0 4 4)摘要:论述了一种新型的操作系统结构,该结构在三权分立的原则下,对传统操作系统的功能进行分割与重组,让不同的功能组
2、件运行在不同的虚拟机中,利用虚拟机间的强隔离特性保证各组件的独立性,利用虚拟机问的专有通信机制实现各组件之间的协作与制约这种新型的结构解决了操作系统各组件之间互相干扰的问题和操作系统的封闭性与可扩展性问题关键词:多核处理器;操作系统;虚拟化技术;虚拟计算机;虚拟机管理器中图分类号:P 2 4 6 1文献标识码:A文章编号:1 6 7 3 9 7 8 7(2 0 0 9)0 3 0 6 0 2 0 5S t u d yo nt h eo p e r a t i n gs ys t e mb a s e do nm u l t i c o r ep r o c e s s o rW UZ h i
3、f e n g,H U A N GY u q i 2,Z H A N GJ i a n p i n 9 2(1 T h e D a t a M a n a g e m e a t C e n 船ro f Z h e n g z h o uC i t y C a b o ra n dS o c i a lS e c u r i t y,Z h e n g z h o u4 5 4 0 0 0,C h i n a;2 I n f o r m a t i o n E n g i n e e r i n gA c a-t i e i n go fZ h e n g z h o uU n i v e r
4、 s i t y,Z h e n g z h o u4 5 0 0 4 4,C h i n a;)A b s t r a c t:T h i sa r t i c l es t u d i e san e wt y p eo fo p e r a t i n gs y s t e m T h i ss y s t e ms e g m e n t sa n dr e c o m b i n e st h ef u n c t i o n so ft h et r a d i t i o n a lo p e r a t i n gs y s t e mb a s e do nt h ep r
5、i n c i p l eo ft h es e p a r a t i o no ft h r e ep o w e r s,m a k i n gd i f f e r e n tf u n c t i o n a lc o m p o n e n t sr u ni nd i f f e r e n tv i r t u a lm a c h i n e sr e s p e c t i v e l y A tt h es a m et i m e,t h es y s t e mg u a r a n-t e e st h ei n d e p e n d e n c eo fe v
6、e r yc o m p o n e n tb yt h es t r o n gi s o l a t i o np r o p e r t ya m o n gv i r t u a lm a c h i n e s,a n dr e a l i z e st h ec o o p e r a t i o na n dr e s t r i c t i o no ft h ec o m p o n e n t sb yt h ee x c l u s i v ec o m m u n i c a t i o nm e c h a n i s ma m o n gv i r t u a lm
7、 a c h i n e s T h en e wk i n do fs t r u c t u r es o l v e st h ep r o b l e mo fm u t u a li n t e r f e r e n c ea m o n gt h ec o m p o n e n t sa n dt h es e a l i n gp r o p e r t ya n ds c a l a b i l i t yo ft h eo p e r a t i n gs y s t e m K e yw o r d s:M u l t i c o r ep r o c e s s o
8、r;o p e r a t i n gs y s t e m;v i r t u a lt e c h n i q u e;v i r t u a lc o m p u t e r;v i r t u a l m a-c h i n em a n a g e rO引言目前,处理器已进入多核众核时代,而且大多数处理器都提供了对虚拟化的支持多核众核技术的出现,增加了系统中可调度的处理器数,使并行执行成为可能而虚拟化技术的出现使我们能够将l 台物理的计算机转化成多台虚拟的计算机,使得用I 台计算机模拟一种分布式环境成为可能然而,目前的操作系统仅以对称多处理机(S y m m e t r i cM u
9、 l t i P r o c e s s i n g,S M P)方式使用多核处理器,并不能充分利用多核众核处理器的并行处理能力现有虚拟化系统的设计目的也仅仅是为了能够在一台计算机上同时运行多个现有操作系统,还没有设计出充分利用多核众核和虚拟化特性的新型操作系统结构本文拟设计一种新型的操作系统结构对传统操作系统的功能进行分割与重组,利用虚拟机实现收稿日期:2 0 0 9 0 3 1 2作者简介:吴志峰(1 9 7 9 一),男,河南汝南人,助理工程师,从事信息安全研究E m a i l:k a r l l 9 7 6 1 2 6 c o r n 万方数据第5 期吴志峰等:一种基于众核处理器的操
10、作系统研究6 0 3各组件之间的协作与制约,在该结构中引入基于对象的分布式存储管理以提高存储系统的安全性,引入统一威胁管理(U n i f i e dT h r e a tM a n a g e m e n t,U T M)以提高网络系统的安全性,引入立体交叉式设备管理以提高外部设备的可靠性与可用性1操作系统面临的问题在传统的计算机系统中,操作系统是运行在硬件之上的第一层软件,它拥有最高的特权,并负责全权管理计算机系统的所有资源,包括处理器、内存、外存、网卡、其它外部设备,以及进程、文件、各种策略和配置数据等这种结构的操作系统主要存在如下一些问题1 1集各种权力于一身。体制不完善在传统结构中操
11、作系统是一个独立的实体,它既是各类政策的制定者,又是这些政策的执行者;既是各类资源的管理者j 又是这些资源的使用者从社会学的角度来说,这种集各种权力于一身的体制是不完善的,虽然它能够提高系统的整体运行效率如果系统本身存在漏洞而又被恶意利用的话,系统的权力就容易被窃取并被滥用,整个系统就容易失控,甚至崩溃这是目前计算机系统安全性、可靠性、可用性不高的一个主要原因在比较合理的操作系统结构中,权力应该被适当地划分,系统也应被分成不同的实体,使每个实体仅拥有一部分权力这些实体之间应该既相互独立而又相互制约,既相互合作而又相互监督,它们独立而又协调地工作,从而保证计算机系统安全、可靠地运行1 2 各成员
12、之间相互影响。隔离不彻底在传统结构中,操作系统也被分成不同的组成部分,如操作系统内核与用户进程,其中操作系统内核又被分成不同的子系统,如进程管理、内存管理、文件系统、设备管理等通常情况下,操作系统内核被设计成一个整体,各子系统之间并没有独立的边界,它们能够互相调用、互相影响传统操作系统中较好的隔离机制是通过进程实现的,每个进程都有自己独立的虚拟地址空间,从用户的角度看,它们是互相独立的然而,在所有进程的地址空间中其实存在着一块公共的区域,即内核,在3 2 位L i n u x 系统中,内核占用进程1 G B 的虚拟内存空间,在3 2 位W i n d o w s 系统中,内核占用进程2 G B
13、 的虚拟地址空间也就是说,从内核的角度看,各个进程之间实际上拥有大片的公共区域,它们之间的隔离是不彻底的另外,操作系统还提供了共享内存机制,允许进程之间建立共享内存区域,使进程虚拟地址空间的用户部分也可能出现重叠1 3需引入第三方代码,内核封闭性差通用操作系统必须能够支持各种各样的外部设备、文件系统、网络协议等而外部设备驱动程序、文件系统、网络协议等都是操作系统内核的重要组成部分,必须运行在内核空间(微内核除外)由于新的外部设备、文件系统、网络协议等几乎每天都在推新,因而在内核中包含所有的设备驱动程序、文件系统、网络协议等是不现实的常用的解决办法是打破内核的封闭性,允许动态地向其中插入模块这种
14、方法解决了操作系统的可扩展性、适应性问题,但又引入了可靠性与安全性问题原因是插入到内核中的设备驱动程序、文件系统、网络协议等都是第三方设计的,其代码质量难以保证、代码行为难以控制研究表明,在W i n d o w sX P 操作系统中,8 5 的系统崩溃是由驱动程序引起的;在L i n u x 操作系统中,驱动程序的出错频率是内核其余部分的3 7 倍“显然,要提高计算机系统的可靠性、安全性,就应该解决操作系统内核封闭性与可扩展性的矛盾,应该杜绝向内核中插入模块,至少应该减少向内核中插入模块的可能,同时又应该允许运行第三方的驱动程序、文件系统和网络协议1 4需要安装应用程序,环境封闭性差在计算机
15、系统使用过程中,经常需要安装新的应用程序或更新老的应用程序,而应用程序的可靠性、安全性又难以保证研究表明,对于计算机的攻击事件大多发生在用户态,很大程度上都是利用应用程序的安全漏洞发起的,如缓冲区溢出、后门攻击等一旦这种攻击成功,恶意代码将以当前用户的身份运行,它发出的所有命令都是合法的,操作系统的安全机制甚至无法觉察到恶意代码的存在。也无法阻止这类攻击另外,在传统操作系统结构中,所有的应用程序都在同一种环境中执行,具有相同的资源访问权 万方数据河南理工大学学报(自然科学版)2 0 0 9 年第2 8 卷限,而不管它们的来源是否可信执行不可信的程序很容易破坏系统的完整性,向系统中引入病毒、木马
16、等恶意程序,造成系统失效、信息泄漏等危害因此,环境的非封闭性是导致系统安全性、可靠性差的另一个主要原因1 5 演化缓慢。未充分利用处理器的新特性操作系统是十分复杂的系统软件,其设计、编码、调试的难度都非常大,因而操作系统新版本的推出周期都比较长,其结构演化的速度也比较缓慢另外,在设计操作系统,尤其是商用操作系统时,必须考虑与老版本的兼容,使老版本上的应用程序、驱动程序等能够运行在新版本之上因而,要在现有操作系统之上演化出全新的结构是很困难的,事实上,现有操作系统甚至还不能充分利用处理器的新特性如目前的处理器已出了多核甚至众核,但现有操作系统仅仅将多核处理器看成是一个对称多处理机(S y m m
17、 e t r i cM u l t i P r o c e s s i n g,S M P),它平等对待各个处理器核,按照相同的原则为其分配任务,并没有对其进行功能划分和专业分工,如让某些处理器核专门负责某项工作等,因而现有操作系统对多核、众核处理器的管理是比较粗放的再如目前的处理器已对虚拟化技术提供了硬件级的支持,可以更加方便、高效地创建和管理虚拟机,但现有操作系统利用虚拟机的目的仅仅是为了在1 台计算机上同时运行多个操作系统,并没有将这一新特征看作操作系统的基石,还没有提出基于这一特征的新型操作系统结构2实施方案2 1 操作系统结构本文设计的操作系统结构如图1 所示在纵向上,操作系统被分成
18、了2 层,虚拟机与虚拟机监控器(V M M)V M M 是直接运行在计算机硬件之上的第一层软件,处于传统操作系统的位置,控制所有的计算机硬件,包括处理器、内存、外存、网卡及其它外部设备,并实现这些硬件的虚拟化,将1 台物理计算机虚拟成多台独立的虚拟在横向上,操作系统被分成I 程l 存l 圳件Il 程l 存l 程l 件I 络II I l 象l 火I 符lI|了三组相互独立的实体,分别运l 薹l 凳l 岩l 囊|II 到鬟l 岩l 嘉l 搜|1l 岽叠悔I 墙l 馨I行在三组独立的虚拟机中管理|lI 卜l 嚣I|I l lI 卜I 嚣jI|lllI 薹|I虚拟机负责系统的决策与管理;r 盏荔磊蒯l
19、r _ 靠藏赢舜引lJ|I 麽F 下i 翮l|I o 虚拟机负责外部设备的管理l 广_ I 堕卿ll 广_【蕉嘲l I 劂i I 引辇篓l Ij与存取控制;用户虚拟机负责与I 卜剿|I 卜盏剩Ul 肖烈鑫黼H 万方数据第5 期吴志峰,等:一种基于众核处理器的操作系统研究6 0 5处理器核管理子系统负责众核处理器中各个处理器核的分配与回收,以保证各虚拟机的正常运行当处理器核数小于虚拟机数时,处理器核管理子系统将把多个负载较轻的虚拟机复用到一个处理器核上;当处理器核数大于虚拟机数时,处理器核管理子系统可以给负载较重的虚拟机分配多个处理器核,以提高这些虚拟机的运行速度,也可以暂时关闭一些处理器核,以
20、便节约能源在采用众核处理器的计算机系统中,可以将处理器核也分成三组,一组用来运行管理虚拟机,一组用来运行I O 虚拟机,另一组用来运行用户虚拟机因此,在众核处理器上,各虚拟机是真正并行运行的原则上,各虚拟机所占用的处理器核是相对固定,以减少处理器核动态分配与切换所带来的性能损失但V M M 可根据各虚拟机的负载情况,对处理器核进行一些微调,以均衡处理器核之间的负载,提高众核处理器的利用率,充分发挥各处理器核的作用内存管理子系统负责机器内存的分配与回收,以便为每个虚拟机都提供足够大的物理内存空间内存管理子系统将采用按需分配策略来管理其机器内存,以提高机器内存的利用效率,并保证各虚拟机之间物理内存
21、的隔离1 外部设备管理子系统负责外部设备的分配与回收为了简化系统设计,提高设备的访问控制能力,并充分利用现有的设备驱动程序,设备管理子系统将把全部外部设备按类直接分配给I 0 虚拟机。从而实现设备的集中控制管理虚拟机和用户虚拟机中没有物理外部设备(有虚拟设备),它们只能通过I O 虚拟机间接地使用外部设备虚拟机问通信子系统是一种通信机制,它为虚拟机之间的相互通信提供必要的支持2 2I O 虚拟机在三组虚拟机中,I O 虚拟机是最基础的,因为只有I O 虚拟机才拥有外部设备,也只有I O 虚拟机能够直接存取、操作外部设备因而,I 0 虚拟机的主体部分是一组外部设备驱动程序,包括各类块设备驱动程序
22、、各类网络设备驱动程序和字符设备驱动程序等为了提高系统的安全性,在块设备驱动程序之上增加了存储对象管理系统(充当块设备管理系统),负责块设备存储空间的管理和安全检查存储对象管理系统将普通的块设备转化成了基于对象的存储设备(O S D),它向外提供对象接口,并提供对象级的存取控制用户虚拟机和管理虚拟机以对象为单位访问I 0 虚拟机上的块设备,而且每一次访问都必须携带安全证书在网络设备驱动程序之上增加了统一威胁管理(U n i f i e dT h r e a tM a n a g e m e n t,U T M),负责来往数据包的过滤与检查,禁止非法数据包的出入在字符设备驱动程序之上也有相应的控
23、制系统,负责这些字符设备的访问控制为了解决操作系统内核的封闭性与可扩展性问题,减少不可靠驱动程序的影响,系统提供了多个I 0 虚拟机一般情况下,至少应该提供2 个I O 虚拟机,即基本I 0 虚拟机和扩展I 0 虚拟机基本I 0 虚拟机管理计算机系统中最基本的外部设备,如硬盘、显示器、键盘、鼠标等,这些设备是系统运行所必须的,其驱动程序是由操作系统提供的,并经过了严格的测试与检查,具有较高的可靠性和安全性,而且在以后的运行过程中不再改变扩展I O 虚拟机管理经常变动的外部设备,如U S B设备等扩展虚拟机中的设备驱动程序一般是动态加载的,其可靠性通常不高如此分割以后,基本I 0 虚拟机保持封闭
24、状态,以保证系统运行所需要的最基本的外部设备始终能够正常运行;扩展I O虚拟机处于开放状态,所有需要动态加载的驱动程序都运行在扩展I 0 虚拟机中,该I 0 虚拟机可能崩溃,但它的崩溃仅仅会使某些扩展设备暂时不能使用,并不会导致系统其它部分的崩溃2 3 用户虚拟机用户虚拟机是整个系统中直接与用户交互的部分,它接收用户命令,执行用户程序,使整个系统在外观和感受上与现有的操作系统完全相同但用户虚拟机的硬件被简化了,它拥有自己的处理器、内存,却没有自己的外部设备,用户虚拟机通过虚拟设备驱动程序使用I 0 虚拟机中的外部设备用户虚拟机的操作系统也被简化了,它运行所需要的大部分策略被移到了管理虚拟机上;
25、它仅需要管理几个非常简单的虚拟设备和它们的驱动程序;它的文件系统仅剩余一个接口等用户虚拟机使用策略却不能修改策略,使用设备但不拥有设备,使用文件但不管理文件为了进一步提高系统的安全性和可靠性,系统中提供了一组用户虚拟机可以将用户虚拟机分为两类,即私密用户虚拟机和开放用户虚拟机私密用户虚拟机是封闭的系统,不与外界交互,仅运行 万方数据河南理工大学学报(自然科学版)2 0 0 9 年第2 8 卷封闭的应用程序,如办公软件等,处理高安全性工作开放用户虚拟机是开放的系统,需要经常与外界交互,运行开放的应用程序,如浏览器等,处理一般性的工作原则上,私密用户虚拟机中不允许插入任何模块,而开放用户虚拟机中则
26、允许插入内核模块,如文件系统、网络协议等用户可以根据需要动态创建、撤销用户虚拟机,各用户虚拟机的运行策略和处理能力由管理虚拟机配置在管理虚拟机的管理下,私密用户虚拟机可以存取开放用户虚拟机的文件,但开放用户虚拟机仅能访问自己的文件开放用户虚拟机可能出现故障,但其故障不会对系统其它部分造成破坏性影响将用户虚拟机分成两类,从另一方面解决了操作系统的封闭性与可扩展性问题,提高了系统的安全性和可靠性2 4 管理虚拟机管理虚拟机是整个系统管理的核心,它负责管理整个操作系统的运行管理虚拟机内包括策略管理、设备管理、虚拟机管理、安全管理和元数据管理等策略管理系统负责管理整个操作系统运行所需要的各种策略,包括
27、存储对象的存取策略、网络数据包的过滤策略、外部设备的分配策略和访问控制策略、系统资源的分配策略、用户虚拟机的创建与运行策略等虚拟机管理系统负责管理系统中的用户虚拟机和I O 虚拟机,如虚拟机的动态创建与销毁、虚拟机资源的分配、虚拟机运行策略的维护、虚拟机运行状态的监控等设备管理系统负责管理I 0 虚拟机及其中的各类外部设备,包括设备驱动程序的加载、I O 虚拟机的监控与重启、外部设备的分配、外部设备故障后的隔离等;元数据管理系统负责管理文件系统的名字空间,即目录树,实现文件系统的管理操作,如文件或目录的创建、删除、换名等,并负责文件路径名的解析和对象安全证书的发放安全管理系统负责操作系统的安全
28、监控,如系统运行日志管理、入侵检测等“3 与用户虚拟机相同,管理虚拟机也没有外部设备,操作系统也被简化,甚至可以不含网络协议3结论根据本文上述技术路线,在开源X e n 的基础上,实现了“三权分立”的虚拟机操作系统,实现了管理虚拟机、I O 虚拟机和用户虚拟机在本操作系统系统中,在以下方面具有创新性:(1)将三权分立思想引入到操作系统结构中,在虚拟化技术的基础上,提出了一种新型的桌面操作系统结构该结构可以较好地适应众核处理器的特点,使系统具有更好的安全性、可靠性、可用性和可扩展性(2)将基于对象的存储设备(O S D)和基于对象的分布式并行文件系统引入到操作系统结构中,提高了存储系统的安全性,
29、也提高了外存空间的利用率(3)提出了全方位、立体交叉式的设备管理思想,提高了系统的可靠性和可用性(4)将用户虚拟机分成私密的和开放的,将设备虚拟机分成基本的和扩展的,较好地解决了操作系统的封闭性和可扩展性问题参考文献:1 E M I L I A N OB E T T I,D A N I E LP I E R R EB O V E TtM A R C OC E S A T I,e ta 1 H a r dr e a l t i m ep e r f o r m a n c e si nm u h i p r o-c e s s o r e m b e d d e ds y s t e m su
30、s i n gA S M P l i n u x J J o u r n a lo nE m b e d d e dS y s t e m s,2 0 0 8,1 0 8:7 7 2 P A U L IB A R H A M,B O R I SD R A G O V I C,K E I RF R A S E R,e ta 1 X e na n dt h ea r to fv i r t u a l i z a t i o n R 2 0 0 3 3 W H I T A K E RA,S H A WM,G R I B B L ES,e ta l。D e n a l i:l i g h t w e
31、 i g h tv i r t u a lm a c h i n e sf o rd i s t r i b u t e da n dn e t w o r k e dA p p l i c a t i o n s C P r o c e e d i n g so ft h eU S E N I XT e c h n i c a lC o n f e r e n c e 2 0 0 2 4 E D O U A R DB U G N I O N,S C O T TD E V I N E,K I N S H U KG O V I L,e ta 1 D i s c o:r u n n i n gc
32、o m m o d i t yo p e r a t i n gs y s t e m so ns c a l a b l em u l t i p r o c e s s o r s R 1 9 9 7(责任编辑李文清)万方数据一种基于众核处理器的操作系统研究一种基于众核处理器的操作系统研究作者:吴志峰,黄玉琪,张建平,WU Zhi-feng,HUANG Yu-qi,ZHANG Jian-ping作者单位:吴志峰,WU Zhi-feng(郑州市劳动和社会保障数据管理中心,郑州,450000),黄玉琪,张建平,HUANG Yu-qi,ZHANG Jian-ping(中州大学,郑州,450044
33、)刊名:河南理工大学学报(自然科学版)英文刊名:JOURNAL OF HENAN POLYTECHNIC UNIVERSITY(NATURAL SCIENCE)年,卷(期):2009,28(5)参考文献(4条)参考文献(4条)1.EDOUARD BUGNION;SCOTT DEVINE;KINSHUK GOVIL Disco:running commodity operating systems on scalablemultiprocessors 19972.WHITAKER A;SHAW M;GRIBBLE S Denali:lightweight virtual machines for distributed and networkedApplications 20023.PAULl BARHAM;BORIS DRAGOVIC;KEIR FRASER Xen and the art of virtualization 20034.EMILIANO BETTI;DANIEL PIERRE BOVET;MARCO CESATI Hard real-time performances in multiprocessor-embedded systems using ASMP-linux 2008 本文链接:http:/
限制150内