抢占式多任务处理
来源:互联网 发布:mac水波纹效果怎么弄 编辑:程序博客网 时间:2024/05/29 02:01
我们可以问自己下面这个问题: 我的计算机只有一个处理器,然而在任务管理器中我们却可以看到数以百计的线程正同时运行在机器上!这怎么可能呢?
多亏了抢占式多任务处理,通过它对线程的调度,使得上述问题成为可能。调度器作为Windows内核的一部分,将时间切片,分成一段段的时间片。这些时间间隔以毫秒为精度且长度并不固定。针对每个处理器,每个时间片仅服务于单独一个线程。线程的迅速执行给我们造成了它们在同时运行的假象。我们在两个时间片的间隔中进行上下文切换。该方法的优点在于,那些正在等待某些Windows资源的线程将不会浪费时间片,直到资源有效为止。
之所以用抢占式这个形容词来修饰这种多任务管理方式,是因为在此种方式下线程将被系统强制性中断。那些对此比较好奇的人应该了解到,在上下文切换的过程中,操作系统会在下一个线程将要执行的代码中插入一条跳转到下一个上下文切换的指令。该指令是一个软中断,如果线程在遇到这条指令前就终止了(例如,它正在等待某个资源),那么该指定将被删除而上下文切换也将提前发生。
抢占式多任务处理的主要缺点在于,必须使用一种同步机制来保护资源以避免它们被无序访问。除此之外,还有另一种多任务管理模型,被称为协调式多任务管理,其中线程间的切换将由线程自己负责完成。该模型普遍认为太过危险,原因在于线程间的切换不发生的风险太大。如我们在4.2.8节中所解释的那样,该机制会在内部使用以提升某些服务器的性能,例如SQL Server2005。但Windows操作系统仅仅实现了抢占式多任务处理。
- 抢占式多任务处理
- 抢占式多任务处理
- 抢占式多任务系统
- 抢占式多任务处理 vs 协作式多任务处理
- 微型抢占式多任务实时内核设计
- 微型抢占式多任务实时内核设计
- KLite 简单实用的抢占式多任务内核简介
- 时间片轮转 / 多任务 多线程解释 /抢占、非抢占
- 时间片轮转 / 多任务 多线程解释 /抢占、非抢占
- 抢占式任务调度的一种实现
- tqOS的PendSV抢占式任务调度
- 【华为笔试】抢占式任务调度
- 多线程中轮询任务和抢占式任务的区别
- 轮询任务调度与抢占式任务调度
- 第18082篇:微型抢占式多任务实时内核设计
- μC/OS-II是一个基于抢占式的实时多任务内核
- 轮询与抢占式任务调度区别
- 分布式系统大数据量计算抢占式任务调度
- android ics 启动模式
- 死锁
- 触发器
- Linux下FTP服务器默认目录的更改方法
- 触发器
- 抢占式多任务处理
- 索尼常务董事:绩效主义毁了索尼
- rsync 的核心算法
- 恨自己
- thinkphp3.0 自定义标签
- 学习书籍列表
- CIO:树立IT服务的理念的重要性
- listview的点击事件
- 高手支招,我是继续非IT工作,还是立即辞掉去学习或者进入IT公司??