也读SMP,AMP操作系统的差异

http://blog.163.com/huang_bp/blog/static/123119837200911305045437/


随着多核的普及,SMP (symmetric multiprocessing)的概念也不断进入到大家的视线,大家通常会有这样的疑问,与SMP对应的是什么呢?他们有什么区别呢?

首先来说,SMP是多核cpu发展后才提出的一个概念,与之对应的是AMP(asymmetric mulitiprocessing)。这连个之间有什么不同呢?google之后发现,通常的答案是这样的:

SMP是对称多处理。
AMP是指非对称多处理,非对称多处理是指各核的结构并非对称。

都是直接翻译过来的,看着还是有点晕。无意中读到了《操作系统概念 Operatiing System Concepts》第七版,其中的描述,让我豁然开朗。下面摘录下来与大家共享:

The multiple-processor systems in use today are of two types. Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A master processor controls the system; the other processors either look to the master for instruction or have predefined tasks. The scheme defines a master-slave relationship. The master processor schedules and allocates work to the slave processors.

The most common systems use symmetric multiprocessing (SMP), in which each processor performs all tasks within the operating system. SMP means that all processors are peers; no master-slave relationship exists between processors.

看到这儿问题就比较清楚了,SMP和AMP的主要差异在于各个处理器之间是对等的还是有主从关系的。

目前我们接触的SMP的模型比较多,例如:pc机上运行的SMP的Linux、Solaris等。多核厂家例如:Tilera, Freescale等也都是提供了SMP的Linux给用户使用。

什么情况下会用AMP呢?SunOS Version 4支持AMP,但是我没有使用过。但是按照上述对AMP的定义,现在很多嵌入式厂家和应用中似乎已经在使用类似AMP的操作系统模型;数通中的控制平面运行Linux,而数据平面运行在一个简化的平台上(裸的cpu平台上)直接实现对I/O的控制,控制平面可以实现对数据平面任务的调度和管理;另外就是一个cpu上,让不同的核同时运行Linux,vxWorks等多个操作系统。

从目前来看SMP是一个主流,但是随着云计算时代的到了,似乎AMP也将会逐渐由展露风采的机会,让我们拭目以待。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值