相关文章  
  • 学习Linux网络编程之终结篇
  • Linux操作系统逻辑盘卷管理LVM详解(3)
  • 在Linux下的(VRRP)虚拟路由冗余协议介绍
  • 巧妙利用Linux系统IP伪装抵住黑客攻击
  • Linux中的冲突问题及其应对策略
  • 在LINUX下配置JAVA开发环境
  • 开发Linux命令行实用程序
  • 在Linux系统中批量添加用户的操作流程
  • 学习Linux网络编程之二
  • 学习Linux网络编程之一
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    利用RTLinux开发嵌入式应用程序5

    一种方便的机制,但将它们作为消息队列更合适。比如,一个实时线程可利用FIFO记录测试结果,然后用户进程就可读取该结果,并将之存入数据库文件。

      许多数据采集应用程序涉及到内核及用户空间之间的大量数据。Linux内核v.2.2.x并没有为这些空间的数据共享提供任何机制,但v.2.4.0版本预计会包括kiobuf结构。为解决现有稳定内核的这个缺点,RTLinux包括mbuff驱动程序。该驱动程序可利用vmalloc()分配虚拟内核存储器的已命名存储器区域,它采用的存储器分配和页面锁定技巧跟大多数Linux中bttv帧抓取器(frame-grabber)驱动程序所用的一样。

      更具体地说,mbuff一页一页地将虚拟内存锁定到实际的物理内存页面。任何实时或内核任务,或用户进程在任何时间都可访问该存储器。通过将虚拟内存页面锁定到物理内存页面,mbuff可确保所分配的页面永久驻留在物理内存,而且不会发生页面错误。换言之,当实时或内核进程访问所分配的存储器时,它可确保VMM不被调用。注意:由于实时任务执行期间实时Linux冻结标准内核的执行,任何对VMM的调用都会引起系统暂停。如果它要访问并不位于物理RAM内的虚拟存储页面,那么即使正常的Linux内核驱动程序也会引起系统故障。

      由于mbuff是一种Linux驱动程序,其功能可通过设备节点/

    页码:[1] [2] [3] [4] [5] [6] [7]5页、共7页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved