wxj1952 发表于 2007-12-1 17:29

一道题终结拥OS与反OS之争

&nbsp;这是一个实际应用的例子。实现目标:<br /><br />1、用单CPU做一个精确的时钟。<br />2、以此时钟为基准,每秒钟运行一次一个500ms开销的任务,设其为F05()。<br />3,每分钟到达时,运行一次4个紧密关联的函数,每个运行开销700ms,&nbsp;设其为F071(),F072(),F073(),F074();要求4个函数必须顺序运行。<br />4、为简化题目,只做秒、分2位。<br /><br />要求:各函数时间开销严格,运行期间不允许打断(即不允许被中断或抢占)。<br /><br />叙述一下这个题目的意思,当每分钟到达时,程序运行F071~F074,这段时间软件耗费至少700msX4=2.8秒,这样时钟的秒位肯定要丢数(因为“要求”说了,F071~F074运行必须顺序,不允许抢占。可以被调度)。怎么解决?<br /><br />高手总说裸奔比OS灵活的多,我特别希望高手能实际“奔”一个简明而优雅的程序供我们欣赏/学习一下,否则总让人感觉我们国人喜欢说大话、空话,特没劲。<br /><br /><br />12月3日<br />hotpower&nbsp;是真正有才能的人,他已经把这道题的题意和解法基本说穿了。我不用再多解释题意了:<br />&nbsp;1、83楼:&nbsp;不能打断的(函数)时间必须小于节拍时间,字谜(解决方法)实际在函数的间隙上。&nbsp;<br />&nbsp;2、N楼&nbsp;&nbsp;只要不出现时间的误差积累,就应该&quot;算准&quot;。否则就别玩了。<br /><br />12月4日<br />贴到其他贴去忘了说了,3000元求助实用程序。<br />别说我题意不清故意刁难谁,老板的课题就是这么出的。我没觉得他刁难我,挺清楚的。看不懂的人就不用作了。<br /><br /><br />“这道题如果OS能做到,匠人也能裸奔做到。”没错,那么请现在就做。<br />“裸奔高手必然也会用OS。”没错,那么请立即就做。<br /><br />要是高人都放弃了,我就贴答案了。<br />“不是做不到,而是想不到。”<br /><br />看不懂题意的人,最好保持沉默。<br />

hq_y 发表于 2007-12-1 17:42

沙发~~~~~~~~

俺也裸奔一下~~~~~~~~~~https://bbs.21ic.com/upfiles/img/200712/200712117449370.jpg

农民讲习所 发表于 2007-12-1 17:45

题都不会出。先沙发~~~~~~~~

hq_y 发表于 2007-12-1 17:46

向所长说声抱歉了;强贴要留名啊~~~~~~顾不得了~~~~~

农民讲习所 发表于 2007-12-1 17:47

我也是留个名

到此一游。

hotpower 发表于 2007-12-1 17:50

晕!!!所长抢沙发的水平太差了~~~哈哈~~~俺不参与此题目

因为俺2个都赞成,要看实际应用和硬件配置等问题...

huangqi412 发表于 2007-12-1 17:53

路过

农民讲习所 发表于 2007-12-1 17:54

俺也不出手,最近心情不错,没必要去砸砖。

happystar 发表于 2007-12-1 17:55

沙发

那个楼盖的好高,嘿嘿,我看了一下阅读了8888次,特记录:<br />○&nbsp;带os到底比不带os有哪些优势?&nbsp;(352字节)&nbsp;&nbsp;doob&nbsp;306&nbsp;8888&nbsp;11-30&nbsp;22:15&nbsp;

john_light 发表于 2007-12-1 17:58

题目代表了什么?

最多也就是某种(或几种)需求,就能决定生杀?

平常人 发表于 2007-12-1 18:01

还是画个坐标图描述一下你的要求吧

你这样写,所长都看不懂,更不用说其他人啦。<br /><br />叫人裸奔,也要说清楚去哪里,总不能满街跑让人看笑话。

hotpower 发表于 2007-12-1 18:04

只要秒脉冲不丢失,俺"黑奔"都不在话下~~~

https://bbs.21ic.com/upfiles/img/200712/20071211840452.jpg

mohanwei 发表于 2007-12-1 18:23

系统工程……实现的方法有N种,不同水平不同资源下

出来的最优方案是不一样的……明白这一点就好了。<br /><br />

computer00 发表于 2007-12-1 19:04

这个OS更加做不到了,除非你不让你OS调度...

2.8s不能被打断,也就意味着你的系统时钟节拍必须大于2.8s,否则必然被时钟节拍中断打断~~~~~~~~<br /><br />另外,题目本身就是矛盾的,要求2.8s不能被打断,又要求每秒执行另一个任务500ms?<br />除非你的CPU是双核的...

wxj1952 发表于 2007-12-1 19:09

还是没看到一个不说空话的.

可以这样,可以那样,不讲空话好吗?<br /><br />如果谁舍不得时间,我出3000元好了.我从不说空话.版主同意的话,我先把求助金放在他那好了.

hotpower 发表于 2007-12-1 19:13

哈哈~~~说钱就见外了~~~但是菜农对此不感兴趣~~~

<br /> 相关链接:<a href='http://www.**/blog/hotpower/'>http://www.**/blog/hotpower/</a>

machunshui 发表于 2007-12-1 19:13

楼主错了

楼主错了.<br /><br />os也不过是C代码组成的,OS能完成的裸奔都可以,大不了仿一下OS吗.<br /><br />问题是有些人,觉得复杂任务关系情况下,自己的裸奔比OS好是不对的.

农民讲习所 发表于 2007-12-1 19:13

坐在沙发上的建议

建议LZ用OS做个程序先摆上来,让那些大佬用黑体实现你的功能。这样互相不扯皮,沙发也舒服。

hotpower 发表于 2007-12-1 19:17

OS和裸奔根本的不同就是任务的调度和切换方式

wxj1952 发表于 2007-12-1 19:23

我知道圈圈会提这样的问题。

<br />我说的是不允许抢占,4个函数是由一个长任务分解得到的。它们将被调度器顺序调度,如果这道题变成秒位任务可以优先打断这个长任务,那还值得做吗?<br /><br />如果不想做,就别先挑出题的人的毛病,说出题人的语文水平太差。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: **lz说湖南人好斗,