标题:
前后台系统讨论 转
[打印本页]
作者:
luoman
时间:
2010-8-16 18:17
标题:
前后台系统讨论 转
前后台系统讨论 转
这其实就是OSI七层标准的层间接口吧,我想,比如我做过的遥控接受程序可能与此类似
下层(可以在中断中)循环的接收解码每一个位,当解码完一个完整的字后,设置标志,和
数据缓冲区。这一层只干这些,不管别的。
上层循环监测标志位和缓冲区,发现数据以后分支处理。可以在向上分层
相对的就分别是foreground loop和background loop.
我看《计算机网络》那本经典书的理解也是这个思想
作者:
luoman
时间:
2010-8-16 18:18
FROM: 210.52.211.162]
发信人: wangyyff (郁闷的大面瓜), 信区: Embedded
(Thu Nov 8 08:22:41 2001)
我的理解和你的好像不太一样耶,
前后台这种概念在没有操作系统的嵌入式系统里讲的很多,并不仅仅是限制在网络应用
下面引述邵老师的一段话:
前后台系统是指不使用实时操作系统的嵌入式应用程序。一般做法是,写一个无限循环
的程序
,在程序中查询每个事件是否发生,每个任务是否具备运行条件,如果是,则处理这个
事件或执行这个任务。这可以看成是一个后台程序。
而系统对中断的响应可以看成是前台程序,中断的打入表示某事件的发生,在中断服务
子程序中,一般对中断做一些简单的处理,然后给出一个某事件发生了的标志,待后台
程序来处理。后台可以叫作任务级,前台叫作中断级。
作者:
luoman
时间:
2010-8-16 18:19
【 在 flyking (小排) 的大作中提到: 】
: 这其实就是OSI七层标准的层间接口吧,我想,比如我做过的遥控接受程序可能与此类似
: 下层(可以在中断中)循环的接收解码每一个位,当解码完一个完整的字后,设置标志,和
: 数据缓冲区。这一层只干这些,不管别的。
: 上层循环监测标志位和缓冲区,发现数据以后分支处理。可以在向上分层
: 相对的就分别是foreground loop和background loop.
: 我看《计算机网络》那本经典书的理解也是这个思想
--
=====================================================================
[FROM: 203.93.105.209]
发信人: hongchen (kissing-fire), 信区: Embedded
(Thu Nov 8 09:58:44 2001)
【 在 wangyyff (郁闷的大面瓜) 的大作中提到: 】
在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个
短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不
就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时
间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处
是什么呢?
如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务,
应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线
程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个
短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内
核来管理这些中断信号?还是你说的这个程序本身就是内核呢?
我觉得这个流程就好像是
中断信号1,2,3。。。->程序,得到标志位或状态字->启动线程->内核管理线程
那么为什么不直接
中断信号1,2,3。。。->内核->启动和管理线程
--
[FROM: 166.111.60.132]
发信人: flowerwind (windflower), 信区: Embedded
(Thu Nov 8 12:14:18 2001)
能不能举个实际的例子
--
[FROM: 166.111.156.224]
发信人: wangyyff (郁闷的大面瓜), 信区: Embedded
(Thu Nov 8 12:53:09 2001)
这根本就不是操作系统,只是最简单的单片机程序,
扯这么多大理论出来干啥?受不了你
【 在 hongchen (kissing-fire) 的大作中提到: 】
: 在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个
: 短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不
: 就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时
: 间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处
: 是什么呢?
: 如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务,
: 应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线
: 程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个
: 短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内
: 核来管理这些中断信号?还是你说的这个程序本身就是内核呢?
: 我觉得这个流程就好像是
: ...................
--
=====================================================================
[
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0