博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

CalmArrow

【打好基础】全力以赴,顺其自然【每天进步一点点】
  piaoxiang.cublog.cn

关于作者
姓名:CalmArrow(lqm)
职业:硕士在读
位置:山东济南
研究:嵌入式系统设计
联系:calmarrow@gmail.com

信仰:
    1、永远保持积极向上(积极的心态,积极的思考,积极的行动),享受生活给予的一切!
    2、做正确的事,正确的做事;用心去做,做到最好!
    3、如果你觉得不幸福,那么请你把幸福的门槛降低一些,不要把幸福拒之门外。。。

方向:
    在嵌入式系统设计中感兴趣的方向有:ARM、Linux、网络通信

目标:
    软硬结合,打好基础,提高学习能力,完善知识体系,建立核心优势。

方法:
    理论与实践相结合
    深度与广度相结合
    理解与记忆相结合

说明:
    本Blog仅供学习之用,转载文章如涉及版权,请通知。原创作品如转载,请注明出处。
|| << >> ||
我的分类


并发与多任务的基础概念
    并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制。大致上有这么两种多任务技术,一种是抢占式多任务 (preemptive multitasking),它让操作系统来决定何时执行哪个任务。另外一种就是协作式多任务(cooperative multitasking),它把决定权交给任务,让它们在自己认为合适的时候自愿放弃执行。这两种多任务方式各有优缺点,前者固有的同步问题使得程序经常有不可预知的行为,而后者则要求任务具备相当的自律精神。
 
    Preemptive Multitasking(先占式多任务处理,也可以译为抢占式多任务处理)所有程序代码的执行以Thread(执行绪)为单位,由操作系统统一排程与管理所有的Thread。分配的执行时间结束时,操作系统会主动中断Thread的执行,强制收回CPU的椌制权,但会以一组Thread Context记下Thread被中断时的状态,以备下次再轮到该Thread执行时,Thread能继续执行下去,完全感受不到自己曾被中断过。
 
    Cooperative Multitasking(协调式多任务处理),也称为Non-Preemptive Multitasking(非先占式多任务处理,也可以译为非抢占式多任务处理)所有并行的程序们必须有良好的自律与公德心,在执行一段时间之后,自愿将CPU的控制权释出,依一定的排程规则交给其它程序轮流执行。可以想见的,如果其中一只程序设计不良或是出了问题,发了疯似的绕循环而迟迟不将CPU控制权交给下一只程序,整个操作系统就被拖垮了。

发表于: 2006-12-19,修改于: 2006-12-19 19:18,已浏览1205次,有评论1条 推荐 投诉


网友评论
网友: 本站网友 时间:2007-06-14 12:46:28 IP地址:60.208.244.★
操作系统会主动中断Thread的执行

我的理解是这样:时间片用完后 发生时钟中断 通知os的进程调度器 由他负责上下文的保存和调度下一个进程或线程

 发表评论