|
 |
推荐文章 |
|
|
|
|
|
|
|
|
|
|
|
著者:Ori Pomerantz
翻译:徐辉
12.对称多处理
提高硬件性能的最简单(最便宜)的方法是在主板上增加CPU。这可以让不同CPU做不同工作(非对称多处理)或者让它们并行运行,做相同工作(对称多处理,也叫 SMP)。有效的进行飞对称多处理需要有对计算机任务执行专业知识,但在一般操作系统比如Linux中这是不可知的。另一方面,对称多处理相对容易实现。所谓相对,就是说不是真的很容易。在对称多处理环境里,所有CPU共享同一内存,那么,在一个CPU上运行的代码会影响被另一个CPU使用的内存。你就不能确保你在某一行设定的变量在下一行仍然是原来的值——另一个CPU可能在你没看到的时候改变了它。显然,不能这样编程。
在进程编程里这不是一个问题,因为在某一时刻只有一个进程在处理机上。另一方面,内核可以运行在不同CPU上的不同进程调用。
在2.0.x版中,这不是个问题,因为整个内核在一个大的连环锁中。这就是说如果一个CPU在内核中,而有另一个CPU希望进入,比如因为一个系统调用,那么它必须等前一个CPU工作完成。这使SMP很安全,但是也很低效。
在2.2.x版中,几个CPU可以同时在CPU中。这是模块编写者需要注意的问题。我已经让人给我一个SMP盒,希望本书的下一版可以有更多关于SMP的介绍。 |
|
|
|
|
|
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
|
|
|
|
|
责任编辑: 原点 |
投稿作者: 徐辉 |
|
|
信息来源: 网络 |
录入时间: 2005-4-13 |
|
|
|
| |
|