云联天下首页 |  登陆 |  注册 |  密码找回 |  关于我们 | 加入收藏 
首页技术资料系统/服务器→FreeBSD 5.0新特性--下一代SMP支持 【字号: 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)

FreeBSD 5.0新特性--下一代SMP支持

网址来源:http://www.kehui.net发布时间: 2007-04-10 02:06:35












1.5 FreeBSD 5.0新特性


FreeBSD在2001年的进展并不令人十分满意,由于一些新特性的开发复杂性要远远超过预期,以及一些商业操作的影响,预计于2001年底发布的FreeBSD 5.0已经推迟到了2002年9月份,这些因素就使得目前FreeBSD的正式版本4.x缺乏一些新的特性。事实上FreeBSD仍然处于不断发展当中,尤其是下一个版本:FreeBSD 5.0,增加了相当丰富的新特性,人们对于将要发布的FreeBSD 5.0寄予了很大的期望。


但是由于 FreeBSD开发小组采取的比较保守的态度,不急于将正在开发的5.0版本发布出去,喜欢尝新的用户只能通过CVS的方式更新源代码来升级到FreeBSD 5.0,因此很多人无法了解到FreeBSD 5.0的有关特性。即使FreeBSD 5.0正式发布之后,其第一个版本FreeBSD 5.0的重心,仍然将位于系统稳定性等方面,真正性能方面的优化要等待FreeBSD 5.1正式发布之后了。因此,目前安装FreeBSD 5.0,主要目的还只是对于新特性的体现,以及对新系统的综合测试。


综合有关资料和安装实验,初步可以认为, FreeBSD 5.0不会令人失望,它对系统内核做了巨大的改变,可以说这将是继FreeBSD 2.2.x之后的又一次相当大的升级改动,这些改变必将使系统的整体性能更为优秀,尤其是在高端服务器上,它的表现将更为优异。


1.5.1 下一代SMP支持


对于高端服务器来讲,不再是单处理器的系统,而是使用了多个中央处理器共同执行计算任务。目前,服务器通常使用的是 SMP方式,就是说多个处理器处于等价的地位,可以访问同样的内存空间,有相同的机会同时处理计算任务。因此对于SMP系统,原则上就可以将多个计算任务同时分配给多个处理器同时进行,达到提高系统性能的目的。


然而,事情总不是那么简单的,因为如果希望计算任务能够被很好的并行处理,那么计算任务应该能划分为很多个互不相关的子任务,这样才能同时提供给多个处理器进行处理,满足并行处理的需要。如果计算任务不能划分为这样的多个子任务,这样就可能出现一个处理器工作的时候,另一个处理器由于必须等待而处于空闲状态的情况,这样,系统性能就不能像理想中的那样成倍增加。


由于 Unix本身是多任务的,系统本身就存在多个进程,最简单的考虑是每个处理器可以处理一些进程对应的任务,达到并行处理的目的。然而,这些进程可以通过系统调用进入内核空间执行任务,内核本身也会执行相应的处理任务,当计算任务进入内核当中,问题就比较复杂了。


因为传统的 Unix的内核是不可抢占的,一个内核任务和用户进程任务是不同的,一旦执行一个内核任务,就必须等待这个任务执行完毕才能执行下一个内核任务。例如硬件中断处理,由于硬件资源的唯一性,必须等待一个处理任务处理完毕之后,才能进行下一个中断处理。但事实上很多内核任务还是可以同时处理的,例如对不同硬件的处理等等。因此如果在Unix中增加SMP支持,就需要解决这个内核的计算任务的并行化问题。


并行化的关键就是对一些硬件资源进行加锁保护,以防止对同一个资源的并发访问,导致数据错误。在目前的 FreeBSD系统中,采取的是比较简单而且保守的策略,就是说对资源采用排他锁的方式进行保护,一但内核任务出现冲突,就进行锁定,而不管系统中是否还存在其他可以并行执行的任务。这种排他锁的做法虽然比较简单,但由于大多数情况都是用户进程的并行处理,内核操作的冲突比较少,还是能够满足并行处理的要求的。但在更复杂的情况下,例如存在大量系统调用或内核操作的情况下,这种简单的策略就造成了很多本可以并行处理的内核操作不得不顺序进行,使得系统的性能无法成倍的提升。


FreeBSD的这种简单化的策略就使得目前版本的FreeBSD在高端服务器上的性能表现上并不是十分理想。因此在FreeBSD 5.0系列中,对于SMP的支持将完全重写,这一部分工作称为SMPng,它将参考商业的BSD/OS中的部分优点,并移植BSD/OS中的一些代码,从而使得对SMP的支持更为优秀。


