打印

**lz说湖南人好斗,

[复制链接]
79294|559
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wxj1952|  楼主 | 2007-12-1 17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 这是一个实际应用的例子。实现目标:

1、用单CPU做一个精确的时钟。
2、以此时钟为基准,每秒钟运行一次一个500ms开销的任务,设其为F05()。
3,每分钟到达时,运行一次4个紧密关联的函数,每个运行开销700ms, 设其为F071(),F072(),F073(),F074();要求4个函数必须顺序运行。
4、为简化题目,只做秒、分2位。

要求:各函数时间开销严格,运行期间不允许打断(即不允许被中断或抢占)。

叙述一下这个题目的意思,当每分钟到达时,程序运行F071~F074,这段时间软件耗费至少700msX4=2.8秒,这样时钟的秒位肯定要丢数(因为“要求”说了,F071~F074运行必须顺序,不允许抢占。可以被调度)。怎么解决?

高手总说裸奔比OS灵活的多,我特别希望高手能实际“奔”一个简明而优雅的程序供我们欣赏/学习一下,否则总让人感觉我们国人喜欢说大话、空话,特没劲。


12月3日
hotpower 是真正有才能的人,他已经把这道题的题意和解法基本说穿了。我不用再多解释题意了:
 1、83楼: 不能打断的(函数)时间必须小于节拍时间,字谜(解决方法)实际在函数的间隙上。 
 2、N楼  只要不出现时间的误差积累,就应该"算准"。否则就别玩了。

12月4日
贴到其他贴去忘了说了,3000元求助实用程序。
别说我题意不清故意刁难谁,老板的课题就是这么出的。我没觉得他刁难我,挺清楚的。看不懂的人就不用作了。


“这道题如果OS能做到,匠人也能裸奔做到。”没错,那么请现在就做。
“裸奔高手必然也会用OS。”没错,那么请立即就做。

要是高人都放弃了,我就贴答案了。
“不是做不到,而是想不到。”

看不懂题意的人,最好保持沉默。

相关帖子

沙发
hq_y| | 2007-12-1 17:42 | 只看该作者

沙发~~~~~~~~

俺也裸奔一下~~~~~~~~~~

使用特权

评论回复
板凳
农民讲习所| | 2007-12-1 17:45 | 只看该作者

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

使用特权

评论回复
地板
hq_y| | 2007-12-1 17:46 | 只看该作者

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

使用特权

评论回复
5
农民讲习所| | 2007-12-1 17:47 | 只看该作者

我也是留个名

到此一游。

使用特权

评论回复
6
hotpower| | 2007-12-1 17:50 | 只看该作者

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

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

使用特权

评论回复
7
huangqi412| | 2007-12-1 17:53 | 只看该作者

路过

使用特权

评论回复
8
农民讲习所| | 2007-12-1 17:54 | 只看该作者

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

使用特权

评论回复
9
happystar| | 2007-12-1 17:55 | 只看该作者

沙发

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

使用特权

评论回复
10
john_light| | 2007-12-1 17:58 | 只看该作者

题目代表了什么?

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

使用特权

评论回复
11
平常人| | 2007-12-1 18:01 | 只看该作者

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

你这样写,所长都看不懂,更不用说其他人啦。

叫人裸奔,也要说清楚去哪里,总不能满街跑让人看笑话。

使用特权

评论回复
12
hotpower| | 2007-12-1 18:04 | 只看该作者

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

使用特权

评论回复
13
mohanwei| | 2007-12-1 18:23 | 只看该作者

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

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

使用特权

评论回复
14
computer00| | 2007-12-1 19:04 | 只看该作者

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

2.8s不能被打断,也就意味着你的系统时钟节拍必须大于2.8s,否则必然被时钟节拍中断打断~~~~~~~~

另外,题目本身就是矛盾的,要求2.8s不能被打断,又要求每秒执行另一个任务500ms?
除非你的CPU是双核的...

使用特权

评论回复
15
wxj1952|  楼主 | 2007-12-1 19:09 | 只看该作者

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

可以这样,可以那样,不讲空话好吗?

如果谁舍不得时间,我出3000元好了.我从不说空话.版主同意的话,我先把求助金放在他那好了.

使用特权

评论回复
16
hotpower| | 2007-12-1 19:13 | 只看该作者

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

使用特权

评论回复
17
machunshui| | 2007-12-1 19:13 | 只看该作者

楼主错了

楼主错了.

os也不过是C代码组成的,OS能完成的裸奔都可以,大不了仿一下OS吗.

问题是有些人,觉得复杂任务关系情况下,自己的裸奔比OS好是不对的.

使用特权

评论回复
18
农民讲习所| | 2007-12-1 19:13 | 只看该作者

坐在沙发上的建议

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

使用特权

评论回复
19
hotpower| | 2007-12-1 19:17 | 只看该作者

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

使用特权

评论回复
20
wxj1952|  楼主 | 2007-12-1 19:23 | 只看该作者

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


我说的是不允许抢占,4个函数是由一个长任务分解得到的。它们将被调度器顺序调度,如果这道题变成秒位任务可以优先打断这个长任务,那还值得做吗?

如果不想做,就别先挑出题的人的毛病,说出题人的语文水平太差。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

757

帖子

1

粉丝