微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

抢占式和协作式多任务处理的区别

多任务处理是在一段时间内同时执行多个任务或进程的方法。抢占式和协作式多任务处理是多任务处理的两种类型。
抢占式多任务中,操作系统可以启动从正在运行的进程到另一个进程的上下文切换。换句话说,操作系统允许停止当前正在运行的进程的执行,并将 cpu 分配给其他进程。操作系统使用一些标准来决定一个进程在允许另一个进程使用操作系统之前应该执行多长时间。从一个进程获取操作系统的控制权并将其交给另一个进程的机制称为抢占或抢占。

协作多任务中,操作系统从不启动从正在运行的进程到另一个进程的上下文切换。仅当进程自愿定期让出控制权或空闲或逻辑阻塞以允许多个应用程序同时执行时,才会发生上下文切换。此外,在这种多任务处理中,所有进程协作以使调度方案起作用。

下面来看看抢占式多任务和协作式多任务之间的区别。

SR.NO. 抢占式多任务 协同多任务
1 抢占式多任务是操作系统用来决定一个任务在允许另一个任务使用操作系统之前应该执行多长时间的任务。 协作多任务处理是一种计算机多任务处理,其中操作系统从不启动从正在运行的进程到另一个进程的上下文切换。
2 抢占式多任务会中断应用程序并将控制权交给应用程序无法控制的其他进程。 在协作多任务处理中,进程调度程序永远不会意外中断进程。
3 操作系统可以发起从一个正在运行的进程到另一个进程的上下文切换。 操作系统不会启动从正在运行的进程到另一个进程的上下文切换。
4 恶意程序发起无限循环,只会伤害自己,不影响其他程序或线程。 恶意程序可以通过忙于等待或运行无限循环而不放弃控制来使整个系统停止。
5 抢占式多任务处理强制应用程序共享 cpu,无论它们是否愿意。 在协作式多任务处理中,所有程序都必须协作才能工作。如果一个程序不合作,它可能会占用 cpu
6 UNIX、Windows 95、Windows NT 操作系统是抢先式多任务处理的示例。 Macintosh OS 版本 8.0-9.2.2 和 Windows 3.x 操作系统是协作多任务的示例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