| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 
您现在的位置: 范文大全网 >> 论文 >> 今日更新 >> 正文 用户登录 新用户注册
嵌入式操作系统的多线程机制研究与实现           
嵌入式操作系统的多线程机制研究与实现
堆栈的安全检查为例,图4是一个在没有MMU(内存管理单元)的处理器上产生的堆栈溢出情况。在图4中,堆栈指针寄存器已经处于线程1的堆栈底部时,如果再次压栈就会产生堆栈溢出。如果线程1的堆栈底下还有内存,则不会产生硬件异常,这时线程1并不知道发生了溢出,在这种情况将会对紧接在线程1下面的应用程序造成严重的破坏。这时线程1正在运行,所以,只要线程1一直占据处理器,对整个系统的安全性能没有产生严重的危害,但是如果把线程1切换出去,运行到被破坏的程序时,后果将是很严重。比如一个非常重要的变量被线程1修改了,这时运行的程序将有可能使系统输出一个错误的信号。所以,在线程切换时,必须将当前堆栈指针寄存器与堆顶和堆栈大小比较。如果发生了堆栈溢出,线程切换程序产生一个严重异常信息给操作系统。
  线程切换接下来的一个重要工作就是启动线程调度器。线程切换只是启动线程调度器,它只对进程内的线程切换,相比线程切换,可以减小开销。线程切换可以用软中断或其它方式来模拟压栈。
  3.3 线程延时
  一个线程延时函数的例子为int ThreadDly(unsigned int dwMilliseconds),如果调用时发生异常,则ThreadDly返回错误码,参数dwMilliseconds是延迟时间,单位是毫秒。线程延时函数首先检查线程,看看线程是否满足睡眠条件,然后将延迟时间dwMilliseonds与当前系统嘀嗒相加,放入线程的ThreadDly变量中,最后调用线程切换。这里要注意的一个问题是要防止线程延迟操作时将进程睡眠。
  4 结束语
  嵌入式操作系统的多线程机制研究与实现从理论与实际出发,在研究了多线程机制的原理后,给出了一种针对小型嵌入式操作系统的实现方案,这种多线程实现方案,在实际的项目中得到了很好的应用。本文虽然是主要针对小型的嵌入式操作系统,对于硬件资源非富的大型嵌入式系统,多线程的实现原理相同,只要根据系统追求速度,存储空间等要求做出相应的取舍。对于多线程机制的研究还有许多工作值得开展,比如调度算法,多线程库的实现等。中国论文联盟Www.LWlM.com
  参考文献:
  [1] 罗宇,商临锋.操作系统多线程实现技术研究[J].小型微型计算机系统,2000,21(5).
  [2] Mrv

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

  • 上一个论文:

  • 下一个论文:
  • 推荐文章
    基于USB总线的嵌入式甲烷气体
    基于Xscale架构实训的嵌入式
    中高端人才工作嵌入的结构模
    植入式营销说服机制的符号学
    嵌入式实时操作系统研究与分
    嵌入式测控系统中的多处理器
    嵌入式实时操作系统研究与分
    嵌入式数控系统软件总体设计
    嵌入式实时操作系统研究与分
    嵌入式数控系统软件总体设计