转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
Linux嵌入式实时操作系统开发与设计(三)         ★★★★

Linux嵌入式实时操作系统开发与设计(三)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1152 更新时间:2009/4/22 20:45:18

 

2.1  异步中断和中断响应时间

 

中断响应时间并不是一个常量。它与操作系统和硬件平台有关。要测量精确的关闭中断的时间,并不是通过上面的定义来进行。因为从中断到来到当前任务停止属于中断延迟时间。在Linux中,内核或驱动程序显式地关/开中断,一般是通过调用__cli()/__sti()来进行操作。中断延迟程序计算一对__cli()/__sti()调用之间的时间。在调用__cli()时,记录系统时间值,读出__sti()被调用时的系统时间值。他们之间的时间差就是关中断时间。Linux下的关中断时间如图2.2所示:

关中断时间测试程序重新写了__cli()/__sti()宏,以允许记录调用它们的文件以及在何处调用。记录这些信息以分析在Linux中那些关中断时间是比较长。(中断测试程序的代码在附录A)

我对Linux进行了大约3个小时的测试,测试的结果如表。在测试中运行一些程序,其中包括一个磁盘循环拷贝程序,打开一些应用程序。可以发现系统负载比较重时,系统的页面调度花了比较多的时间,将近500微秒。表2.1表2.2是统计结果。

 

 

2.2  关中断时间

 

表2.1  中断关闭时间直方图

 

2.2  中断关闭时间概率密度函数直方图

 

可以看出在我的测试系统中系统中断关闭时间最大达到496微秒,一般中断关闭时间是在250微秒到300微秒左右。这次测试并没有进行所有情况下的测试,从这些结果我们就可以看出: Linux的系统设计人员采用分时的调度、低的计时分辨率、非占先式内核、关中断和虚拟内存是造成系统关中断时间过于长的原因。

 

2.2.2  上下文切换测试

上下文切换时间是保存一个进程状态,然后恢复另外一个进程状态的时间。我写了一个测试程序来测试这个时间(程序见附录B)。程序运行时,根据输入的参数来决定创建多少个进程。所有的进程用一个环形的UNIX管道连接。程序中实现一个令牌在这些进程之间传递,迫使进行进程间的上下文切换。程序记录在进程间传递令牌2000次所花的时间。每一次令牌的传递有两个开销:上下文切换开销和令牌传递开销。程序首先计算令牌在环形管道中传递的开销,在输出的结果已经除去了这部分开销。

为了计算更真实的切换时间,我加入了人为的数据在里面,进程切换时间包括保存用户级数据状态的时间。测试的结果在表2.3所示,Y轴表示切换时间,X轴表示进程数目,size表示进程的大小。

    从结果看,进程的随着进程的大小变化,切换时间在增加,在16k以内增加幅度不大,是因为此时进程的大小还没有超出一级缓存的大小,超过16k时,增加幅度比较大,进程大小达到64k时,切换时间达到300微秒。Linux切换时间过于大的原因是系统保存了过于多的状态。在上下文切换过程中,系统是关中断的,意味着此时的系统关中断时间超过300微秒。对于实时应用来所是不能接受的。

2.3  上下文切换时间

上一页  [1] [2] 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台