多任务处理,多线程处理和多处理之间的区别?

Jai*_*ese 71 multithreading operating-system multiprocessing multitasking

多任务,多道程序和多处理之间的区别是什么

这经常出现在我的大学操作系统考试中,我找不到一个好的答案.我对多任务和多道程序有很多了解,但需要确认一下.

Cas*_*ton 82

解释维基百科:

多道程序设计 - 一次运行多个程序的计算机(如同时运行Excel和Firefox) http://en.wikipedia.org/wiki/Multiprogramming

多处理 - 一次使用多个CPU的计算机 http://en.wikipedia.org/wiki/Multiprocessing

多任务处理 - 共享公共资源的任务(如1个CPU) http://en.wikipedia.org/wiki/Computer_multitasking#Multithreading

  • 因此,多线程之类的东西是多任务的扩展.

  • 感谢您的解释。有帮助! (2认同)

Raj*_*pal 29

多道 程序设计:一个时间点,多个任务/程序/作业/进程可以驻留在主存储器中.OS的这种能力称为多道程序设计.

多任务处理:一个时间点,多个任务/程序/作业/进程可以驻留在同一个CPU中.OS的这种能力称为多任务处理.


小智 16

除了Vaibhav Kumar先生之外,上述答案都不清楚或不明确.[对不起,没有冒犯]

多编程和任务都是处理器中切换任务的概念,不同之处在于切换的概念和原因.

MProgramming:当活动任务需要更长的IO或其他非CPU响应时,不保持处理器空闲,处理器加载并处理另一个不等待IO并准备进行处理的任务.

MTasking:即使在MPrograming之后,对于用户来说,它可能感觉只有一个任务正在执行而另一个只是等待来到cpu.因此,活动任务也从活动CPU交换并保留在一边,另一个任务在人工时间的一小部分时间内被带入CPU [秒],并再次交换回先前的任务.通过这种方式,用户可以同时感觉CPU中的任务都是活动的.但实际上每个任务在给定的CPU时间内只有一次[微秒或纳秒]

和MProcessing一样,我的计算机都有四核,所以我一次使用4个处理器,意味着我的机器上发生了4个不同的多编程实例.而这4个处理器可以完成另外多个MTasking.

所以MProcessing> MProgramming> Mtasking

并且MThreading n每个任务的另一个分解.这也是为了给用户带来幸福生活.这里有多个任务[比如单词doc和媒体播放器]没有出现在图片中,而是像字上的文字着色和单词中的自动拼写检查这样的小子任务是同一个单词可执行文件的一部分.

不确定我是否能够弄清楚所有的混淆......


vai*_*mar 5

多道程序和多任务处理都解决了不同的问题,尽管它们在进程之间使用类似的切换方法。

多道程序:在早期,可以看到有时某些进程使用外围设备(例如:I/O)。在这种情况下,CPU 保持空闲。为了更有效地使用 CPU,明智的做法是在内存中加载多个进程。这样,如果某个进程要使用外围设备,则其他某个进程将使用 CPU。这就是运行中的多道程序设计。

多任务:对于最终用户来说,多个进程必须同时运行。这是通过在不同进程之间切换并使它们同时在 CPU 上运行来模拟的。这就是多任务处理背后的想法。