SMPng需要完成的目标就是能够实现内核任务或中断处理的可并发执行,以充分利用多处理器的能力,当然这不可能在FreeBSD 5.0中完全解决,但5.0将提供一个很好的开始。首先需要完成的工作就是使用更精细的锁定策略,很多操作系统的锁定机制要比FreeBSD要好,例如在BSD/OS中,当一个处理器处理的内核任务不能执行时,该处理器可以去执行其他的处理任务,而不是简单的锁定。


但在 SMPng中,所完成的工作事实上将更复杂,SMPng将保留原来系统的SMP支持中的排他锁方式用来支持目前存在的内核处理,但添加了更复杂的调度锁,以支持多处理器处理。进行锁定处理的关键是资源的唯一性,一些资源在一个时间只能被一个任务进行处理,否则就可能发生不一致的问题,而如果将这个只能被唯一访问的资源改变为多路复用器,多个计算任务就可以同时访问它了,SMPng的调度锁的实质就是这个目的。因此,接下来的工作就是查看所有的多处理器相关的内核代码,将可能冲突的资源更改为新的调度锁。


此外, SMPng中还要改善中断处理例程,传统的Unix中断处理不可被中断,这样就不适合SMP的情况。SMPng中将改变中断处理例程,使其具备上下文的属性,使得中断处理例程可以被再次中断和重新进入。SMPng的这些复杂的工作,将使得中断处理和其他内核操作中互斥的部分降低到最少,达到内核任务可以并行执行的目的。显然,SMPng的工作将明显改善FreeBSD对于SMP的支持,改善FreeBSD在高端服务器系统上的性能。


爱妮 

相关新闻
v FreeBSD如何保存和使用内核更改信息 2007-04-10 02:06:47
v 从网络安装最新的FreeBSD-Stable 2007-04-10 02:12:14
v 在freeBSD下编译linux kernel 2007-04-10 02:14:33
v 如何看FreeBSD的系统日志 2007-04-10 02:18:13
v 如何搞定服务器 2016-02-23 22:24:46
  最新新闻
智慧家居
智慧家居颠覆传统智能家居
智慧云谷让智能家居变成有智慧的
智慧云谷引领智慧家居新生活
科技改变生活 智慧云谷智慧家居系
智慧家居领航者,智慧云谷助你玩
智能家居如何赢得市场美誉度?
智慧云谷智慧家居:创业者有无限
WiFi智能家居你还在用?这样的智
互联网+助推智能家居产业
智慧云谷为您打造真正的智能家居
智能家居产业需要的不是单品,而
新家如何选择开关?智慧云谷iWis
智能传感器-世界首款“智”为你的
智慧云谷开关智能安防智能空气质
智能开关品牌,如何选择智能开关
秋季干燥,智慧家居温湿度传感器
传感器助力智慧家居 感知爱家
iWiscloud智能触摸开关缔造家居装

  最新帖子
 ※室内空气污染的危害及  [sensor]
 ※超声波风速传感器在生  [sensor]
 ※这么冷清  [gabc111]
 ※手机APP操作有问题  [ssy11407]
 ※智慧云谷智慧家居将在  [cici]
 ※上传下载  [cici]
 ※下载智慧家居  [apple2008]
 ※秋季干燥,智慧家居温  [apple2008]
 ※智慧家居紧扣热点 安全  [apple2008]
 ※办公大楼如何智慧化管  [apple2008]
 ※智慧云谷工业自控的优  [apple2008]
 ※传感器助力智慧家居 感  [apple2008]
 ※智能开关品牌,如何选  [apple2008]
 ※智慧云谷开关智能安防  [apple2008]
 ※没有专业人员,如何安  [apple2008]
 ※烟台智慧云谷董事长任  [apple2008]
 ※互联网+助推智能家居产  [apple2008]
 ※WiFi智能家居你还在用  [apple2008]
 ※智慧云谷智慧家居:创  [apple2008]
 ※智能家居如何赢得市场  [apple2008]
钯碳回收 硝酸银回收 银浆回收 银焊条回收 回收银浆 氯化钯回收 氯化钯回收 氧化钯回收 回收硝酸钯 钯水回收价格 海绵钯回收 钯炭回收价格 回收镀金板 深圳钯碳回收 镇江氯化钯回收 杭州钯浆回收 银浆回收多少钱 回收钯碳公司 硝酸银的价格 那里有回收金 氯化钯回收价格 江苏擦银布回收 硝酸银价格 德州钯粉回收 银铜回收 回收钯粉 回收铂碳催化剂 佛山钯碳回收 金盐回收价格 海绵钯回收 钯碳高价回收 钯回收价格 钯炭回收