多任务,多线程和多处理之间的区别?[关闭]


72

多任务,多程序和多处理之间有什么区别

这是我的大学操作系统考试中经常出现的问题,我找不到很好的答案。我对多任务和多编程了解很多,但需要确认。

Answers:



31

多程序:在一个时间点 可以将多个任务/程序/作业/过程驻留在主存储器中。操作系统的这种能力称为多重编程。

多任务处理:同一时间同一一个CPU上可以驻留多个任务/程序/作业/进程。操作系统的这种功能称为多任务处理。


1
我们可以说这些术语是“相似的”吗?
ABcDexter 2014年

1
@ABcDexter不是它的模拟者...看到在单个时间实例中执行多个任务称为多任务处理
Gupta

17

除了Vaibhav Kumar先生的回答,以上答案均不明确或不明确。[对不起,没有冒犯]

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

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

MTasking:即使在进行MPrograming之后,对于用户来说,也可能感觉只有一个任务正在执行,而另一个正在等待进入cpu。因此,活动任务也从活动CPU交换并保留在一边,另一个任务在很短的时间内就进入了CPU [second],然后再次交换回较早的任务。这样,用户将同时感觉到两个任务都在CPU中存在。但是实际上每个任务在给定的CPU时间(以微秒或毫微秒为单位)仅活动一次

而且MProcessing就像我的计算机具有四核一样,因此我一次使用4个处理器,这意味着我的计算机中发生了4种不同的多编程实例。并且这4个处理器执行了MTasking的另一个功能。

因此,MProcessing> MProgramming> Mtasking

和MThreading n每个任务的另一个分解。这也给用户带来幸福的生活。在这里,没有多个任务(例如word doc和媒体播放器)出现,而小的子任务(例如单词上的文本着色和单词中的自动拼写检查)是同一单词可执行文件的一部分。

不知道我是否能够弄清所有困惑...


5

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

多重编程:在早期,人们发现有时使用外围设备的某些过程(例如:I / O)。在这种情况下,CPU保持空闲状态。为了更有效地使用CPU,请谨慎地在内存中加载多个进程。这样,如果某个进程将使用外围设备,则其他进程将使用CPU。这实际上是多重编程。

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


4

多程序-将要执行的作业加载到池中。这些作业中有一定数量被加载到主存储器中,并且从池中选择了一个作业供CPU执行。如果正在执行的程序在某个时刻终止或需要外围设备的服务,则将CPU的控制权交给池中的下一个作业。随着程序终止,更多的作业将加载到内存中以供执行,并且CPU控制将切换到内存中的另一个作业。这样,CPU总是在执行某些程序或其某些部分,而不是等待打印机,磁带驱动器或控制台输入

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

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

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


4

多任务处理-也称为时间共享,因为可以在特定时间定期切换多个任务(或过程),以便用户可以看到它们正在同时运行。

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

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

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


3

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

多任务:这是多程序的逻辑扩展,意味着在计算机上运行多个任务,作业之间的切换如此之快,以至于用户可以与系统进行交互。

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


3

多重编程-一台计算机一次运行多个程序(例如同时运行Excel和Firefox)

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

多重编程-在一个时间点可以将多个任务/程序/作业/过程驻留在主存储器中。操作系统的这种能力称为多重编程。

多任务处理:同一时间同一一个CPU上可以驻留多个任务/程序/作业/进程。操作系统的这种功能称为多任务处理。

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


2

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


2

多任务处理-在单用户交互环境中,这基本上是多程序,其中OS在主内存中的多个程序之间切换,从而给人一种幻想,即一次运行。用于多任务的常见调度算法是:循环调度,优先级调度(多个队列),最短进程下一个。

多进程就像操作系统以这样的方式处理主内存中的不同作业:在其他人忙于某些任务(例如I / O操作)时,它将时间分配给每个作业。因此,只要至少需要执行一项作业,CPU就永远不会闲置。并由操作系统自动处理


1

多程序

在应用程序中运行一个以上的程序以执行特定任务。

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

多任务

运行一个以上的应用程序以执行特定任务。

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

多处理

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

示例 创建文件时,计算机将使用默认的时间和日期。


MultiProgramming不是您所说的。请检查维基百科和其他答案。

1

多重编程

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


多任务处理:-

在这种类型的OS中,多个任务(进程)是同时执行的(同时并不意味着任务在同一时间准确地执行..,因为多任务并不意味着并行)。在此系统中,新任务在其他任务结束之前开始取决于它使用的CPU调度技术&&所有进程共享公共资源。


多处理:

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


1

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

多处理-多处理是操作系统在多处理器计算机上同时执行多个进程的能力。在多处理系统中,一台计算机在一tme上使用多个CPU。

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

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

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


1

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

多处理-多处理是操作系统在多处理器计算机上同时执行多个进程的能力。在多处理系统中,一台计算机在一tme上使用多个CPU。

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

多任务处理和多编程之间有区别。多任务系统中的任务不是整个应用程序,但是当一个进程分为多个子任务时,它可以指代“执行线程”。每个较小的任务直到完成后才劫持CPU,它们共享一小段称为“量子”的CPU时间。多编程和多任务操作系统是时间共享系统。

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


0

多重编程-在批处理系统上下文中使用此术语 您同时在主存储器中有几个程序。CPU为每个时间表安排一个时间。

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

多任务-在单用户交互环境中,这基本上是多程序其中OS在主内存中的多个程序之间切换,从而给人一种幻想,即一次运行。用于多任务的常见调度算法是:循环调度,优先级调度(多个队列),最短进程下一个。


0

多进程就像操作系统以这样的方式处理主内存中的不同作业:在其他人忙于某些任务(例如I / O操作)时,它将时间分配给每个作业。因此,只要至少需要执行一项作业,CPU就永远不会闲置。并由操作系统自动处理,而无需用户与计算机交互。

但是当我们说到MULTITASKING时,用户实际上一次参与了不同的工作-扫雷或检查邮件或其他任何事情。cpu通过在多个作业之间进行切换来执行多个作业,但是切换速度如此之快,以至于用户会幻想两个应用程序同时运行。

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


0

多重编程-不仅仅是在主存储器中工作。

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


0

多重编程

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


0

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

如果要并行化计算,则可能需要多线程处理,因为您可能希望线程在同一内存上进行协作。

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

资源


0

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

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

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


在过去6年中已经发布的多个答案中,这增加了什么价值?
让·弗朗索瓦·科贝特

-1

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

多重编程:-它可以同时处理多个程序,并且不能与系统交互,每件事都由OS(操作系统)决定。


-1

多重编程是指计算机系统在单个计算机系统中一次同时执行不同任务的过程。


-1

多任务(时间共享):

分时系统允许许多用户同时共享计算机。


-3

多重编程:-同一台计算机不能同时执行多个作业。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.