<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/wordpress-mu-1.1.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>刀巴虫子的办公室</title>
	<link>http://my.donews.com/acestrong</link>
	<description>Just another My.donews.com weblog</description>
	<pubDate>Tue, 01 Jul 2008 01:54:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=wordpress-mu-1.1.1</generator>
	<language>en</language>
			<item>
		<title>错题大全——3</title>
		<link>http://my.donews.com/acestrong/2008/07/01/post-080701-095406-550/</link>
		<comments>http://my.donews.com/acestrong/2008/07/01/post-080701-095406-550/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 01:54:22 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2008/07/01/post-080701-095406-550/</guid>
		<description><![CDATA[原题(7719): 问题：If you suspect that the illness might be serious you should not _______ going to the doctor.
put off
hold back
put aside
hold up
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
答案: put off
解释: 答案为[A]：put off... ]]></description>
			<content:encoded><![CDATA[<p>原题(7719): 问题：If you suspect that the illness might be serious you should not _______ going to the doctor.</p>
<p>put off</p>
<p>hold back</p>
<p>put aside</p>
<p>hold up</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: put off</p>
<p>解释: 答案为[A]：put off “推迟”，符合题意。其余三个选项分别为：[B]hold back “抑制，阻止”；[C]put aside “留下&#8230;.供将来用”；[D]hold up “举起，支撑”。</p>
<p>原题(7715): 问题：Michael used to look hurt and surprised when ___________.</p>
<p>scolding</p>
<p>to scold</p>
<p>having scolded</p>
<p>scolded</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: scolded</p>
<p>解释: 答案为[D]：scolded。 Michael 与 scold 间是被动关系，只有[D]正确。</p>
<p>原题(7716): 问题：He decided to make further improvements on the computer&#8217;s design ________ the light of the requirements of customers.</p>
<p>on</p>
<p>for</p>
<p>in</p>
<p>with</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: in</p>
<p>解释: 答案为[C]：in。此处构成固定短语 in the light of “根据&#8230;.”。</p>
<p>原题(7970): 问题：Having no money but ______ to know, he simply said he would go without dinner.</p>
<p>not to want anyone</p>
<p>not wanting anyone</p>
<p>wanted no one</p>
<p>to want no one</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: not wanting anyone</p>
<p>解释: 答案为[B]：not wanting anyone 是一个含有两个并列的分词短语的句子，用来做原因状语。既然是并列结构，只有[B]能与 having 相对称。</p>
<p>原题(7844): 问题：Knowing something as a whole is far from knowing all its ___________.</p>
<p>instance</p>
<p>character</p>
<p>items</p>
<p>details</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: details</p>
<p>解释: 答案为[D]：details。本题测试是句子前后的一致性、对应性。[A]instance 例证，事例；B]character 特性，特征；[C]item 采，条款，项目；[D]detail 细节。由此可见，只有[D]细节，与整体相对应。</p>
<p>原题(43): 问题：I had hardly arrived _____ he started crying to go home.</p>
<p>when</p>
<p>while</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: when</p>
<p>解释: while 后接延续一段时间的动作</p>
<p>原题(7754): 问题：The lawyer advised him to drop the ______ , since he stands little chance to win.</p>
<p>case</p>
<p>event</p>
<p>affair</p>
<p>incident</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: case</p>
<p>解释: 答案为 A。case 表示 “案件，官司”。B)event 指重要的，有意义或不寻常的事件；affair 指互有联系的一组事件，事务等；incident 多指不幸的事，事故。</p>
<p>原题(7791): 问题：The professor could hardly find sufficient grounds _______ his arguments in favour of the new theory.</p>
<p>to be based on</p>
<p>to base on</p>
<p>which to base on</p>
<p>on which to base</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: on which to base</p>
<p>解释: 答案为 D。本题考点为非限定性定语从句中，介词前置的用法。其正常语序为 to base his arguments on sufficient grounds，which 指前面的 sufficient grounds，将 on 前置形成了 D)(sufficient grounds) on which to base，因此 D) 为正确答案。</p>
<p>原题(7854): 问题：The manager assured the customer that his complaint would be seen ________ immediately.</p>
<p>to</p>
<p>at</p>
<p>on</p>
<p>with</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to</p>
<p>解释: 答案为[A]：to。本题测试点是 see 的固定搭配。See to 是“负责，注意”；一般没有see at 搭配在一起的；see on 也不是短语；see with 是“同意”。根据句意，只能选[A]。</p>
<p>原题(7867): 问题：Our hopes _______ and fell in the same instant.</p>
<p>arose</p>
<p>raised</p>
<p>rose</p>
<p>aroused</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: arose</p>
<p>解释: A)arose “升起；出现”，常用于比喻，主要用于无形的东西，指偶然的关系；B)raised 及物动词，“举起，升高”；C)rose “升起；上升”，通常指有形的东西；D)arouse “唤起，激起”。根据句意，应选 A)。</p>
<p>原题(7732): 问题：The _____ stuck on the envelope says By Air.</p>
<p>label</p>
<p>being considered</p>
<p>mark</p>
<p>diagram</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: label</p>
<p>解释: 答案为 A。这几个词的意思分别为：A)label “标签，签条，标记”；B)signal “信号”；C)mark “斑点，痕迹”；D)diagram “图表”。</p>
<p>原题(51): 问题：The students took notes ____ they listened.</p>
<p>when</p>
<p>before</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: when</p>
<p>解释: as 一边 … 一边 …</p>
<p>原题(212): 问题：He is good at English, ______ we all know.</p>
<p>as</p>
<p>which</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: as</p>
<p>解释: as 引出非限定性定语从句，表示“正如 …… 那样”</p>
<p>原题(205): 问题：I have bought such a watch _______ was advertised on TV.</p>
<p>as</p>
<p>which</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: as</p>
<p>解释: 先行词被 such 修饰时，关系代词用 as</p>
<p>原题(7841): 问题：There were beautiful clothes __________ in the shop windows.</p>
<p>spread</p>
<p>displayed</p>
<p>exposed</p>
<p>located</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: displayed</p>
<p>解释: 答案为[B]：displayed。本题的测试点是辨析动词词义。[A]spread 伸展，散布，传播；[B]display 陈列，显示；[C]expose 暴露，揭露；[D]locate 找出，查处，设置于，位于。根据上下文，只有[B]最合题意。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2008/07/01/post-080701-095406-550/feed/</wfw:commentRss>
		</item>
		<item>
		<title>错题大全——2</title>
		<link>http://my.donews.com/acestrong/2008/07/01/post-080701-080743-967/</link>
		<comments>http://my.donews.com/acestrong/2008/07/01/post-080701-080743-967/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 00:08:23 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2008/07/01/post-080701-080743-967/</guid>
		<description><![CDATA[&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我的错误单词&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
quote                   v.            引用，引证；报价
waggon              ... ]]></description>
			<content:encoded><![CDATA[<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我的错误单词&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
quote                   v.            引用，引证；报价<br />
waggon                  n.            四轮运货马车<br />
impose                  v.            把…强加；征(税)<br />
excessive               adj.          过多的，极度的<br />
utility                 n.            效用，有用，实用<br />
discharge               v.            释放；排出<br />
commerce                n.            商业，贸易；社交<br />
capacity                n.            容量；能力；能量<br />
postpone                v.            延迟，推迟，延缓<br />
income                  n.            收入；收益；进款<br />
process                 v.            加工<br />
breadth                 n.            宽度，幅度；幅面<br />
indifferent             adj.          冷漠的；不积极的<br />
tedious                 adj.          冗长乏味的，沉闷的<br />
victory                 n.            胜利，战胜<br />
holy                    adj.          神圣的；圣洁的<br />
vacant                  adj.          空的；未被占用的<br />
province                n.            省；领域，部门<br />
frank                   adj.          坦白的，直率的<br />
outer                   adj.          外部的，外面的<br />
nursery                 n.            托儿所；苗圃<br />
vigorous                adj.          朝气蓬勃的<br />
gauge                   v.            量，测量<br />
spite                   n.            恶意,怨恨,不顾<br />
accelerate              v.            (使)加快；促进<br />
attribute               v.            把…归因于<br />
uneasy                  adj.          心神不安的，忧虑的<br />
weaken                  v.            削弱<br />
conservative            n.            保守的人<br />
expansion               n.            扩大，扩充；扩张<br />
recovery                n.            重获；痊愈，恢复<br />
boundary                n.            分界线，办界</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我做错的题目&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>原题(1683): 问题：The Chinese _____ brave.</p>
<p>is</p>
<p>are</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: are</p>
<p>解释: the Chinese “中国人”，复数名词，所以谓语动词用 are</p>
<p>原题(1684): 问题：His family ____ good to me.</p>
<p>are</p>
<p>is</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: are</p>
<p>解释: 这里的集合名词 family 侧重指家庭成员，所以谓语动词用复数</p>
<p>原题(7744): 问题：The article suggests that when a person ______ under unusual stress he should be especially careful to have a well-balanced diet.</p>
<p>be</p>
<p>was</p>
<p>is</p>
<p>were</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: is</p>
<p>解释: 答案为 C。这里表示的是真实的情况，并非虚拟语气。故应该用正常的时态，C) 正确。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2008/07/01/post-080701-080743-967/feed/</wfw:commentRss>
		</item>
		<item>
		<title>错题大全——1</title>
		<link>http://my.donews.com/acestrong/2008/07/01/post-080701-080647-268/</link>
		<comments>http://my.donews.com/acestrong/2008/07/01/post-080701-080647-268/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 00:07:42 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2008/07/01/post-080701-080647-268/</guid>
		<description><![CDATA[&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我的错误单词&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
saw                     v.            锯，锯开
cement                  v.... ]]></description>
			<content:encoded><![CDATA[<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我的错误单词&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
saw                     v.            锯，锯开<br />
cement                  v.            粘结<br />
oblige                  v.            迫使；施恩惠于<br />
fine                    adj.          美好的；纤细的<br />
coil                    n.            (一)卷；线圈<br />
craft                   n.            工艺；手艺，行业<br />
correspondence          n.            通信；符合；对应<br />
counsel                 n.            商议；忠告；律师<br />
manifest                v.            表明</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我做错的题目&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>原题(7828): 问题：Through out his life, Henry Moore _________ an interest in encouraging art in the city of Leeds.</p>
<p>contained</p>
<p>secured</p>
<p>reserved</p>
<p>maintained</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: maintained</p>
<p>解释: 答案为[D]：maintained。本题的测试点是近义词。[A]contain “容纳，装有，含有”；[B] secure “保卫，保护，防卫”，“得到，获得”。 [C]reserve “保留，预定，储备”；[D] maintain “保持，维持，维修，坚持，主张”。只有 [D]maintain 使句意最通。</p>
<p>原题(227): 问题：I have two grammars, ______ are of great use.</p>
<p>both of which</p>
<p>all of which</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: both of which</p>
<p>解释: “两者都 … ”用 both</p>
<p>原题(226): 问题：My neighbours used to give me a hand in time of trouble, _______ was very kind of them.</p>
<p>who</p>
<p>which</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: which</p>
<p>解释: 将整个主句作为先行词，对其进行修饰，此时关系代词用 which</p>
<p>原题(222): 问题：In our factory there are 2,000 workers, two thirds of ____ are women.</p>
<p>who</p>
<p>whom</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: whom</p>
<p>解释: of 是介词，后面接宾格 of 作宾语</p>
<p>原题(7778): 问题：Not until the game had begun _______ at the sports ground.</p>
<p>had he arrived</p>
<p>would he have arrived</p>
<p>did he arrive</p>
<p>should he have arrived</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: did he arrive</p>
<p>解释: 答案为 C。本题考点为倒装句和时态。Not until 位于句首时，应使用倒装句。从句意“直到比赛开始，他才到达体育场”来看，在他到达体育场前比赛已经开始。因此，空格处时态应为一般过去时，只有 C)did he arrive 正确。</p>
<p>原题(7796): 问题：May I speak to your manager Mr. Williams at five o&#8217;clock tonight?I&#8217;m sorry. Mr. Williams _______ to a conference long before then.</p>
<p>will have gone</p>
<p>had gone</p>
<p>would have gone</p>
<p>has gone</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: has gone</p>
<p>解释: 答案为 D。should have 表示“应该做而没有做”；而 shouldn&#8217;t + have 又表示“不应该做（却做了）”。本句的意思是：你不应该那么紧地跟着他，你应该与他保持一段距离。只有 D) 符合语法要求。用完成进行时，强调该动作的持续性。</p>
<p>原题(49): 问题：They had just arrived home ____ it began to rain.</p>
<p>when</p>
<p>while</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: when</p>
<p>解释: when 正在这时，突然 …</p>
<p>原题(7751): 问题：The mother didn&#8217;t know who ________ for the broken glass.</p>
<p>blamed</p>
<p>would blame</p>
<p>to blame</p>
<p>be  blamed</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to blame</p>
<p>解释: 答案为 C。blame 的逻辑主语为 mother，为主动关系，故 A、D 不正确。B 项不合逻辑，语法上也不正确。</p>
<p>原题(7745): 问题：Many a delegate was in favor of his proposal that a special committee _________ to investigate the incident.</p>
<p>was set up</p>
<p>were set up</p>
<p>set up</p>
<p>be set up</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: be set up</p>
<p>解释: 答案为 D。这里的 that 从句用来解释 proposal 的具体内容，为名词性从句。名词为idea, proposal, suggestion 这一类表示建议，命令、请求等语气的同时，从句中应该用虚拟语气，形成为 should （可省略）+ 动词原形。</p>
<p>原题(7872): 问题：Only a selected number of landladies in the neighbourhood have been allowed by the university to take in _______ .</p>
<p>residents</p>
<p>settlers</p>
<p>lodgers</p>
<p>inhabitants</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: lodgers</p>
<p>解释: 答案为 C。A)residents 常住的永久居民，定居者；B)settlers 移民者，开拓者；C)lodgers 寄宿者，房客；D)inhabitants 居民，住户。从句意应选 C)。</p>
<p>原题(7798): 问题：The growth of part-time and flexible working patterns, and of training and retraining schemes, _______ more women to take advantage of employment opportunities.</p>
<p>have allowed</p>
<p>allow</p>
<p>allowing</p>
<p>allows</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: allows</p>
<p>解释: 答案为 D。该句的主谓宾语结构为：the growth + allows + women + to do sth. 因主语 The growth 为单数第三人称 allows。只有 D) 符合上述要求。</p>
<p>原题(7917): 问题：There&#8217;s a man at the reception desk who seems very angry and I think he means __________ trouble.</p>
<p>making</p>
<p>to make</p>
<p>to have made</p>
<p>having made</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to make</p>
<p>解释: to make。本题的测试点是 mean + 动词不定式。Mean 是只跟不定式作宾语的动词，故可排除[A]、[D]。根据上下文，只能选择不定式的一般形式而不是过去完成时，故只能选[B]。 make trouble 意思是“惹是生非，制造麻烦，找事”。</p>
<p>原题(7751): 问题：The mother didn&#8217;t know who ________ for the broken glass.</p>
<p>blamed</p>
<p>would blame</p>
<p>to blame</p>
<p>be  blamed</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to blame</p>
<p>解释: 答案为 C。blame 的逻辑主语为 mother，为主动关系，故 A、D 不正确。B 项不合逻辑，语法上也不正确。</p>
<p>原题(7866): 问题：As a public relations officer, he is said _______ some very influential people.</p>
<p>to know</p>
<p>to be knowing</p>
<p>to have been knowing</p>
<p>to have known</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to have known</p>
<p>解释: 本题考点为动词不定式的完成时。根据句意，know 这一动作已经发生了，所以动词不定式应使用完成时，因此 D) 正确。</p>
<p>原题(44): 问题：It won&#8217;t be long _____ you regret what you said.</p>
<p>before</p>
<p>after</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: before</p>
<p>解释: not long before：不久</p>
<p>原题(7925): 问题：Last year the advertising rate __________ by 20 percent. .</p>
<p>raised</p>
<p>aroused</p>
<p>arose</p>
<p>rose</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: rose</p>
<p>解释: rose。此处 rose 是不及物动词 rise 的过去式，表示“上升，上涨”，符合题意。Raise 是及物动词，表示“举起，升起”；arose 是 arise 的过去式，为不及物动词，表示“发生，出现，产生，起身，起立”；arose 是及物动词，但其意思是“唤醒，唤起，引起，鼓舞”等。</p>
<p>原题(7826): 问题：There was a _________ drop in support for the Union in the 1974 election.</p>
<p>delicate</p>
<p>distinct</p>
<p>distant</p>
<p>downward</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: distinct</p>
<p>解释: 答案为[B]：distinct。本题的测试点是形容词。用来说明 drop。只有 [B]distinct“明显的”。“显著的，独特的”能准确表明 drop 的状态，使句意完整、准确。</p>
<p>原题(7934): 问题：I&#8217;d rather read than watch television: the programs seem __________ all the time.</p>
<p>to get worse</p>
<p>to be getting worse</p>
<p>to have got worse</p>
<p>getting worse</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: to be getting worse</p>
<p>解释: to be getting worse。本题测试点是 seem 跟不定式的惯用法。Seem + 不定式作直接宾语，表示“似乎是，看似，好象，仿佛”，动词的现在进行时，表示说话时动作正发生。</p>
<p>原题(43): 问题：I had hardly arrived _____ he started crying to go home.</p>
<p>when</p>
<p>while</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: when</p>
<p>解释: while 后接延续一段时间的动作</p>
<p>原题(7749): 问题：There is no ______ to the house from the main road.</p>
<p>edge</p>
<p>avenue</p>
<p>exposure</p>
<p>access</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: access</p>
<p>解释: 答案为 D。access 表示“进入的道路”。A)edge “边，边缘”；B)avenue “大街”；C)exposure “暴露”。</p>
<p>原题(7869): 问题：A season ticket _______the holder to make as many journeys as he wishes within the stated period of time.</p>
<p>entitles</p>
<p>grants</p>
<p>bloomed</p>
<p>promises</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: entitles</p>
<p>解释: 本题考点为 entitle sb. to do sth. 的句式，意思为“赋予某人做某事的权力”。A)entitles 给予权力或资格；B)grants 答应（请求），允许，准予；C)presents 答应，允诺。</p>
<p>原题(7874): 问题：Purchasing the new production line will be a _______ deal for the company.</p>
<p>forceful</p>
<p>tremendous</p>
<p>favorite</p>
<p>profitable</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: profitable</p>
<p>解释: 答案为 D。本题考点为词义辨异。A)forceful 强有力的；B)tremendous 惊人的；C)favorite 最喜爱的；D)profitable 可带来利润的。“一项有利可图的交易”应使用 Profitable 一词，因此 D) 正确。</p>
<p>原题(7795): 问题：In order to show his boss what a careful worker he was, he took _______ trouble over the figures.</p>
<p>extensive</p>
<p>spare</p>
<p>extra</p>
<p>supreme</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: extra</p>
<p>解释: 答案为 C。全句可译为：为了向老师证明他有多么仔细，在处理数据时，他额外多花些功夫。A)extensive 宽广的，广泛的；B)space 多余的，备用的；C)extra 额外的，格外的；D)supreme 最高的，至上的。结合句意，应选 C)。</p>
<p>原题(7872): 问题：Only a selected number of landladies in the neighbourhood have been allowed by the university to take in _______ .</p>
<p>residents</p>
<p>settlers</p>
<p>lodgers</p>
<p>inhabitants</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: lodgers</p>
<p>解释: 答案为 C。A)residents 常住的永久居民，定居者；B)settlers 移民者，开拓者；C)lodgers 寄宿者，房客；D)inhabitants 居民，住户。从句意应选 C)。</p>
<p>原题(2176): 问题：A: Not at all! It was cool there.</p>
<p>B: I heard _____ always foggy, isn&#8217;t that?</p>
<p>that&#8217;s</p>
<p>it&#8217;s</p>
<p>- - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>答案: it&#8217;s</p>
<p>解释: 指代“天气”，用代词 it</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2008/07/01/post-080701-080647-268/feed/</wfw:commentRss>
		</item>
		<item>
		<title>学习大拐</title>
		<link>http://my.donews.com/acestrong/2007/11/19/post-071119-144337-359/</link>
		<comments>http://my.donews.com/acestrong/2007/11/19/post-071119-144337-359/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 06:45:00 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[没事儿瞎捣鼓]]></category>

		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/11/19/post-071119-144337-359/</guid>
		<description><![CDATA[今天早上去了，没和教练罗嗦，上车就匡匡的练了15分钟的小拐，上周五特训的结果自然不用说了，下了车问教练能学大拐了吗？教练没说死，不过意思是ok的啦～
第二把开始前有个学员也是第... ]]></description>
			<content:encoded><![CDATA[<p>今天早上去了，没和教练罗嗦，上车就匡匡的练了15分钟的小拐，上周五特训的结果自然不用说了，下了车问教练能学大拐了吗？教练没说死，不过意思是ok的啦～</p>
<p>第二把开始前有个学员也是第一次练大拐，教练拿根棍子教他看点，我也凑在一边听，轮到我的时候，上去就开始练大拐了。嘿嘿，教练看了喊了一嗓子“谁让你练大拐的啊！”，就让我练了～</p>
<p>大拐起始点位置很重要，要与路沿平行，距离要合适（1.2米～1.5米之间），倒车时看右后车窗上的三个点，从前到后我分别记为1，2，3，这三点与中杆对齐时为触发点，依次看1、3、2这三个点，动作分别为向右打死、向左回一圈、向右打死。车速开慢一点，方向盘打快一点就ok的啦！</p>
<p>本来还想练三把，下来一看人又多了，看看时间到11：30前来不及第三把了，干脆走人了～～</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/11/19/post-071119-144337-359/feed/</wfw:commentRss>
		</item>
		<item>
		<title>在eclipse下使用Qt</title>
		<link>http://my.donews.com/acestrong/2007/10/30/post-071030-190554-615/</link>
		<comments>http://my.donews.com/acestrong/2007/10/30/post-071030-190554-615/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 11:07:35 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/10/30/post-071030-190554-615/</guid>
		<description><![CDATA[在Trolltech的主页上看到有eclipse的插件可用，就下载了下来，顺便下了一个专门针对C/C++开发的eclipse，就是带CDT的，不大，66M左右。把插件安装后跟着自带的教程走了一遍，OK的啦！～～Qt  Designe... ]]></description>
			<content:encoded><![CDATA[<p>在Trolltech的主页上看到有eclipse的插件可用，就下载了下来，顺便下了一个专门针对C/C++开发的eclipse，就是带CDT的，不大，66M左右。把插件安装后跟着自带的教程走了一遍，OK的啦！～～Qt  Designer的功能全都有，再加上CDT的自动补齐和提示，简直太方便，太方便了！！：）</p>
<p>有感于原来下的那个100多M的eclipse体积太大，又下了一个针对java开发的eclipse，82M左右，顺便安装了GEF，把我的JTSS拷贝进它的workspace，打开后报错，看了一下，是缺少Drools。去了Drools的主页发现有新版本下载了，就下了最新的4.0.3版，解压进目录后运行还是报错，看了错误提示，完全没有理由啊！想到上一次从3升级到4时也是有drl语法变动的情况，于是就到doc里找文档，查找报错的函数，果然有专门的列表提供转换，好像就是insert、modify、update这些个单词的变化，改了以后就ok了～</p>
<p>现在电脑里搞了三个eclipse，分别用于java、c++、python的开发，各司其职，互不干扰，其乐融融啊～～：）</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/10/30/post-071030-190554-615/feed/</wfw:commentRss>
		</item>
		<item>
		<title>joke</title>
		<link>http://my.donews.com/acestrong/2007/09/23/post-070923-194414-792/</link>
		<comments>http://my.donews.com/acestrong/2007/09/23/post-070923-194414-792/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 11:45:32 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/09/23/post-070923-194414-792/</guid>
		<description><![CDATA[提问：茉莉花、太阳花、玫瑰花哪一朵花最没力？
回答：茉莉花。
原因：好一朵美丽(没力)的茉莉花。
提问：猩猩最讨厌什么线？
回答：平行线。
原因：平行线没有相交(香蕉)。
提问：橡皮... ]]></description>
			<content:encoded><![CDATA[<p>提问：茉莉花、太阳花、玫瑰花哪一朵花最没力？<br />
回答：茉莉花。<br />
原因：好一朵美丽(没力)的茉莉花。</p>
<p>提问：猩猩最讨厌什么线？<br />
回答：平行线。<br />
原因：平行线没有相交(香蕉)。</p>
<p>提问：橡皮、老虎皮、狮子皮哪一个最不好？<br />
回答：橡皮。<br />
原因：橡皮擦(橡皮差)。</p>
<p>提问：布和纸怕什么？<br />
回答：布怕一万，纸怕万一。<br />
原因：不(布)怕一万，只(纸)怕万一。</p>
<p>提问：铅笔姓什么？<br />
回答：萧。<br />
原因：削(萧)铅笔。</p>
<p>提问：麒麟到了北极会变成什么？<br />
回答：冰淇凌。<br />
原因：冰淇凌(冰麒麟)。</p>
<p>提问：哪位历史人物最欠扁？<br />
回答：苏武。<br />
原因：苏武牧羊北海边(被海扁)。</p>
<p>提问：从1到9哪个数字最勤劳，哪个数字最懒惰？<br />
回答：1懒惰；2勤劳。<br />
原因：一(1)不做二(2)不休。</p>
<p>提问：怎样使麻雀安静下来？<br />
回答：压它一下。<br />
原因：鸦雀无声(压雀无声)。</p>
<p>提问：历史上哪个人跑的最快?<br />
回答：曹操<br />
原因：说曹操曹操到</p>
<p>问题：米她妈是谁<br />
答案：花<br />
原因：花生米</p>
<p>小白加小白等于什么？<br />
等于小白兔<br />
原因：小白TWO</p>
<p>饺子是男人还是女人？<br />
男人<br />
原因：男人才有包皮</p>
<p>提问：男人嘘嘘是哪个歌手的名字?<br />
回答：陶喆<br />
原因：掏吉吉</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/09/23/post-070923-194414-792/feed/</wfw:commentRss>
		</item>
		<item>
		<title></title>
		<link>http://my.donews.com/acestrong/2007/08/03/post-070803-084142-680/</link>
		<comments>http://my.donews.com/acestrong/2007/08/03/post-070803-084142-680/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 00:48:16 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/08/03/post-070803-084142-680/</guid>
		<description><![CDATA[2007-08赛季 休斯顿火箭赛程
日期                 主队                 客队                 时间
10.31                湖人                火箭                11:30... ]]></description>
			<content:encoded><![CDATA[<p>2007-08赛季 休斯顿火箭赛程<br />
日期                 主队                 客队                 时间<br />
10.31                湖人                火箭                11:30<br />
11.02                爵士                火箭                10:00<br />
11.04                火箭                开拓者            9:30<br />
11.06                小牛                火箭                9:30<br />
11.07                火箭                马刺                9:30<br />
11.10                火箭                雄鹿                9:30<br />
11.12                山猫                火箭                7:00<br />
11.14                灰熊                火箭                9:00<br />
11.15                火箭                湖人                10:00<br />
11.17                马刺                火箭                9:00<br />
11.18                火箭                太阳                9:30<br />
11.22                火箭                小牛                8:30<br />
11.24                热队                火箭                9:00<br />
11.25                火箭                掘金                9:30<br />
11.27                快船                火箭                11:30<br />
11.29                太阳                火箭                10:00<br />
11.30                勇士                火箭                11:30<br />
12.02                国王                火箭                11:00<br />
12.06                火箭                灰熊                9:30<br />
12.08                网队                火箭                8:30<br />
12.10                猛龙                火箭                13:30<br />
12.12                76人                火箭                8:00<br />
12.13                火箭                活塞                9:00<br />
12.16                火箭                小牛                9:30<br />
12.20                火箭                魔术                9:30<br />
12.21                掘金                火箭                11:30<br />
12.23                公牛                火箭                9:30<br />
12.24                活塞                火箭                7:00<br />
12.29                灰熊                火箭                9:00<br />
12.30                火箭                猛龙                9:30<br />
1.01                火箭                勇士                8:00<br />
1.04                凯尔特人        火箭                8:30<br />
1.05                魔术                火箭                8:00<br />
1.06                火箭                尼克斯                9:30<br />
1.09                奇才                火箭                8:00<br />
1.10                尼克斯                火箭                8:30<br />
1.12                火箭                森林狼                9:30<br />
1.14                火箭                黄蜂                3:30<br />
1.16                火箭                76人                9:30<br />
1.20                火箭                马刺                9:30<br />
1.22                火箭                超音速                3:30<br />
1.24                超音速                火箭                11:00<br />
1.26                开拓者                火箭                11:00<br />
1.28                火箭                爵士                8:00<br />
1.30                火箭                勇士                9:30<br />
2.02                步行者                火箭                8:00<br />
2.03                雄鹿                火箭                9:30<br />
2.05                森林狼                火箭                9:00<br />
2.08                火箭                骑士                9:00<br />
2.10                火箭                鹰队                9:30<br />
2.12                火箭                开拓者                9:30<br />
2.14                火箭                国王                9:30<br />
2.20                骑士                火箭                8:00<br />
2.22                火箭                热队                9:00<br />
2.23                黄蜂                火箭                9:00<br />
2.25                火箭                公牛                9:00<br />
2.27                火箭                奇才                9:30<br />
3.01                火箭                灰熊                9:30<br />
3.03                火箭                掘金                9:00<br />
3.06                火箭                步行者                9:30<br />
3.07                小牛                火箭                10:30<br />
3.09                火箭                黄蜂                9:30<br />
3.11                火箭                网队                8:30<br />
3.13                鹰队                火箭                7:00<br />
3.15                火箭                山猫                8:30<br />
3.17                火箭                湖人                7:00<br />
3.19                火箭                凯尔特人                8:30<br />
3.20                黄蜂                火箭                8:00<br />
3.22                勇士                火箭                10:30<br />
3.23                太阳                火箭                10:00<br />
3.25                火箭                国王                8:30<br />
3.27                火箭                森林狼                8:30<br />
3.31                马刺                火箭                1:00<br />
4.02                国王                火箭                10:00<br />
4.04                开拓者                火箭                10:30<br />
4.05                超音速                火箭                10:30<br />
4.07                快船                火箭                9:30<br />
4.10                火箭                超音速                8:30<br />
4.12                火箭                太阳                8:30<br />
4.14                掘金                火箭                9:00<br />
4.15                爵士                火箭                9:00<br />
4.17                火箭                快船                8:30</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/08/03/post-070803-084142-680/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[转]利用RTLinux开发嵌入式应用程序</title>
		<link>http://my.donews.com/acestrong/2007/07/03/post-070703-170827-989/</link>
		<comments>http://my.donews.com/acestrong/2007/07/03/post-070703-170827-989/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 09:09:01 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/07/03/post-070703-170827-989/</guid>
		<description><![CDATA[利用RTLinux开发嵌入式应用程序
  对于中国工程师来说，利用实时Linux开发嵌入式应用程序是他们面临的困难之一，本文以RTLinux为例，并结合最为业界关注的是RTAI进行讨论，尽管这两种实现方... ]]></description>
			<content:encoded><![CDATA[<p><span class="bold">利用RTLinux开发嵌入式应用程序</span></p>
<p>  对于中国工程师来说，利用实时Linux开发嵌入式应用程序是他们面临的困难之一，本文以RTLinux为例，并结合最为业界关注的是RTAI进行讨论，尽管这两种实现方式在句法细节上存在差异，但工作方式基本一样，因此所讲述的内容对两者都适用。</p>
<p>在实时任务与用户进程相互通信的过程中，有些实时应用程序无需任何用户界面即可在后台平静地运行，然而，越来越多的实时应用程序确实需要一个用户界面及其 它系统功能，如文件操作或联网等，所有这些功能都必须在用户空间内运行。问题是，用户空间操作是非确定性的，而且与实时操作不兼容。</p>
<p>幸运的是实时Linux具有一种可在时间上减弱实时与非实时操作的机制，这种机制表现为一种称为实时FIFO的驱动程序。当insmod将 rtl_fifo.o驱动程序插入Linux内核时，该驱动程序将自己注册为RTLinux的一部分，并成为Linux驱动程序。一旦插入Linux内 核，用户空间进程和实时任务都可使用实时Linux FIFO。</p>
<p>在深入探讨实时FIFO的细节之前，还要回顾一下实时应用程序结构的某些部分(图1)。有效的嵌入式应用程序设计方法是将实时部分与固有的非实时功能分离 开来(表1)。如果应用程序的任一部分，如用户界面、图形、数据库或网络仅需软实时性能，最好是将该部分写入用户空间。然后，仅将必须满足时序要求的那部 分写成实时任务。</p>
<p>注意，RTLinux(PSC，便携式信号编码)和RTAI(LXRT，Linux实时扩展)的最新版本已采用了一种可在用户空间执行软和硬实时任务的方法。</p>
<p>任何硬实时任务都是在RTLinux的控制下运行的，该任务一般可执行周期性任务、处理中断并与I/O设备驱动程序通信，以采集或输出模拟和数字信息。当 实时任务需要告诉用户进程有一个事件将发生时，它便将这一消息送给实时FIFO。每一个FIFO都是在一个方向上传送数据：从实时任务到用户空间，或反 之。因此，双向通信需要使用两个FIFO。任何读出或写入实时任务一侧的操作都是非模块操作，因此rtf_put()和rtf_get()都立即返回，而 不管FIFO状态是什么。</p>
<p>从应用程序一侧来看，FIFO就像一个常规文件。缺省情况下，RTLinux安装程序将在/dev目录下创建64个实时FIFO节点；如果需要，还必须自己创建新的节点。例如，要创建/dev/rtf80，需采用如下命令：</p>
<p>=========================<br />
mknod c 150 80；<br />
chmod 0666 /dev/rtf80<br />
=========================</p>
<p>其中，150是实时FIFO主数，而80是rtf80的次数。</p>
<p>从用户进程的角度看，实时FIFO可执行标准文件操作。从实时任务来看，FIFO有两种通信方式：直接调用RTLinux FIFO功能，或将FIFO作为一个RTLinux设备驱动程序，并使用open()、close()、read()和write()操作。要想将 FIFO作为一个设备驱动程序，就必须将rtl_conf.h中的配置变量CONFIG_RTL_POSIX_IO设定为1。</p>
<p>rtf_create_handler()可设置处理程序功能。每次Linux进程读或写FIFO时，rtl_fifo驱动程序都要调用该处理程序。应注 意的是，该处理程序驻留在Linux内核，因此当Linux需要调用时，从该处理程序进行任何内核调用都是安全的。从该处理程序到实时任务间的最好通信方 法是使用旗语或线程同步功能。最后，FIFO驱动程序还必须对内核存储器进行配置。因此，实时线程内的rtf_create()不应调用。相反，可调用 init_module()中的rtf_create()功能及cleanup_module()中的rtf_destroy()功能。</p>
<p>例如，列表1给出了一个采用两个FIFO的简单数据采集应用程序的实时部分。两个FIFO都是在init_module()创建，并赋予minor numbers 为1和2。在调用rtf_create(minor, size)之前，该程序在已创建该FIFO的情况下调用rtf_destroy(minor)。这种情况就是另一个模块在开发过程中未被调用。然后，调用 rtf_create_handler(ID, &amp;pd_do_aout)以注册带该实时FIFO的数据采集模拟输出功能pd_do_aout()。注意，创建实时线程pp_thread_ep ()是因为它是周期性的，其间隔为1/100秒。</p>
<p>每次周期性线程得到系统控制权后，它就调用rtf_put(ID,dataptr,size)以便将数据插入minor number为2的FIFO。Linux进程打开/dev/rtf2，从实时FIFO中读取并显示所采集的数据。该进程还打开/dev/rtf1，将数据 写入其它实时FIFO。当用户移动屏幕滑动器以改变模拟输出电压时，进程就向该FIFO写入一个新的值。RTLinux便调用pd_do_aout()处 理程序，随后pd_do_aout()利用rtf_get()从FIFO获得值，并调用实际的硬件驱动程序以设置模拟输出的电压。可以看到，实时任务和用 户进程是异步使用FIFO的。</p>
<p>任务间的存储器共享</p>
<p>FIFO为用户进程和实时任务的连接提供了一种方便的机制，但将它们作为消息队列更合适。比如，一个实时线程可利用FIFO记录测试结果，然后用户进程就可读取该结果，并将之存入数据库文件。</p>
<p>许多数据采集应用程序涉及到内核及用户空间之间的大量数据。Linux内核v. 2.2.x并没有为这些空间的数据共享提供任何机制，但v. 2.4.0版本预计会包括kiobuf结构。为解决现有稳定内核的这个缺点，RTLinux包括mbuff驱动程序。该驱动程序可利用vmalloc() 分配虚拟内核存储器的已命名存储器区域，它采用的存储器分配和页面锁定技巧跟大多数Linux中bttv帧抓取器(frame-grabber)驱动程序 所用的一样。</p>
<p>更具体地说，mbuff一页一页地将虚拟内存锁定到实际的物理内存页面。任何实时或内核任务，或用户进程在任何时间都可访问该存储器。通过将虚拟内存页面 锁定到物理内存页面，mbuff可确保所分配的页面永久驻留在物理内存，而且不会发生页面错误。换言之，当实时或内核进程访问所分配的存储器时，它可确保 VMM不被调用。注意：由于实时任务执行期间实时Linux冻结标准内核的执行，任何对VMM的调用都会引起系统暂停。如果它要访问并不位于物理RAM内 的虚拟存储页面，那么即使正常的Linux内核驱动程序也会引起系统故障。</p>
<p>由于mbuff是一种Linux驱动程序，其功能可通过设备节点/dev/mbuff实现。该节点可显示几个录入点，其中包括可将内核空间地址映射到用户 空间的mmap()。它还可以利用录入点ioctl()来控制。然而，并不需要复杂的结构及直接调用ioctl。相反，mbuff可为ioctl()调用 提供一个包裹，而且仅仅调用两个简单的功能即可配置和释放共享的存储缓冲器。</p>
<p>当然，不能从实时任务调用mbuff驱动程序，因为该驱动程序所调用的虚拟存储器分配功能本身是不确定性操作。分配共享存储器所需的时间依赖于主系统的存 储器容量以及CPU速度、磁盘驱动器性能和存储器分配的现有状态。因此，只能从模块的Linux内核一侧来分配共享存储器，比如从init_module ()或一个ioctl()请求开始。</p>
<p>那么，一个共享缓冲器到底能分配多少存储器呢？如果不是任务繁重的服务器或图形应用，建议至少为Linux保留8MB存储空间。为了获得优化的配置，可在限制存储器大小的同时测量实时应用程序的性能，以确定需要多少存储空间。</p>
<p>列表2给出了如何从实时任务和用户进程方面访问共享的存储器。内核模块和用户任务采用同样的功能集。当然，要想使用insmod mbuff.o，还必须将之置于Linux内核中。例如，mbuff_alloc(&#8221;buf_name&#8221;, size)可将符号名buf_name分配给一个缓冲器，而mbuff_free(&#8221;buf_name&#8221;, mbuf)可将之释放。</p>
<p>当第一次调用带有符号缓冲器名的mbuff_alloc()时，mbuff执行实际的存储器分配。而当从内核模块或用户进程再次调用该功能时，它只是简单 地增加使用数(usage count)及将指针返回现有的缓冲器。每次调用mbuff_free()都会减少使用数，直至为零，这时mbuff就去分配带符号名的缓冲器。这种方法 从多个内核模块和用户进程获得一个指向同一共享缓冲器的指针，从而解决了问题。它还可确保共享缓冲器一直有效，直到最后的应用程序释放它。请注意，是实时 内核还是用户进程执行实际的buf1配置依赖于谁先获得控制权。</p>
<p>还有一个“笨”方法可在实时应用程序、内核模块和用户应用程序间共享存储器。对于嵌入式应用，该方法还是可以接受的。例如，如果PC带有128MB RAM，可将线搜索路径=&#8221;mem=120m&#8221;添加进lilo.conf文件(列表3)。当启动带有Linux内核和RTLinux 2.3的系统时，Linux仅使用120MB内存。OS也不用剩下的8MB内存(物理地址为0&#215;7F00000到0&#215;7FFFFFF)，而是留给在OS下 运行的各种任务共享。要想从用户进程获取存储器地址并访问预留的存储器，必须用O_RDWR访问模式来打开/dev/mem驱动程序，然后利用mmap ()保留存储器(列表4)。而从实时模块或内核驱动程序一侧进行，则必须使用ioremap(0&#215;7F00000, 0&#215;100000)才能获取这8MB (0&#215;100000字节)预留内存。</p>
<p>这种方法有利有弊。既不能通过预留内存的所有权，也不能通过读或写来获取控制权。正确地配置和释放大量内存的机制尚未问世。另外，无论实时进程是否需要，该内存都不能为Linux所用。</p>
<p>也许存储器共享笨方法的唯一适用场合是专为特定应用而定制的小型嵌入式系统，因为此时可为小型化而放弃使用mbuff驱动程序。</p>
<p>中断</p>
<p>RTLinux有两种中断：硬中断和软中断。软中断就是常规Linux内核中断，它的优点在于可无限制地使用Linux内核调用。这类中断作为硬中断处理的第二部分还是相当有用的(由参考文献5可获得更多有关Linux环境下中断处理的细节)。</p>
<p>硬(实时)中断是安装实时Linux的前提。要安装中断处理程序，先调用rtl_request_irq(&#8230;)，然后调用rtl_free_irq ()释放它。依赖于不同的系统，实时Linux下硬(或实时)中断的延迟是15μs的数量级。较快的处理器具有较好的延迟。如果想在实时处理程序和常规 Linux驱动程序中处理同一设备IRQ，必须为每一个硬中断单独设置IRQ。</p>
<p>列表5给出了安装实时中断处理程序的过程。RTLinux在执行实时中断处理程序时将禁止IRQ。应注意，该代码须在退出实时中断处理程序前调用rtl_hard_enable_irq()才能重新使能中断。</p>
<p>有两个问题影响直接从实时中断处理程序调用Linux内核功能：内核禁止所有中断及不定义执行内容。还应注意的是，这里也不能执行浮点操作。利用实时中断 处理程序来控制线程执行是避免出现这些问题的好办法。本例采用pthread_wakeup_np()功能来唤醒一个实时线程。中断处理程序可处理即时的 工作，余下的由该线程解决。</p>
<p>SMP结构的优点</p>
<p>实时Linux都支持多处理器架构。对称多处理器(SMP)结构采用了高级可编程中断控制器(APIC)，奔腾级处理器都有片上本地APIC，可为本地处 理器传送中断。SMP(甚至单处理器母板)都有I/O APIC，可收集来自外设的中断请求，并将它们传送给本地APIC。旧的8259 PIC速度很慢，所处理的中断向量数不充分，迫使设备共享中断，使得中断处理更慢。但是，APIC可解决这些问题。通过为每个设备请求设置一个特定的 IRQ，系统可减少中断延迟，APIC还可加速同步代码。</p>
<p>实时Linux可充分利用APIC。在SMP系统中，实时调度程序利用APIC，而不是采用过时的8254芯片来完成时序分配。由于PC的兼容性， 8254位于每一个ISA总线上，而且每一个再编程设备的调用都要占用处理器周期。一个千兆赫CPU要浪费数百个处理器周期来等待8MHz定时器(大约 2.5μs)。APIC工作在总线频率，而且可立即执行所有的定时器操作，这意味着必须利用本地APIC时钟在AMP机器上获取更高的周期性频率(双P- III-500 CPU可在100kHz运行周期性实时线程，而无明显的性能损失)。</p>
<p>实时Linux能很好地执行多处理任务，它为每个CPU实施单独的进程。调用pthread_create()可创建一个在现有CPU上运行的线程。还可 用pthread_attr_setcpu_np()将该线程分配给一个特定的CPU，以改变线程属性。在调用这一功能之前，必须首先初始化线程属性。</p>
<p>RTLinux v. 3包括reserve_cpu功能，可预留SMP平台上的一个CPU，专供RTLinux使用。它可运行于2.4x内核，RTAI也具有几乎同样的功能。</p>
<p>如果想将任务分给某一特定的CPU，请留意“pset”方案(<a href="http://isunix.it.ilstu.edu/thockin/pset/" target="_blank">http://isunix.it.ilstu.edu/thockin/pset/</a>)。利用该内核可将一个SMP处理器专门分配给一个用户应用程序，甚至可从Linux处理器组中调用一个处理器专用于实时任务。</p>
<p>同步基元</p>
<p>早期的实时Linux没有同步基元。现在，POSIX型的旗语、互斥和信号在最新的实时Linux版本中都已出现。虽然在实时设计中采用这些同步基元还存 在问题，但同步或用信号表示实时任务和用户应用程序很有意义，然而，这要求软件开发者具有高超的技能，这一问题已超出本文的讨论范围。</p>
<p>快速学习pthread_mutex_init()、pthread_mutex_lock()、pthread_mutex_trylock()、 pthread_mutex_unlock()和pthread_mutex_destroy()等同步功能的最好方法是查看. /examples/mutex/mutex.c。特别要提醒的是./examples/mutex/sema_test.c文件是学习旗语的很好起点。</p>
<p>实时Linux发展方向</p>
<p>实时Linux与Linux一样仍然处于不断发展之中。每一个新的版本都添加了更多的特性和功能。实时Linux正朝着更好的POSIX 1003.x实现方向发展，最新的特性包括用户空间进程的实时支持、互斥、信号、旗语、实时存储器管理和扩展的SMP支持等。如果还未确定下一个项目采用 哪个实时系统，可下载一种实时Linux版本了解一下。其实，Linux已经是一种成熟的OS，而且具备实时扩展版本，它是嵌入式应用的最佳选择之一。</p>
<p>Alex Ivchenko博士是联合电子实业公司的研发工程经理，也是该公司PowerDAQ II系列PCI数据采集板的主要开发者之一。最近，他正为该系列卡编写Linux驱动程序。可通过电子邮件<a href="mailto://aivchenko@ueidaq.com/">aivchenko@ueidaq.com</a>与他联系。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/07/03/post-070703-170827-989/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[转]Linux2.6内核的嵌入式系统应用</title>
		<link>http://my.donews.com/acestrong/2007/07/02/post-070702-143055-402/</link>
		<comments>http://my.donews.com/acestrong/2007/07/02/post-070702-143055-402/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 06:31:55 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/07/02/post-070702-143055-402/</guid>
		<description><![CDATA[                         发表于                         2006-9-25 8:06:18
摘　要：在分析Linux2.6内核新特性的基础上,在S3C2410开发板上移植了2.6内核和新的文件系统,并成功地对H.264编解码多媒体系统提供了支... ]]></description>
			<content:encoded><![CDATA[<p class="article_info">                         发表于                         2006-9-25 8:06:18</p>
<p>摘　要：在分析Linux2.6内核新特性的基础上,在S3C2410开发板上移植了2.6内核和新的文件系统,并成功地对H.264编解码多媒体系统提供了支持。</p>
<p>关键词：Linux 内核 嵌入式系统 S3C2410</p>
<p>随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC 时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。</p>
<p>操作系统为用户使用计算机及其外部设备提供最基本的接口程序,管理计算机上的资源。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、 可伸缩性以及可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统 ——嵌入式操作系统随之延生。</p>
<p>Linux 操作系统是一种性能优良、源码公开且被广泛应用的免费操作系统,由于其体积小、可裁减、运行速度高、良好的网络性能等优点,可以作为嵌入式操作系统。随着 2.6内核的发布,Linux向现有主流的RTOS提供商在嵌入式系统市场提出了巨大挑战,例如VxWorks和WinCE,具有许多新特性,将成为更优 秀的嵌入式操作系统。</p>
<p>Linux的低成本和开放性,为其在嵌入式系统领域的应用营造了肥沃的土壤。本文着重介绍Linux 2.6内核的新特性及其嵌入式应用中的优势,并将其移植到嵌入式平台中,成功支持H.264编解码多媒体系统。</p>
<p>1、Linux 2.6内核针对嵌入式开发显著特点</p>
<p>实时可靠性是嵌入式应用较为普遍的要求,尽管Linux 2.6 并不是一个真正的实时操作系统,但其改进的特性能够满足响应需求。Linux 2.6 已经在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高[4]。在企业 服务器以及嵌入式系统应用领域,Linux 2.6 都是一个巨大的进步。在嵌入式领域,Linux 2.6 除了提高其实时性能,系统的移植更加方便,同时添加了新的体系结构和处理器类型——包括对没有硬件控制内存管理方案的 MMU-less系统的支持,可以支持大容量内存模型、微控制器,同时还改善了I/O子系统,增添更多的多媒体应用功能[4]。</p>
<p>1.1 可抢占内核</p>
<p>在先前的内核版本中(包括2.4内核)不允许抢占以核心态运行的任务(包括通过系统调用进入内核模式的用户任务),只能等待它们自己主动释放CPU。这样必然导致一些重要任务延时以等待系统调用结束。</p>
<p>一个内核任务可以被抢占,为的是让重要的用户应用程序可以继续运行。这样做最主要的优势是极大地增强系统的用户交互性。</p>
<p>2.6内核并不是真正的RTOS(Real Time Operation System),其在内核代码中插入了抢占点,允许调度程序中止当前进程而调用更高优先级的进程,通过对抢占点的测试避免不合理的系统调用延时。2.6内 核在一定程度上是可抢占的,比2.4内核具备更好的响应性。但也不是所有的内核代码段都可以被抢占,可以锁定内核代码的关键部分,确保CPU的数据结构和 状态始终受到保护而不被抢占。</p>
<p>软件需要满足最终时间限制与虚拟内存请求页面调度之间是相互矛盾的。慢速的页错误处理将会破坏系统的实时响应性,而2.6内核可以编译无虚拟内存系统避免这个问题,这是解决问题的关键,但要求软件设计者有足够的内存来保证任务的执行。</p>
<p>1.2 有效的调度程序</p>
<p>2.6版本的 Linux内核使用了由 Ingo Molnar开发的新的调度器算法,称为O(1)算法,如图1所示。它在高负载情况下执行得极其出色,并且当有很多处理器并行时也可以很好地扩展[2]。 过去的调度程序需要查找整个ready task队列,并且计算它们的重要性以决定下一步调用的task,需要的时间随task数量而改变。O(1)算法则不再每次扫描所有的任务,当task就 绪时被放入一个活动队列中,调度程序每次从中调度适合的task,因而每次调度都是一个固定的时间。任务运行时分配一个时间片,当时间片结束,该任务将放 弃处理器并根据其优先级转到过期队列中。活动队列中任务全部调度结束后,两个队列指针互换,过期队列成为当前队列,调度程序继续以简单的算法调度当前队列 中的任务。这在多处理器的情况更能提高SMP的效率,平衡处理器的负载,避免进程在处理器间的跳跃。</p>
<p>1.3 同步原型与共享内存</p>
<p>多进程应用程序需要共享内存和外设资源,为避免竞争采用了互斥的方法保证资源在同一时刻只被一个任务访问。Linux内核用一个系统调用来决定一个线程 阻塞或是继续执行来实现互斥,在线程继续执行时,这个费时的系统调用就没有必要了。Linux2.6所支持的Fast User-Space Mutexes 可以从用户空间检测是不是需要阻塞线程,只在需要时执行系统调用终止线程。它同样采用调度优先级来确定将要执行的进程[4]。多处理器嵌入式系统各处理器 之间需要共享内存,对称多处理技术对内存访问采用同等优先级,在很大程度上限制了系统的可量测性和处理效率。Linux2.6 则提供了新的管理方法——NUMA(Non Uniform Memory Access)。NUMA根据处理器和内存的拓扑布局,在发生内存竞争时,给予不同处理器不同级别权限以解决内存抢占瓶颈,提高吞吐量。</p>
<p>1.4 POSIX线程及NPTL</p>
<p>新的线程模型基于一个1:1的线程模型(一个内核线程对应一个用户线程),包括内核对新的 NPTL(Native POSIX Threading Library)的支持,这是对以前内核线程方法的明显改进。2.6内核同时还提供POSIX signals和POSIX high-resolution timers。POSIX signals不会丢失,并且可以携带线程间或处理器间的通信信息。嵌入式系统要求系统按时间表执行任务,POSIX timer可以提供1kHz的触发器使这一切变得简单,从而可以有效地控制进度。</p>
<p>1.5 微控制器的支持</p>
<p>Linux2.6内核加入了多种微控制器的支持。无MMU的处理器以前只能利用一些改进的分支版本,如uClinux,而2.6内核已经将其整合进了新的 内核中,开始支持多种流行的无MMU微控制器,如Dragonball、ColdFire、Hitachi H8/300。Linux在无MMU控制器上仍旧支持多任务处理,但没有内存保护功能。同时也加入了许多流行的控制器的支持,如S3C2410等。</p>
<p>1.6 面向应用</p>
<p>嵌入式应用有用户定制的特点,硬件设计都针对特定应用开发,这给系统带来对非标准化设计支持的问题(如IRQ的管理)。为了更好地实现,可以采用部件化 的操作系统。Linux2.6采用的子系统架构将功能模块化,可以定制而对其他部分影响最小。同时Linux2.6提供了多种新技术的支持以实现各种应用 开发,如Advanced Linux Sound Architecture(ALSA)和Video4Linux等,对多媒体信息处理更加方便;对USB2.0的支持,提供更高速的传输,增加蓝牙无线接 口、音频数据链接和面向链接的数据传输L2CAP,满足短距离的无线连接的需要;而且在2.6内核中还可以配置成无输入和显示的纯粹无用户接口系统。</p>
<p>2、应用研究</p>
<p>在S3C2410开发板上移植嵌入式Linux 2.6.11.7内核系统,应用于构建H.264多媒体系统。</p>
<p>2.1 建立交叉编译环境</p>
<p>在RedHat9的主机上进行内核移植开发,首先需要建立交叉编译环境。由于2.6内核中采用了一些新的特性和指令,需要采用较新的工具集,采用 binutils-2.15、gcc-3.4.2、glibc-2.2.5、linux-2.6.8、glibc-linuxthreads-2.2.5 来建立交叉编译工具链,建立之后将工具链路径加入系统路径$PATH中。</p>
<p>2.2 内核修改</p>
<p>Linux 2.6.11.7内核加入了对S3C2410芯片的支持,不再需要任何补丁文件。修改内核源码中Makefile的交叉编译选项ARCH=arm, CROSS_COMPILE=arm-linux-。针对硬件配置,需要在arch/arm/mach-s3c2410/devs.c或者 smdk2410.c中添加FLASH的分区信息s3c_nand_info,如表1。</p>
<p>表1 NAND FLASH分区表</p>
<p>分区名 起始地址 大 小</p>
<p>Vivi 0&#215;00000000 0&#215;00020000</p>
<p>Param 0&#215;00020000 0&#215;00010000</p>
<p>Kernel 0&#215;00030000 0&#215;001c0000</p>
<p>Root 0&#215;00200000 0&#215;00200000</p>
<p>Usr 0&#215;00400000 0&#215;03c00000</p>
<p>然后在s3c_device_nand中增加.dev={.platform_data= &amp;s3c_nand_info},在arch/arm/mach-s3c2410/mach-smdk2410.c中的__initdata部分 增加&amp;s3c_device_nand,使内核在启动时初始化NAND FLASH信息。</p>
<p>2.3 内核编译加载</p>
<p>对内核进行适当的配置是一个量体裁衣的过程。由于2.6内核会根据本地系统配置进行初始设置,可以导入内核源码默认s3c2410的配置文件,方便加载 内核基本配置,然后再选择所需选项。对MTD配置选择支持MTD设备驱动以及NAND FLASH驱动;选择支持要用到的各类文件系统(DEVFS、TMPFS、CRAMFS、YAFFS、EXT2、NFS)以及网络设备和协议,本系统加载 了网络芯片CS8900以及USB支持;在H.264多媒体系统中还需要加载Frame buffer以支持LCD显示功能。使用交叉编译工具编译内核源码后, 会在arch/arm/boot/下生成名为zImage的内核映像,在Boot loader的命令提示模式下使用下载命令完成内核加载到开发板的存储设备FLASH中。编译过程(相对以前版本的编译过程,2.6内核编译有所简化):</p>
<p>make mrproper</p>
<p>make menuconfig(字符界面,或者用make xconfig图形界面,但需要Qt库的支持,而make gconfig则需要GTK库的支持)</p>
<p>make</p>
<p>make bzImage</p>
<p>2.4 文件系统</p>
<p>Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口。Linux 支持多种文件系统,本系统使用CRAMFS格式的只读根文件系统,而将FLASH中的USER区使用支持可读写的YA FFS文件系统格式,方便添加自己的应用程序。</p>
<p>在根文件系统中,为保护系统的基本设置不被更改,采用CRAMFS格式。采用DEVFS来实现基本设备的建立挂载,同时使用BusyBox也是一个缩小 根文件系统的办法,提供了系统的基本指令;还需要建立一些必备的目录,添加所需配置文件,如fstab、inittab等;还有一个重要的工作就是添加系 统应用必备的动态函数库。使用生成工具mkcramfs 将整个根文件目录里的内容制作成映像文件。</p>
<p>mkcramfs rootfs rootfs.ramfs</p>
<p>YAFFS文件系统格式的支持需要将驱动加入到内核代码树下fs/yaffs/,修改内核配置文件,就可以在内核编译中加载对该文件系统的支持。使用 mkyaffs工具将NAND FLASH分区格式化为YAFFS分区,将mkyaffsimage生成的应用程序镜像烧写进YAFFS分区,在启动时通过写入fstab自动加载 YAFFS分区即可。</p>
<p>2.5 网络设备驱动</p>
<p>系统中采用CS8900A的10M网络芯片,它使用S3C2410 的nGCS3和IRQ_EINT9,相应修改linux/arch/arm/mach-s3c2410/irq.c,并在mach-smdk2410.c 的smdk2410_iodesc[]中增加{SMDK2410_ETH_IO,S3C2410_CS2, SZ_1M, MT_DEVICE},内核源码中加入芯片的驱动程序drivers/net/arm/cs8900.h和cs8900.c,并且配置网络设备驱动的 Makefile和Kconfig文件,加入CS8900A的配置选项,这样可以在内核编译时加载网络设备的驱动。</p>
<p>在 Linux2.6应用的同时,也要看到其与以前版本内核比较存在的一些问题。在内核的编译时间、内核镜像大小、内核占用RAM空间大小、系统启动时间相对 Linux2.4而言都存在不同程度的不足,但在硬件条件日益进步的现今可以接受,而且一部分也是由于功能加强必然带来的。虽然Linux并非一个真正的 实时操作系统,但2.6内核的改进能够满足大部分的应用需求,所以Linux2.6内核将会在嵌入式系统领域大展身手。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/07/02/post-070702-143055-402/feed/</wfw:commentRss>
		</item>
		<item>
		<title>发现XPath就是好使～</title>
		<link>http://my.donews.com/acestrong/2007/05/01/post-070501-225358-806/</link>
		<comments>http://my.donews.com/acestrong/2007/05/01/post-070501-225358-806/#comments</comments>
		<pubDate>Tue, 01 May 2007 14:57:45 +0000</pubDate>
		<dc:creator>acestrong</dc:creator>
		
		<category><![CDATA[常总结总结]]></category>

		<category><![CDATA[该上心的事儿]]></category>

		<guid isPermaLink="false">http://my.donews.com/acestrong/2007/05/01/post-070501-225358-806/</guid>
		<description><![CDATA[昨天试了一下，还是XPath方式好使！看了XPath的教程，非常的简单，再写了个测试程序，真的非常的好用。以后就用它了～～... ]]></description>
			<content:encoded><![CDATA[<p>昨天试了一下，还是XPath方式好使！看了XPath的教程，非常的简单，再写了个测试程序，真的非常的好用。以后就用它了～～</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/acestrong/2007/05/01/post-070501-225358-806/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
