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

时间:2011-05-16 19:58:45

标签: multithreading operating-system multiprocessing multitasking

多任务,多道程序设计和多媒体之间的区别是什么?多

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

24 个答案:

答案 0 :(得分:80)

解释维基百科:

多道程序设计 - 一次运行多个程序的计算机(如同时运行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

  • 因此,多线程之类的东西是多任务处理的延伸。

答案 1 :(得分:29)

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

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

答案 2 :(得分:15)

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

多编程和任务都是处理器中切换任务的概念,区别在于切换的概念和原因。

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

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

而且,MProcessing就像我的电脑有四核一样,所以我一次使用4个处理器,意味着我的机器中会发生4个不同的多编程实例。而这4个处理器可以完成另外多个MTasking。

所以MProcessing&gt; MProgramming&gt; Mtasking

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

不确定我是否能够明确所有的混淆......

答案 3 :(得分:4)

多道程序设计 - 要执行的作业被加载到池中。这些作业中的一些作业被加载到主存储器中,并且从池中选择一个作业以供CPU执行。如果在某个时刻正在进行的程序终止或需要外围设备的服务,则CPU的控制权将被提供给池中的下一个作业。当程序终止时,更多作业被加载到内存中以便执行,并且CPU控制被切换到内存中的另一个作业。通过这种方式,CPU始终执行某些程序或其中的一部分,而不是等待打印机,磁带驱动器或控制台输入

多处理 - 在集成控制下由单独的CPU同时执行两个或多个程序或指令序列

多任务系统 - 单个CPU同时或交错执行两个或多个作业。

多用户系统 - 一种计算机系统,其中多个终端连接到处理处理任务的主计算机。

答案 4 :(得分:4)

多道程序设计和多任务处理;两者都解决了不同的问题,尽管他们使用类似的流程之间切换方法。

多道程序设计:在早期看到某些进程有时需要使用外围设备(例如:I / O),在这种情况下CPU保持空闲状态。为了更有效地使用CPU,人们认为在内存中有多个进程,因此如果正在执行的某个进程需要外设,则某些其他进程可能会使用CPU。这是多道程序设计的理念。

多任务处理:要求多个进程似乎同时向最终用户运行。因此,通过在这些进程之间切换并使它们同时在CPU上运行来模拟。这是多任务处理。

答案 5 :(得分:3)

多道程序设计:这意味着在计算机上运行多个程序。用户无法与系统交互,一切都由操作系统决定。

多任务处理:它是多道程序设计的逻辑扩展。它意味着在计算机上运行多个任务。作业之间的切换速度非常快,用户可以与系统进行交互。

多线程:基本上可以看到更多客户端访问服务器。

答案 6 :(得分:3)

多任务 - 它也称为时间共享,因为可以在特定时间内定期切换多个任务(或进程),以便用户可以获得他们同时运行的视图。 / p>

多线程 - 为了让用户体验更丰富,任务(在单个过程中)进一步划分为子任务。然后,这些子任务可以在多任务环境中运行。

多处理 - 这是在给定时间内让多个处理器运行进程(或程序)的过程。它减少了计算时间。

多编程 - 通常用于批处理操作系统。在这里,作业(或进程)在执行时获得完整的CPU和内存。多编程是一种系统,其中许多不同的程序被加载到计算机的主存储器中,并且第一个程序开始运行。当它完成执行(即,处于运行状态)并等待外围设备(即等待状态)时,下一个过程开始运行。这与多任务相反,在这种情况下,每个任务都被分配一个时隙(也称为量子)来执行。

答案 7 :(得分:2)

<强>多线程 多线程将多任务处理的概念扩展到应用程序中,因此您可以将单个应用程序中的特定操作细分为单个线程。

答案 8 :(得分:2)

多任务处理 - 这基本上是在单用户交互式环境的上下文中进行多道程序设计,其中操作系统在主存储器中的多个程序之间切换,以便给出一些正在运行的错觉。用于多任务处理的常用调度算法有:Round-Robin,Priority Scheduling(多个队列),Shortest-Process-Next。

MULTIPROCESSING就像操作系统处理主内存中的不同作业一样,当其他作业忙于执行某些任务(如I / O操作)时,它会为每个作业提供时间。因此,只要至少有一个作业需要执行,cpu就不会闲置。在这里它由操作系统自动处理,

答案 9 :(得分:2)

多道程序设计 - 一次运行多个程序的计算机(如同时运行Excel和Firefox)

多处理 - 一次使用多个CPU的计算机

多道程序设计 - 一个以上的任务/程序/作业/进程可以驻留在主内存中。 OS的这种能力称为多道程序设计。

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

多用户系统 - 一个计算机系统,其中多个终端连接到处理处理任务的主机。

答案 10 :(得分:1)

MultiProgramming - 在多道程序设计系统中,主存储器中加载了多个可以执行的程序。一次只有一个程序能够让CPU执行其指令,而其他所有程序都在等待轮到他们。多道程序设计的主要思想是最大限度地利用CPU时间。 假设当前正在运行的进程正在执行I / O任务,则OS可以中断该进程并将控制权交给准备执行的其他主要内存程序之一(即进程上下文切换)。 这样,系统等待I / O任务完成就不会浪费CPU时间。

多处理 - 多处理是指操作系统在多处理器计算机上同时执行多个进程的能力。在多处理系统中,计算机在不久的时间内使用多个CPU。

多任务 - 多任务处理是指操作系统在单处理器计算机上同时执行多个任务的能力,这些多个任务共享CPU和内存等公共资源。在多任务系统中,CPU可以快速地从一个任务切换到下一个任务,以便在所有任务同时执行时显示。

多任务处理和多道程序设计之间存在差异。多任务处理系统中的任务不是整个应用程序,但它可以反映到执行的线程&#34;当一个进程被分成子任务时。每个较小的任务都不会劫持CPU,直到它完成,它们共享少量的CPU时间,称为Quantum。多道程序和多任务操作系统是分时系统。

多线程 - 多线程是多任务处理的扩展。多线程是操作系统将单个应用程序中的特定操作细分为单个线程的能力。这些线程中的每一个都可以并行运行。 OS不仅在不同的应用程序之间划分处理时间,而且还在应用程序中的每个线程之间划分处理时间。

答案 11 :(得分:1)

多程序设计: -

一次可以将多个任务(作业)进程驻留在主内存中。基本上是在I / O操作期间减少CPU浪费的设计,例如:如果当前正在执行作业并且需要I / O操作。 I / O操作使用DMA完成,处理器从作业队列分配给某些其他作业,直到job1的I / O操作完成。然后job1再次继续。这样可以减少CPU浪费。


Multi -Tasking: -

在这种类型的操作系统中,多个任务(进程)同时执行(同时并不意味着任务正好在同一时刻执行..多任务并不意味着并行)。 在该系统中,在其他任务结束之前开始的新任务取决于它使用的CPU调度技术&amp;&amp; amp;所有流程共享共同资源。


多重处理: -

在单个CPU中使用2个或更多处理器。所以任务可以并行执行。但是需要进行一些同步。

答案 12 :(得分:0)

基本上多编程是一个同时运行多个程序的概念,假设您运行了两个程序,如chrome(浏览器)和计算器(系统应用程序)。

多处理是用户使用多个处理器完成任务的地方。

要知道多线程,我们需要知道什么是线程。线程基本上是程序中运行的程序的一部分。线程的最佳示例是浏览器的选项卡。如果你有5个正在打开和使用的选项卡,那么程序实际上创建了程序的5个线程,这个概念称为多线程。

答案 13 :(得分:0)

单个进程中可以存在多个线程。属于同一进程的线程共享相同的内存区域(可以读取和写入相同的变量,并且可以相互干扰)。相反,不同的进程存在于不同的存储区域中,并且每个进程都有自己的变量。为了进行通信,进程必须使用其他通道(文件,管道或套接字)。

如果你想并行化计算,你可能需要多线程,因为你可能希望线程在同一个内存上合作。

谈到性能,线程比进程创建和管理更快(因为操作系统不需要分配全新的虚拟内存区域),并且线程间通信通常比进程间通信更快。但线程更难编程。线程可以相互干扰,并且可以写入彼此的内存,但这种情况发生的方式并不总是很明显(由于几个因素,主要是指令重新排序和内存缓存),因此您将需要同步原语来控制访问你的变量。

Source

答案 14 :(得分:0)

多道程序设计系统中,主内存中加载了多个可以执行的程序。一次只有一个程序能够让CPU执行其指令,而其他所有程序都在等待轮到他们。多道程序设计的主要思想是最大限度地利用CPU时间。假设当前正在运行的进程正在执行I / O任务,则OS可以中断该进程并将控制权交给准备执行的其他主要内存程序之一(即进程上下文切换)。这样,系统等待I / O任务完成就不会浪费CPU时间。

多处理 - 多处理是指操作系统在多处理器计算机上同时执行多个进程的能力。在多处理系统中,计算机在不久的时间内使用多个CPU。

多任务 - 多任务处理是指操作系统在单处理器计算机上同时执行多个任务的能力,这些多个任务共享CPU和内存等公共资源。在多任务系统中,CPU可以快速地从一个任务切换到下一个任务,以便在所有任务同时执行时显示。

多任务和多编程之间存在差异。多任务系统中的任务不是整个应用程序,但是当一个进程被分成子任务时,它可以指“执行线程”。每个较小的任务都不会劫持CPU,直到它完成,它们共享少量的CPU时间,称为Quantum。多编程和多任务操作系统是分时系统。

多线程 - 多线程是多任务处理的扩展。多线程是操作系统将单个应用程序中的特定操作细分为单个线程的能力。这些线程中的每一个都可以并行运行。 OS不仅在不同的应用程序之间划分处理时间,而且还在应用程序中的每个线程之间划分处理时间。

答案 15 :(得分:0)

多程序设计: -

一次可以将多个任务(作业)进程驻留在主内存中。基本上是在I / O操作期间减少CPU浪费的设计,例如:如果当前正在执行作业并且需要I / O操作。 I / O操作使用DMA完成,处理器从作业队列分配给某些其他作业,直到job1的I / O操作完成。然后job1再次继续。这样可以减少CPU浪费。

答案 16 :(得分:0)

多道程序设计 - 超过主存储器中的工作。

Muntitasking - 同时运行多个程序。这是CPU中不止一个程序。

答案 17 :(得分:0)

<强> Multiprograming

在应用程序中运行多个程序以执行某项任务。

示例:在MS WORD中,写入文档并发送电子邮件

<强>多任务

运行多个应用程序以执行特定任务。

示例:听歌,玩游戏,同时使用ms word,excel和其他应用程序

多处理

通过处理器运行多条指令。

示例 创建文件时,计算机会将时间和日期设为默认值。

答案 18 :(得分:0)

MULTIPROCESSING就像操作系统处理主内存中的不同作业一样,当其他作业忙于执行某些任务(如I / O操作)时,它会为每个作业提供时间。因此,只要至少有一个作业需要执行,cpu就不会闲置。 在这里它由操作系统自动处理,无需用户与计算机交互。

但是当我们谈到MULTITASKING时,用户实际上同时参与了不同的工作 - 扫雷或检查邮件或任何东西。 cpu通过在它们之间切换来执行多个作业,但切换速度非常快,以至于用户误以为两个应用程序同时运行。

因此,mp和mt之间的主要区别在于,操作系统在主内存中处理不同的作业,这样如果某个作业正在等待某些内容,那么它将跳转以执行下一个作业。并且在用户与系统交互时会产生错觉,因为两个或任何应用程序同时运行。

答案 19 :(得分:0)

多道程序设计 - 此术语用于批处理系统的上下文。 你同时在主内存中有几个程序。 CPU为每个计划时间。

即。提交多个作业并将它们全部加载到内存中并根据调度算法执行。常见的批处理系统调度算法包括:先到先服务,最短作业优先,最短剩余时间 - 下一步。

多任务 - 这基本上是在单用户交互式环境的上下文中进行多道程序设计,,其中操作系统在主内存中的多个程序之间切换,以便给出一些人正在同时运行的错觉。用于多任务处理的常用调度算法有:Round-Robin,Priority Scheduling(多个队列),Shortest-Process-Next。

答案 20 :(得分:-1)

多道程序设计是指计算机系统在一台计算机系统中同时执行不同任务的过程。

答案 21 :(得分:-1)

多任务: -               它同时处理许多任务或作业。在这种情况下,用户可以与系统进行交互。

多道: -               它同时处理几个程序&amp;它不能与系统交互,每件事都由OS(操作系统)决定。

答案 22 :(得分:-1)

多任务处理* (时间共享) *:

Time shared systems allows many users to share the computer simultaneously.

答案 23 :(得分:-3)

多道程序设计: - ,其中同一台计算机不同时执行多个作业。

多任务: - o / s,其中同时执行多个任务。