📄 83.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://202.112.58.200"><font face="黑体"><big><big>Tsinghua</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> 嵌入式系统 (BM: turbolinux jacobw) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="58.htm">上一层</a>][<a href="84.htm">下一篇</a>]
<hr><p align="left"><small>发信人: flyking (小排), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Wed Nov 7 23:20:44 2001) <br>
<br>
这其实就是OSI七层标准的层间接口吧,我想,比如我做过的遥控接受程序可能与此类似 <br>
下层(可以在中断中)循环的接收解码每一个位,当解码完一个完整的字后,设置标志,和 <br>
数据缓冲区。这一层只干这些,不管别的。 <br>
上层循环监测标志位和缓冲区,发现数据以后分支处理。可以在向上分层 <br>
相对的就分别是foreground loop和background loop. <br>
我看《计算机网络》那本经典书的理解也是这个思想 <br>
<br>
【 在 flowerwind (windflower) 的大作中提到: 】 <br>
: 9. Some embedded systems have a "foreground loop" and a "background loop" o <br>
: f execution. Provide examples of actions typically performed in: <br>
: (a) The "foreground loop" <br>
: (b) The "background loop" <br>
<br>
<br>
-- <br>
起初,神创造天地。地是空虚混沌,渊面黑暗;神的灵运行在水面上。 <br>
神说:"要有光"。就有了光。神看光是好的,就把光暗分开了。神称光 <br>
为"昼",称暗为"夜"。 <br>
<br>
<br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.52.211.162] <br>
发信人: wangyyff (郁闷的大面瓜), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 08:22:41 2001) <br>
<br>
<br>
我的理解和你的好像不太一样耶, <br>
前后台这种概念在没有操作系统的嵌入式系统里讲的很多,并不仅仅是限制在网络应用 <br>
<br>
下面引述邵老师的一段话: <br>
前后台系统是指不使用实时操作系统的嵌入式应用程序。一般做法是,写一个无限循环 <br>
的程序 <br>
,在程序中查询每个事件是否发生,每个任务是否具备运行条件,如果是,则处理这个 <br>
事件或执行这个任务。这可以看成是一个后台程序。 <br>
而系统对中断的响应可以看成是前台程序,中断的打入表示某事件的发生,在中断服务 <br>
子程序中,一般对中断做一些简单的处理,然后给出一个某事件发生了的标志,待后台 <br>
程序来处理。后台可以叫作任务级,前台叫作中断级。 <br>
<br>
【 在 flyking (小排) 的大作中提到: 】 <br>
: 这其实就是OSI七层标准的层间接口吧,我想,比如我做过的遥控接受程序可能与此类似 <br>
: 下层(可以在中断中)循环的接收解码每一个位,当解码完一个完整的字后,设置标志,, <br>
: 数据缓冲区。这一层只干这些,不管别的。 <br>
: 上层循环监测标志位和缓冲区,发现数据以后分支处理。可以在向上分层 <br>
: 相对的就分别是foreground loop和background loop. <br>
: 我看《计算机网络》那本经典书的理解也是这个思想 <br>
<br>
<br>
-- <br>
===================================================================== <br>
新域名启动: <br>
英文版:http://www.cfly.org <br>
中文版:http://wangyunfei.yeah.net <br>
<br>
ARM (32位RISC) + RTEMS (完全FREE的军用操作系统), <br>
<br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 203.93.105.209] <br>
发信人: hongchen (kissing-fire), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 09:58:44 2001) <br>
<br>
<br>
【 在 wangyyff (郁闷的大面瓜) 的大作中提到: 】 <br>
: 我的理解和你的好像不太一样耶, <br>
: 前后台这种概念在没有操作系统的嵌入式系统里讲的很多,并不仅仅是限制在网络应用 <br>
: 下面引述邵老师的一段话: <br>
: 前后台系统是指不使用实时操作系统的嵌入式应用程序。一般做法是,写一个无限循环 <br>
: 的程序 <br>
: ,在程序中查询每个事件是否发生,每个任务是否具备运行条件,如果是,则处理这个 <br>
: 事件或执行这个任务。这可以看成是一个后台程序。 <br>
: 而系统对中断的响应可以看成是前台程序,中断的打入表示某事件的发生,在中断服务 <br>
: 子程序中,一般对中断做一些简单的处理,然后给出一个某事件发生了的标志,待后台 <br>
: 程序来处理。后台可以叫作任务级,前台叫作中断级。 <br>
在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个 <br>
短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不 <br>
就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时 <br>
间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处 <br>
是什么呢? <br>
如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务, <br>
应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线 <br>
程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个 <br>
短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内 <br>
核来管理这些中断信号?还是你说的这个程序本身就是内核呢? <br>
我觉得这个流程就好像是 <br>
<br>
<br>
中断信号1,2,3。。。->程序,得到标志位或状态字->启动线程->内核管理线程 <br>
<br>
那么为什么不直接 <br>
<br>
中断信号1,2,3。。。->内核->启动和管理线程 <br>
<br>
愚人之见。 <br>
请大家就这个问题深入探讨探讨吧! <br>
<br>
<br>
<br>
<br>
-- <br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.60.132] <br>
发信人: flowerwind (windflower), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 12:14:18 2001) <br>
<br>
能不能举个实际的例子 <br>
<br>
【 在 wangyyff (郁闷的大面瓜) 的大作中提到: 】 <br>
: 我的理解和你的好像不太一样耶, <br>
: 前后台这种概念在没有操作系统的嵌入式系统里讲的很多,并不仅仅是限制在网络应用 <br>
: 下面引述邵老师的一段话: <br>
: 前后台系统是指不使用实时操作系统的嵌入式应用程序。一般做法是,写一个无限循环 <br>
: 的程序 <br>
: ,在程序中查询每个事件是否发生,每个任务是否具备运行条件,如果是,则处理这个 <br>
: 事件或执行这个任务。这可以看成是一个后台程序。 <br>
: 而系统对中断的响应可以看成是前台程序,中断的打入表示某事件的发生,在中断服务 <br>
: 子程序中,一般对中断做一些简单的处理,然后给出一个某事件发生了的标志,待后台 <br>
: 程序来处理。后台可以叫作任务级,前台叫作中断级。 <br>
<br>
<br>
-- <br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.156.224] <br>
发信人: wangyyff (郁闷的大面瓜), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 12:53:09 2001) <br>
<br>
<br>
这根本就不是操作系统,只是最简单的单片机程序, <br>
扯这么多大理论出来干啥?受不了你 <br>
<br>
<br>
【 在 hongchen (kissing-fire) 的大作中提到: 】 <br>
: 在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个 <br>
: 短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不 <br>
: 就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时 <br>
: 间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处 <br>
: 是什么呢? <br>
: 如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务, <br>
: 应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线 <br>
: 程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个 <br>
: 短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内 <br>
: 核来管理这些中断信号?还是你说的这个程序本身就是内核呢? <br>
: 我觉得这个流程就好像是 <br>
: ................... <br>
<br>
-- <br>
===================================================================== <br>
新域名启动: <br>
英文版:http://www.cfly.org <br>
中文版:http://wangyunfei.yeah.net <br>
<br>
<br>
ARM (32位RISC) + RTEMS (完全FREE的军用操作系统), <br>
<br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 203.93.105.209] <br>
发信人: flyking (小排), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 13:03:58 2001) <br>
<br>
我认为中断程序中干的都是对实时要求很高的东西,比如解固定速率的编码,如果你在解出 <br>
一个编码之前把控制权交给内核,可能下次中断时前一个码系统还码分配到时间处理 <br>
所以这种情况必须中断中完成以后再交出cpu,所谓分层和前后台的目的就在这里,前台 <br>
是要实时的,后台有空再干,以此类推,相对的前台总比相对的后台优先处理, <br>
比如一种数据结构:8位组成byte,16位组成dbyte,32位组成word,64位组成block,前一种 <br>
子帧总要先处理,处理完了就交给后台处理更高级的帧。当然实际中不用这么繁 <br>
【 在 hongchen (kissing-fire) 的大作中提到: 】 <br>
: 在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个 <br>
: 短时定时程序或无限循环程序来扫描这些标志位或状态字,再启动相应的处理程序,这不 <br>
: 就相当于把原本可以一次完成的事情,拆成了两段吗?肯定要引入新的变量,增加跳转时 <br>
: 间,也就相当于增加了系统被干扰的机会,跳转是程序最容易跑飞的时候,这样做的好处 <br>
: 是什么呢? <br>
: 如果一次发生了多个中断,那么启动的处理程序应该是相当于一个线程,或是一个任务, <br>
: 应该是独立运行的,这时这个短时定时程序或无限循环程序要启动多个线程,而此时多线 <br>
: 程之间的通讯以及对线程根据优先级进行频繁的执行、挂起,却要由内核来做?那么这个 <br>
: 短时定时程序或无限循环程序到底有什么用呢?为什么不直接由内核来管理呢?直接由内 <br>
: 核来管理这些中断信号?还是你说的这个程序本身就是内核呢? <br>
: 我觉得这个流程就好像是 <br>
: ................... <br>
<br>
-- <br>
起初,神创造天地。地是空虚混沌,渊面黑暗;神的灵运行在水面上。 <br>
神说:"要有光"。就有了光。神看光是好的,就把光暗分开了。神称光 <br>
为"昼",称暗为"夜"。 <br>
<br>
<br>
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.52.210.55] <br>
发信人: neuronlee (机械化神经元), 信区: Embedded <br>
标 题: Re: 又一道嵌入试题! <br>
发信站: BBS 水木清华站 (Thu Nov 8 13:13:01 2001) <br>
<br>
我想她说的是在没有RTOS的情况下的解决方案.由中断程序设置标志然后 <br>
退出,由其他程序接手是很正常的行为.无论有无RTOS这样做都有其道理, <br>
应情况而易. <br>
【 在 hongchen (kissing-fire) 的大作中提到: 】 <br>
: 在中断服务程序里不对中断作处理,只是置一个标志位,或者写一个状态字,然后由一个 <br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -