连栋薄膜温室大棚为什么做排水系统 最新新闻 薄膜大棚,蔬菜

Linux系统启动时间优化方案
16:05:10来源: 21ic
(1)首先是对的跟踪和分析,生成详细的启动时间报告。较为简单可行的方式是通过PrintkTime功能为启动过程的所有内核信息增加时间戳,便于汇总分析。PrintkTime最早为CELF所提供的一个内核补丁,在后来的Kernel 2.6.11版本中正式纳入标准内核。所以大家可能在新版本的内核中直接启用该功能。如果你的Linux内核因为某些原因不能更新为2.6.11之后的版本,那么可以参考CELF提供的方法修改或直接下载它们提供的补丁:http://tree.celinuxforum.org/CelfPubWiki/PrintkTimes开启PrintkTime功能的方法很简单,只需在内核启动参数中增加“time”即可。当然,你也可以选择在编译内核时直接指定“Kernel hacking”中的“Show timing information on printks”来强制每次启动均为内核信息增加时间戳。这一种方式还有另一个好处:你可以得到内核在解析启动参数前所有信息的时间。因此,我选择后一种方式。当完成上述配置后,重新启动Linux,然后通过以下命令将内核启动信息输出到文件:dmesg -s 131072 > ktime然后利用一个脚本“show_delta”(位于Linux源码的scripts文件夹下)将上述输出的文件转换为时间增量显示格式:/usr/src/linux-x.xx.xx/scripts/show_delta ktime > dtime这样,你就得到了一份关于Linux启动时间消耗的详细报告。  (2)然后,我们就来通过这份报告,找出启动中相对耗时的过程。必须明确一点:报告中的时间增量和内核信息之间没有必然的对应关系,真正的时间消耗必须从内核源码入手分析。这一点对于稍微熟悉编程的朋友来说都不难理解,因为时间增量只是两次调用printk之间的时间差值。通常来说,内核启动过程中在完成一些耗时的任务,如创建hash索引、probe硬件设备等操作后会通过printk将结果打印出来,这种情况下,时间增量往往反映的是信息对应过程的耗时;但有些时候,内核是在调用printk输出信息后才开始相应的过程,那么报告中内核信息相应过程的时间消耗对应的是其下一行的时间增量;还有一些时候,时间消耗在了两次内核信息输出之间的某个不确定的时段,这样时间增量可能就完全无法通过内核信息反应出来了。所以,为了准确判断真正的时间消耗,我们需要结合内核源码进行分析。必要的时候,例如上述第三种情形下,还得自己在源码中插入printk打印,以进一步确定实际的时间消耗过程。以下是我上次裁减后Linux内核的启动分析:内核启动总时间: 6.188s关键的耗时部分:1) 0.652s - Timer,IRQ,Cache,Mem Pages等核心部分的初始化2) 0.611s - 内核与RTC时钟同步3) 0.328s - 计算Calibrating Delay(4个CPU核心的总消耗)4) 0.144s - 校准APIC时钟5) 0.312s - 校准Migration Cost6) 3.520s - Intel E1000网卡初始化下面,将针对上述各部分进行逐一分析和化解。  (3)接下来,进行具体的。CELF已经提出了一整套针对消费类电子产品所使用的Linux的启动优化方案,但是由于面向不同应用,所以我们只能部分借鉴他们的经验,针对自己面对的问题作出具体的分析和尝试。(Timer、IRQ、Cache、Mem Pages……)的初始化目前暂时没有比较可靠和可行的优化方案,所以暂不考虑。对于上面分析结果中的 2、3 两项,CELF已有专项的优化:“RTCNoSync”和“PresetLPJ”。前者通过屏蔽启动过程中所进行的RTC时钟同步或者将这一过程放到启动后进行(视具体应用对时钟精度的需求而定),实现起来比较容易,但需要为内核打补丁。似乎CELF目前的工作仅仅是去掉了该过程,而没有实现所提到的“延后”处理RTC时钟的同步。考虑到这个原因,我的方案中暂时没有引入这一优化(毕竟它所带来的时间漂移已经达到了“秒”级),继续关注中。后者是通过在启动参数中强制指定LPJ值而跳过实际的计算过程,这是基于LPJ值在硬件条件不变的情况下不会变化的考虑。所以在正常启动后记录下内核信息中的“Calibrating Delay”数值后就可以在启动参数中以下面的形式强制指定LPJ值了:lpj=9600700上面分析结果中的 4、5 两项都是SMP初始化的一部分,因此不在CELF研究的范畴(或许将来会有采用多核的MP4出现?……),只能自力更生了。研究了一下SMP的初始化代码,发现“Migration Cost”其实也可以像“Calibrating Delay”采用预置的方式跳过校准时间。方法类似,最后在内核启动参数中增加:migration_cost=而Intel的网卡驱动初始化优化起来就比较麻烦了,虽然也是开源,但读硬件驱动完全不比读一般的C代码,况且建立在如此肤浅理解基础上的“优化”修改也实在难保万全。基于可靠性的考虑,我最终在两次尝试均告失败后放弃了这一条路。那么,换一个思维角度,可以借鉴CELF在“ParallelRCScripts”方案中的“并行初始化”思想,将网卡驱动独立编译为模块,放在初始化脚本中与其它模块和应用同步加载,从而消除Probe阻塞对启动时间的影响。考虑到应用初始化也可能使用到网络,而在我们的实际硬件环境中,只有eth0是供应用使用的,因此需要将第一个网口初始化的0.3s时间计算在内。除了在我的方案中所遇到的上述各优化点,CELF还提出了一些你可能会感兴趣的有特定针对性的专项优化,如:ShortIDEDelays - 缩短IDE探测时长(我的应用场景中不包含硬盘,所以用不上)KernelXIP - 直接在ROM或Flash中运行内核(考虑到兼容性因素,未采用)IDENoProbe - 跳过未连接设备的IDE口OptimizeRCScripts - 优化initrd中的linuxrc脚本(我采用了BusyBox更简洁的linuxrc)以及其它一些尚处于设想阶段的优化方案,感兴趣的朋友可以访问CELF Developer Wiki了解详情。  (4)优化结果经过上述专项优化,以及对inittab、rcS脚本的冗余裁减,整个Linux内核的启动时间从优化前的 6.188s 下降到了最终的 2.016s,如果不包含eth0的初始化,则仅需 1.708s(eth0初始化可以和系统中间件及部分应用加载并行),基本达到了既定目标。与Kexec配合,可以大大降低软件故障导致的复位时间,有效的提升了产品的可靠性。
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。嵌入式Linux下ADS1256驱动程序的设计与实现--《化工自动化及仪表》2015年12期
嵌入式Linux下ADS1256驱动程序的设计与实现
【摘要】:设计了S3C2440A和ADS1256基于SPI的接口电路,阐述了嵌入式Linux2.6.32.2下ADS1256驱动程序的开发、编译和加载过程,编写了相应的驱动程序和采集系统的测试程序。该驱动在气密性压力信号采集系统中的测试结果表明:驱动工作正常,采样结果正确。
【作者单位】:
【关键词】:
【基金】:
【分类号】:TP311.56;TP316.81【正文快照】:
在自动化测试系统中,处理器往往需要通过模数转换器获取传感器采集到的原始数据。S3C2440A微处理器自带八通道10位的AD转换器,在测量精度要求不高时可以直接使用。在实际应用中,为满足高精度测量要求,需要外扩模数转换器。笔者选用24位分辨率带SPI接口的模数转换器ADS1256作为
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【共引文献】
中国硕士学位论文全文数据库
杨斌斌;[D];太原理工大学;2009年
周文霞;[D];南京航空航天大学;2009年
仰观东;[D];北京化工大学;2010年
杨建华;[D];华南理工大学;2010年
【二级参考文献】
中国期刊全文数据库
周国华,陆德波,朱荆洲;[J];计算机与数字工程;2005年03期
【相似文献】
中国期刊全文数据库
张莉;[J];枣庄师专学报;2001年05期
刘晨明;[J];电脑爱好者;2001年02期
方成亮;[J];电脑技术;2002年12期
;[J];内蒙古广播与电视技术;2002年02期
大青蛙;[J];电脑爱好者;2002年13期
小猫;[J];中国电子与网络出版;2003年05期
张敏,王晓明;[J];计算机工程与设计;2003年03期
张亚鹏;[J];网络与信息;2003年08期
伍裕标;;[J];软件导刊;2003年02期
大阳;[J];个人电脑;2004年06期
中国重要会议论文全文数据库
马宏;王元钦;;[A];中国体视学学会图像分析专业、中国体视学学会仿真与虚拟现实专业、中国航空学会信号与信息处理专业第一届联合学术会议论文集[C];2000年
臧淼;;[A];2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(上册)[C];2007年
张玉民;陈定方;;[A];湖北省机械工程学会机械设计与传动专业委员会第十五届学术年会论文集(一)[C];2007年
杨显强;田远富;;[A];四川省通信学会2005年学术年会论文集[C];2005年
戴志坚;王厚军;许海清;;[A];第三届全国信息获取与处理学术会议论文集[C];2005年
姚念民;;[A];黑龙江省计算机学会2007年学术交流年会论文集[C];2007年
周斌;辛阳;陈涤;;[A];2007北京地区高校研究生学术交流会通信与信息技术会议论文集(上册)[C];2008年
李莉;彭成宝;张霞;;[A];第十五届全国数据库学术会议论文集[C];1998年
薛烁;王爱玲;;[A];全国ISNBM学术交流会暨电脑开发与应用创刊20周年庆祝大会论文集[C];2005年
陈磊;刘小华;倪国强;;[A];光电技术与系统文选——中国光学学会光电技术专业委员会成立二十周年暨第十一届全国光电技术与系统学术会议论文集[C];2005年
中国重要报纸全文数据库
胡锦承;[N];电脑报;2000年
杨特;[N];电脑报;2003年
丁江华;[N];中国电脑教育报;2004年
程鹏;[N];南方日报;2007年
王志军;[N];中国电脑教育报;2000年
翟俊辉;[N];中国电脑教育报;2003年
顾祥华;[N];中国电脑教育报;2003年
;[N];中国电脑教育报;2004年
姚道满;[N];解放军报;2002年
阿贵;[N];计算机世界;2004年
中国硕士学位论文全文数据库
许常宜;[D];苏州大学;2015年
王梦雪;[D];南京理工大学;2015年
肖征荣;[D];西安电子科技大学;2002年
王根根;[D];中北大学;2007年
杨震;[D];北京大学;2008年
王兵;[D];电子科技大学;2007年
王楠林;[D];南京理工大学;2008年
李木天;[D];哈尔滨工业大学;2007年
袁征峰;[D];北京交通大学;2009年
刘仁峰;[D];华中科技大学;2004年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号1004人阅读
Linux Test(35)
在Linux平台下,借助工具或者其他手段实施测试的自动化时,需要关注以下几点:
  (一)各种技术应用的前提。对于在开源社区和一些开源项目中获得的测试工具,首先需要了解工具适用于哪些类型应用的测试,以及工具发布后的发布说明和FAQ。开源的工具通常不像商业工具那样成熟稳定,因此找出工具的适用范围以及探索工具的实现程度是进行自动化测试应用的前提。
  (二)各种技术应用的环境需求。对于各类工具,需要关注编译和运行时对各种包和库及其版本的依赖关系以及对预先安装的应用的依赖关系。这些在用户手册中都有详尽的说明。
  (三)服务器性能监视器。大部分测试工具没有提供服务器端的性能监控功能,测试工程师需要根据实际的需求编写性能监控脚本来配合工具的使用。
  下面结合曾经参与进行过的Linux平台下的自动化测试的研究,面向不同类别的测试用例自动化的需求,将主要从功能测试,如GUI测试、命令行客户端的测试,以及性能测试等几个方面对Linux平台下的测试工作的自动化进行分析和说明。
  GZW自动化洲试
  对于GUI测试的自动化,通常的测试工具所使用的捕捉/回放技术有两种,一种是通过记录界面的鼠标事件(如点击、移动)和键盘事件来完成录制和回放,另外一种则是录制和回放都是基于控件的识别和操作进行的,每个脚本的执行都是控件对象的属性改变或事件触发。我们从开源社区可以获得如上两种类型的运行于Linux平台之上的典型测试工具,如Knee和LDTP等。
  (一)Xnee工具
  在Linux操作系统的xll环境下,Xnee能够录制、回放和分发用户的动作。Xnee的捕捉/回放技术是记录鼠标事件和键盘事件。进入录制模式时,Xnee记录发送至和来自X server之间的协议数据拷贝,并生成Xneesession文件。在回放模式下,Xnee读取Xnee Session中的事件,模仿整个录制过程(即用户操作过程)完成和x server之间的通讯,被录制的应用软件(Xclient)则接收来自xserver的消息,完成预设的动作。
  (二)LDTP测试工具/框架
  Linux Desktop Testing Project(LDTP)测试工具/框架能够基于用户在应用界面的选择进行脚本的录制。LDTPI具使用了Gnome环境下的Accessibility库即辅助选项库(at-spi)。使用辅助选项能够获得应用通过AT-SPI协议提供的关于用户界面的信息和界面控件的当前状态或者属性。LDTPI具/框架的体系结构如下:
  AT-SPI的基础思想就是为用户界面的可视化元素提供对应的辅助对象,而录制完成的每个脚本的执行都是基于这些辅助对象进行的。对于希望利用LDTPI具进行测试的应用,需要激活辅助选项。
  (三)GUI自动化测试工具的应用
  在实际的GUI自动化测试中,LDTPI具应用的场景会更广泛一些。LDTPI具可以识别窗口中的对象(如按钮),测试脚本使用LDTP的API接口,每个API接口对UI对象进行操作存在两个最基本的入口,即窗口和对象,窗口通过窗口的类型和名称(即标题)识别,对象通过希望操作的控件的类型和名称(标签或者关联的标签)识别。我们同样可以通过at-pokel具展现激活了辅助选项的应用程序窗口的对象及对象属性。在测试Linux桌面产品和服务器产品的过程中,使用LDTPI具可以测试任何启用辅助选项的Gnome应用,如Mozilla,OpenOffice.org、Evolution邮件客户端,Nautilus文件浏览器等等,此外还可以测试UI界面基于Swing的Java应用,以及KDE4.O上基于QT4.0的应用等等。
  而Xneel具所针对的应用程序类型就没有特别的限制,对于一些简单的窗口验证测试和界面的稳定性测试等则比较有效。Xnee相对于基于控件方式捕获和回放的工具而言,不用担心存在控件不能被识别的问题。
  从使用的情况来看,各个工具也都因为实现技术而存在一定的缺陷,如两个工具均不能插入验证点,从而不能实现用例级别的结果验证;LDTP对于界面的个别元素捕获不到以及不能对不支持辅助选项的应用进行测试等等;而Xneel具生成的脚本可编辑性差,同时由于录制生成的脚本中的事件和屏幕坐标相关,因此当出现窗口弹出位置发生变化等问题时,就需要考虑回放时应该如何来处理这些变化。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:734294次
积分:9602
积分:9602
排名:第1657名
原创:189篇
转载:290篇
评论:166条
(3)(3)(3)(1)(2)(2)(2)(2)(4)(1)(9)(1)(1)(11)(47)(45)(5)(14)(15)(15)(8)(8)(11)(30)(10)(23)(40)(3)(2)(15)(2)(2)(16)(38)(15)(21)(33)(7)(5)(4)(2)(4)(1)(1)(2)(3)当前位置: &
> 轻松带你入门嵌入式
轻松带你入门嵌入式
+LINUX路线,主攻操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。 (2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 (3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。 (4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是: (1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。 (2)这方面的企业数量要远少于企业计算类企业。 (3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。 (4)平台依托强,换平台比较辛苦。
兴趣的由来: 1、成功观念不同,不虚度此生,就是我的成功。 2、喜欢思考,挑战逻辑思维。 3、喜欢C C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下: 相信程序员。 不要阻止程序员做那些需要去做的。 保持语言短小精干。 一种方法做一个操作。 使得它运行的够快,尽管它并不能保证将是可移植的。 4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。 5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识: 目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。 科目:数字、计算机组成原理、嵌入式微处理器结构。 汇编语言、C/C++、编译原理、离散数学。 数据结构和算法、操作系统、软件工程、网络、数据库。 方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。 主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。 2、学习linux: 目的:深入掌握linux系统。    方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。 主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统。 方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。    (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究。    (3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。    主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 4、深入学习:    A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。    B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。    C、网络与信息安全技术:如加密技术,数字证书CA等。    D、技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。     说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一 种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。    注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。    不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!    技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。深圳专业嵌入式实训郭老师QQ
嵌入式书籍推荐    Linux基础    1、《Linux与Unix Shell 编程指南》    基础    1、《C Primer Plus,5th Edition》【美】Stephen Prata着    2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着    3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)    4、《嵌入式Linux应用程序开发详解》    Linux内核    1、《深入理解Linux内核》(第三版)    2、《Linux内核源代码情景分析》毛德操 胡希明著    研发方向    1、《UNIX Network Programming》(UNP)    2、《TCP/IP详解》    3、《Linux内核编程》    4、《Linux设备驱动开发》(LDD)     5、《Linux高级程序设计》 杨宗德著   硬件基础    1、《ARM体系结构与编程》杜春雷着    2、 Datasheet    英语基础    1、《计算机与通信专业英语》    系统教程    1、《嵌入式系统――体系结构、编程与设计》    2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着    3、《Building Embedded Linux Systems》      4、《嵌入式ARM系统原理与实例开发》 杨宗德著   理论基础    1、《算法导论》    2、《数据结构(C语言版)》    3、《计算机组织与体系结构?性能分析》    4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着    5、《操作系统:精髓与设计原理》    6、《编译原理》    7、《数据通信与计算机网络》    8、《数据压缩原理与应用》    C语言书籍推荐    1. The C programming language 《C程序设计语言》    2. Pointers on C 《C和指针》    3. C traps and pitfalls 《C陷阱与缺陷》    4. Expert C Lanuage 《专家C编程》    5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs    《编程精粹--Microsoft 编写优质无错C程序秘诀》    6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》    7.《C语言嵌入式系统编程修炼》    8.《高质量C++/C编程指南》林锐    尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。
欢迎分享本文,转载请保留出处: &&&
相关资料下载
相关设计应用
学习了,谢谢
不客气,相互学习

我要回帖

更多关于 蔬菜大棚薄膜施工方案 的文章

 

随机推荐