ba_wang_mao 发表于 2008-12-26 13:15:36

【转贴】RTOS实时内核的一个比喻【恢复】

 小偷割你包,你发现之,小偷叫嚣,你怒起,暴打之,其同伙赶到,狂殴,围观者众,无人阻之,股中数刀,血流如注,幸110赶到,群贼散,方赴医,不巧,医院主刀者仅一人,正为一老翁抠鸡眼,前有慢性阑尾炎患者待割.

1.若医院为前后台系统,你惨了,得等医生剜了老翁鸡眼,割了阑尾炎,才能给你缝伤口,如果你动脉被割,等死吧.

2.若医院为协作式(不可剥夺型)内核系统,你得等医生剜了老翁鸡眼才能给你缝伤口,你得祈求上天保佑医生剜鸡眼手艺高超,动作麻利,刀到鸡眼除.

3.若医院为抢占式(可剥夺型)内核系统,你有福气了,医生马上暂停剜鸡眼,给你治伤.

这就是抢占式实时内核的好处.

如果医院有2个以上主刀的,那就更好了,这就是多内核的好处,前提是医院的任务调度系统要高效.这就是为啥双核奔腾D上装windows2003比windowXP快很多的原因.











         

155107149 发表于 2008-12-28 14:09:49

以前有个抢厕所的比喻。。。

rainyss 发表于 2008-12-28 14:13:19

哈哈,抢厕所的那个我也独立创作过一个版本(在看到网上他人版本前)

楼上把你的版本发上来.



楼主的比喻很过瘾

本贴被 rainyss 编辑过,最后修改时间:2008-12-28,14:14:54.

zcllom 发表于 2008-12-28 14:30:39

前面与小偷纠缠的剧情铺设的太长了。呵呵,比喻的惟妙惟俏,想象力比知识更重要!

bluelucky 发表于 2008-12-28 22:50:42

很有创意!再接下去比喻一下死锁:

倘若给老翁割鸡眼占用了板床,待会还需要定定向灯;而给你止血也需要板床和定向灯。给你止血时,先把定向灯分配给了你,但由于板床已给老翁,老翁那里无法下床,只好先继续给老翁割鸡眼。过了一会,老翁那里需要定向灯,但定向灯已给了你,于是老翁那边也只好等待。这样,你在等老翁,老翁也在等你。后来,外科主任来了,他实在看不下去,就取消了你俩的治疗过程并重新开始,才使你有机会优先一齐获得医疗器具和外科医生,并为你止血。

METAL_MAX 发表于 2008-12-28 23:07:23

寓教于乐!

bluelucky 发表于 2008-12-29 00:53:17

再比喻一下“优先级反转”

倘若板床只有一张,但是有两盏定向灯。在分配定向灯给你后,由于老翁已占用板床,只好等老翁割鸡眼结束。这时阑尾炎病人突然疼痛难忍,使得阑尾炎病人的情况比老翁更危急。割阑尾需要手术台和无影灯,这两件都空闲可用,于是可以顺利做阑尾炎手术,你只好等待阑尾手术先完成(优先级反转:高优先级被中优先级反转)。后来,外科主任来了,他实在看不下去,就说:“老翁的病影响到了抢救失血病人,因此治疗老翁的病也和抢救失血病人一样紧急 ”,这样才使老翁优先继续治疗(优先级继承)。幸好老翁良心发现让出了板床,才使医生得以为你止血

418425051 发表于 2008-12-29 09:47:21

@@@@@@$$^^&*

xhrabbit 发表于 2009-3-11 14:17:02

哈哈,好玩儿
刚开始看了一些概念性的东西,大家这样一比喻可以加深理解,谢谢啦

dzyong 发表于 2009-3-11 22:12:59

快乐操作系统!!!!!!!!!

ddcour 发表于 2010-2-23 23:00:20

如果裸奔把事件都考虑好了,而在实际运行工程中,一个循环的时间,比你系统的心跳时间都快,上面的比喻,容易让人误解。
我觉得,上系统,有些事情别人帮你做了,自己可以省些工作量了,也好管理。

huanggua 发表于 2010-3-15 17:28:09

.若医院为前后台系统,你惨了,得等医生剜了老翁鸡眼,割了阑尾炎,才能给你缝伤口,如果你动脉被割,等死吧.
---------------------------------------------------------------------------------------------------

这个不恰当吧?
单片机程序的任务功能是一般固定的,即使是前后台,这个肯定也能处理好。
应该是:

出现紧急外科手术(定时器中断或者事件触发中断),医院的前台护士将打断医生的“剜鸡眼”,告诉医生先处理外科手术(中断程序中处理高优先级的功能)

这样做有点繁琐,而且要求单片机支持不同的中断优先级和中断嵌套。
页: [1]
查看完整版本: 【转贴】RTOS实时内核的一个比喻【恢复】