理解多任务

作者: 大海孤了岛 | 来源:发表于2017-03-29 15:50 被阅读1次
多道程序

为了让 CPU 得到更好的利用,人们编写了一个监控程序,如果发现某个程序暂时无须使用 CPU 时,监控程序就把另外的正在等待 CPU 资源的程序启动起来,以充分利用 CPU 资源。

对于多道程序来说,最大的问题是程序之间不区分轻重缓急,对于交互式程序来说,对于 CPU 计算时间的需求并不多,但是对于响应速度却有比较高的要求。而对于计算类程序来说则正好相反,对于响应速度要求低,但是需要长时间的 CPU 计算。

想象一下我们同时在用浏览器上网和听音乐,我们希望浏览器能够快速响应,同时也希望音乐不停掉。这时候多道程序就没法达到我们的要求了。

分时系统

改进了多道程序,使得每个程序运行一段时间之后,都主动让出 CPU 资源,这样每个程序在一段时间内都有机会运行一小段时间。

这样像浏览器这样的交互式程序就能够快速地被处理,同时计算类程序也不会受到很大影响。

在分时系统的帮助下,我们可以边用浏览器边听歌了,但是如果某个程序出现了错误,导致了死循环,不仅仅是这个程序会出错,整个系统都会死机。

多任务系统

操作系统从最底层接管了所有硬件资源。所有的应用程序在操作系统之上以 进程(Process) 的方式运行,每个进程都有自己独立的地址空间,相互隔离。CPU 由操作系统统一进行分配。每个进程都有机会得到 CPU,同时在操作系统控制之下,如果一个进程运行超过了一定时间,就会被暂停掉,失去 CPU 资源。

这样就避免了一个程序的错误导致整个系统死机。如果操作系统分配给各个进程的运行时间都很短,CPU 可以在多个进程间快速切换,就像很多进程都同时在运行的样子。几乎所有现代操作系统都是采用这样的方式支持多任务,例如 Unix,Linux,Windows 以及 macOS。

相关文章

  • 理解多任务

    多道程序 为了让 CPU 得到更好的利用,人们编写了一个监控程序,如果发现某个程序暂时无须使用 CPU 时,监控程...

  • Linux用户、用户组与文档属性

    一、理解Linux 多用户,多任务特性 Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在...

  • 服务器ubuntu16.04添加新用户

    一、理解Linux的单用户多任务,多用户多任务概念 Linux 是一个多用户、多任务的操作系统;我们应该了解单用户...

  • 06.系统编程-1.进程

    1、多任务的引入 实现类似唱歌又跳舞的任务同时进行的,叫做:多任务 2、多任务的概念 什么叫“多任务”。简单地说,...

  • Python多任务总结

    多任务什么是多任务同时做多件事件(做个多个任务),运行多个方法多任务的原理并发:假的多任务,时间片的轮转,快速的交...

  • 进程调度

    多任务 多任务系统可以划分为两类: 非抢占式多任务 除非进程自己停止, 否则它会一直执行 抢占式多任务 由调度程序...

  • 1-进程

    多任务原理 现代操作系统(Windows、Mac OS X、Linux、UNIX等)都支持“多任务” 什么叫多任务...

  • 进程、线程

    时间片轮转 并行:真的多任务 并发:假的多任务

  • iOS11人机交互指南(四)- System Capabilit

    一、多任务处理(Multitasking) 多任务处理让你能够通过iOS设备上的多任务处理界面或是在iPad上使用...

  • 线程

    单核CPU如何执行多任务? 多核CPU如何执行多任务? 真正的并行执行多任务只能在多核CPU上实现,但是,由于任务...

网友评论

    本文标题:理解多任务

    本文链接:https://www.haomeiwen.com/subject/npzeottx.html