【 在 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) 的大作中提到: 】
: 在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个
: 短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不
: 就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时
: 间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处
: 是什么呢?
: 如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务,
: 应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线
: 程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个
: 短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内
: 核来管理这些中断信号?还是你说的这个程序本身就是内核呢?
: 我觉得这个流程就好像是
: ...................
--
=====================================================================
[ |