More than one task(job) process can reside into main memory at a time. It is basically design to reduce CPU wastage during I/O operation , example : if a job is executing currently and need I/O operation . I/O operation is done using DMA and processor assign to some Other job from the job queue till I/O operation of job1 completed . then job1 continue again . In this way it reduce CPU wastage .
Multi -Tasking :-
In this type of OS multiple task(process) are performed concurrently (Concurrently does't mean that task executing exactly at same time instant ..as multitasking does't imply parallelism ) . In this system a new task start before other task ended depend on CPU scheduling technique it uses && all processes share common resources .
Multi -Processing :-
Use 2 or more processor within single CPU . So task can execute in parallel .But some synchronization b/w them is needed .
MultiProgramming - In a multiprogramming system, there are more than one programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions while all others are waiting their turn. The main idea of multiprogramming is to maximize the use of CPU time. Suppose currently running process is performing an I/O task, then OS may interrupt that process and give the control to one of the other in - main memory programs that are ready to execute (i.e. process context switching). In this way, no CPU time is wasted by system waiting for the I/O task to be completed.
MultiProcessing - Multiprocessing is the ability of an operating system to execute more than one process simultaneously on a multi processor machine. In multiprocessing system, a computer uses more than one CPU at a tme.
Multitasking - Multitasking is the ability of an operating system to execute more than one task simultaneously on single processor machine, these multiple tasks share common resources such as CPU and memory. In multitasking system, CPU switches from one task to next task so quickly that appears as all tasks are executing at the same time.
There are differences between multitasking and multiprogramming. A task in a multitasking system is not whole application program but it can refres to a "thread of execution" when one process is divided into sub-tasks. Each smaller task does not hijack the CPU until it finishes, they share a small amount of the CPU time called Quantum. Multiprogramming and multitasking operating systems are time sharing systems.
Multithreading - Multithreading is the extension of multitasking. Multithreading is the ability of an operating system to subdivide the specific operation within a single application into individual threads. Each of these threads can run in parallel. The OS divides processing time not only among different applications but also among each thread within an application.
在多道程序系统中,主内存中加载了多个准备执行的程序。一次只有一个程序能够获得 CPU 来执行其指令,而所有其他程序都在等待。多道程序设计的主要思想是最大限度地利用CPU时间。假设当前正在运行的进程正在执行 I/O 任务,则操作系统可能会中断该进程并将控制权交给准备执行的其他主内存程序之一(即进程上下文切换)。这样,系统就不会浪费CPU时间来等待I/O任务完成。
In a multiprogramming system, there are more than one programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions while all others are waiting their turn. The main idea of multiprogramming is to maximize the use of CPU time. Suppose currently running process is performing an I/O task, then OS may interrupt that process and give the control to one of the other in - main memory programs that are ready to execute (i.e. process context switching). In this way, no CPU time is wasted by system waiting for the I/O task to be completed.
MultiProcessing - Multiprocessing is the ability of an operating system to execute more than one process simultaneously on a multi processor machine. In multiprocessing system, a computer uses more than one CPU at a tme.
Multitasking - Multitasking is the ability of an operating system to execute more than one task simultaneously on single processor machine, these multiple tasks share common resources such as CPU and memory. In multitasking system, CPU switches from one task to next task so quickly that appears as all tasks are executing at the same time.
There are differences between multitasking and multi programming. A task in a multitasking system is not whole application program but it can refers to a "thread of execution" when one process is divided into sub-tasks. Each smaller task does not hijack the CPU until it finishes, they share a small amount of the CPU time called Quantum. Multi programming and multitasking operating systems are time sharing systems.
Multi threading - Multi threading is the extension of multitasking. Multi threading is the ability of an operating system to subdivide the specific operation within a single application into individual threads. Each of these threads can run in parallel. The OS divides processing time not only among different applications but also among each thread within an application.
Multiprogramming - This term is used in the context of batch systems. You've got several programs in main memory concurrently. The CPU schedules a time for each one.
I.e. submitting multiple jobs and all of them are loaded into memory and executed according to a scheduling algorithm. Common batch system scheduling algorithms include: First-Come-First-Served, Shortest-Job-First, Shortest-Remaining-Time-Next.
Multitasking - This is basically multiprogramming in the context of a single-user interactive environment, in which the OS switches between several programs in main memory so as to give the illusion that several are running at once. Common scheduling algorithms used for multitasking are: Round-Robin, Priority Scheduling (multiple queues), Shortest-Process-Next.
MULTIPROCESSING is like the OS handling the different jobs in main memory in such a way that it gives its time to each and every job when other is busy for some task such as I/O operation. So as long as at least one job needs to execute, the cpu never sit idle. and here it is automatically handled by the OS, without user interaction with computer.
But when we say about MULTITASKING, the user is actually involved with different jobs as at one time - minesweeper or checking mail or anything. The cpu executes multiple jobs by switching among them, but the switching is so fast that user has the illusion that both the applications are running simultaneously.
So the main difference between mp and mt is that in mp the OS is handling different jobs in main memory in such a way that if some job is waiting for something then it will jump for the next job to execute. And in mt the user is in interaction with the system and getting the illusion as both or any of the applications are running simultaneously.
More than one task(job) process can reside into main memory at a time. It is basically design to reduce CPU wastage during I/O operation , example : if a job is executing currently and need I/O operation . I/O operation is done using DMA and processor assign to some Other job from the job queue till I/O operation of job1 completed . then job1 continue again . In this way it reduce CPU wastage .
Multiple threads can exist in a single process. The threads that belong to the same process share the same memory area (can read from and write to the very same variables, and can interfere with one another). On the contrary, different processes live in different memory areas, and each of them has its own variables. In order to communicate, processes have to use other channels (files, pipes or sockets).
If you want to parallelize a computation, you're probably going to need multithreading, because you probably want the threads to cooperate on the same memory.
Speaking about performance, threads are faster to create and manage than processes (because the OS doesn't need to allocate a whole new virtual memory area), and inter-thread communication is usually faster than inter-process communication. But threads are harder to program. Threads can interfere with one another, and can write to each other's memory, but the way this happens is not always obvious (due to several factors, mainly instruction reordering and memory caching), and so you are going to need synchronization primitives to control access to your variables.
Basically Multi-programming is a concept where you run more than one program simultaneously, suppose you run two programs like chrome(browser) and calculator(system application).
Multi processing is where a user uses more than one processor to accomplish a task.
To know Multi threading we need to know what is a thread. A thread is basically a part of a program running within the program. Best example of thread is the tabs of a browser. If you have 5 tabs which are being opened and used then the program actually creates 5 threads of the program, this concept is called multi-threading.
Multitasking:- It handling a number of tasks or jobs simultaneously. In that case user can interact with the system.
Multiprogramming:- It handling a several programs at the same time & it cannot interact with the system, every thing is decided by the OS(Operating System).
Multiprogramming: More than one task/program/job/process can reside into the main memory at one point of time. This ability of the OS is called multiprogramming.
Multitasking: More than one task/program/job/process can reside into the same CPU at one point of time. This ability of the OS is called multitasking.
MProgramming:当活动任务需要更长的 IO 或其他非 CPU 响应时,为了不保持处理器空闲,处理器加载并处理另一个不等待 IO 并准备好处理的任务。
MTasking:即使在 MPrograming 之后,对于用户来说,可能会感觉只有一个任务正在执行,而另一个任务只是在等待 CPU。因此,活动任务也会从活动 CPU 中交换出来并保留在一边,另一个任务会在人类时间的一小部分[秒]内被引入 CPU,然后再次交换回较早的任务。这样用户会感觉两个任务同时在 CPU 中运行。但实际上每个任务在给定的 CPU 时间(以微秒或纳秒为单位)仅活动一次
和 MThreading 是每个任务的另一个分解。这也是为了给用户幸福的生活。这里,多个任务(例如 Word 文档和媒体播放器)不会出现在图片中,而是较小的子任务(例如 Word 上的文本着色和 Word 中的自动拼写检查)是同一 Word 可执行文件的一部分。
不确定我是否能够澄清所有困惑......
None of the above answers except Mr Vaibhav Kumar's are clear or not ambiguous. [sorry, no offense]
Both multi programming and tasking are same concept of switching task in processor, difference is in the concept and reason of the switching.
MProgramming: to not keep processor idle when active task needs longer IO or other non CPU response then, processor loads and works on another task that is not waiting for IO and ready for process.
MTasking: even after MPrograming, to user it may feel like only one task is executing and another is simply waiting to come to cpu. So the active task is also swapped from active CPU and kept aside and another task is brought in CPU for a very small fraction of human time[second], and swapped back to the earlier task again. In this way user will feel both task are alive in CPU at same time. But actually each task is active only once at a given CPU time[in micro or nano second]
And MProcessing is, like my computer have quad core, so I use 4 processor at a time, means 4 different multiprogramming instances happen in my machine. And these 4 processors does another numerous no of MTasking.
So MProcessing>Mtasking>MProgramming
And MThreading n another breakup of each task. that also to give user a happy life. Here multiple tasks[like word doc and media player] are not coming in picture, rather small subtasks like coloring of text on word and automatic spell check in word are part of same word executable.
not sure if I was able to make clear all confusions...
多任务处理:对于最终用户来说,多个进程必须同时运行。这是通过在不同进程之间切换并让它们同时在 CPU 上运行来嘲笑的。这就是多任务处理背后的想法。
Both multiprogramming and multitasking solve different problems, though they use similar method of switching between the processes.
Multiprogramming : In the early days, it was seen that at times certain processes where using peripherals (e.g.: I/O). In such cases, the CPU remained idle. To use the CPU more efficiently, it was prudent to load multiple processes in the memory. This way, if a certain process were to use the peripheral, certain other process would use the CPU. This was multiprogramming in action.
Multitasking : To the end user, multiple processes had to appear running at the same time. This was mocked by switching between different processes and by making them run on the CPU simultaneously. This was the idea behind multitasking.
多道程序设计——要执行的作业被加载到池中。其中一些作业被加载到主内存中,并从池中选择一个作业由 CPU 执行。如果正在运行的程序在某个时刻终止或需要外围设备的服务,则 CPU 的控制权将交给池中的下一个作业。当程序终止时,更多作业被加载到内存中执行,并且 CPU 控制权会切换到内存中的另一个作业。通过这种方式,CPU 总是执行某些程序或其某些部分,而不是等待打印机、磁带驱动器或控制台输入。
下由单独的 CPU 同时执行两个或多个程序或指令序列 -
多处理- 在集成控制多任务系统 单个 CPU 并发或交错执行两个或多个作业。
多用户系统 - 一种计算机系统,其中多个终端连接到处理处理任务的主机。
Multiprogramming- Jobs to be executed are loaded into a pool. Some number of those jobs are loaded into main memory, and one is selected from the pool for execution by the CPU. If at some point the program in progress terminates or requires the services of a peripheral device, the control of the CPU is given to the next job in the pool. As programs terminate, more jobs are loaded into memory for execution, and CPU control is switched to another job in memory. In this way the CPU is always executing some program or some portion thereof, instead of waiting for a printer, tape drive, or console input
Multiprocessing - the simultaneous execution of two or more programs or instruction sequences by separate CPUs under integrated control
multitasking System - the concurrent or interleaved execution of two or more jobs by a single CPU.
Multiusers System - a computer system in which multiple terminals connect to a host computer that handles processing tasks.
多重编程 - 通常用于批处理操作系统。在这里,作业(或进程)在执行时获得完整的 CPU 和内存。多重编程是在计算机主存储器中加载许多不同程序的系统,并且第一个程序开始运行。当它执行完毕(即运行状态)并等待外设(即等待状态)时,下一个进程开始运行。这与多任务处理相反,在多任务处理中,每个任务都被分配一个时隙(也称为量子)来执行。
Multitasking - It is also called time sharing because multiple tasks(or processes) can be switched regularly, in a particular time, so that the user can get a view that they are operating concurrently.
Multi-threading - To make the user experience richer, the tasks(in a single process) are further divided into sub-tasks. These sub-tasks then can operate in a multi-tasking environment.
Multiprocessing - It is the process of having multiple processors to run a process(or program), in a given time. It decreases the computation time.
Multi programming - It is used in batch operating systems, generally. Here, the job(or process) gets the full CPU and memory while execution. Multi programming is the system in which many different programs are loaded in computer's main memory, and the first one begins to run. When it finishes its execution(i.e., in running state) and waits for peripheral(i.e., waiting state), the next process begins to run. This is in contrast to multi-tasking, in which case each task is allotted a time slot(also called quantum) for its execution.
Multiprogramming: It means running several programs on computer.Here user cannot interact with the system,everything is decided by the OS.
Multitasking: It is a logical extension of multiprogramming.It means running several tasks on computer.Switching between the jobs is so fast that the user can interact with the system.
Multithreading: Basically seen when more number of clients access the server.
多任务:多个任务/程序/作业/进程可以同时驻留在同一个 CPU 中。操作系统的这种能力称为多任务处理。
多用户系统 - 一种计算机系统,其中多个终端连接到处理处理任务的主机。
Multiprogramming - A computer running more than one program at a time (like running Excel and Firefox simultaneously)
Multiprocessing - A computer using more than one CPU at a time
Multiprogramming - More than one task/program/job/process can reside into the main memory at one point of time. This ability of the OS is called multiprogramming.
Multitasking: More than one task/program/job/process can reside into the same CPU at one point of time. This ability of the OS is called multitasking.
Multiusers System - a computer system in which multiple terminals connect to a host computer that handles processing tasks.
Multithreading Multithreading extends the idea of multitasking into applications, so you can subdivide specific operations within a single application into individual threads.
Multitasking - This is basically multiprogramming in the context of a single-user interactive environment, in which the OS switches between several programs in main memory so as to give the illusion that several are running at once. Common scheduling algorithms used for multitasking are: Round-Robin, Priority Scheduling (multiple queues), Shortest-Process-Next.
MULTIPROCESSING is like the OS handling the different jobs in main memory in such a way that it gives its time to each and every job when other is busy for some task such as I/O operation. So as long as at least one job needs to execute, the cpu never sit idle. and here it is automatically handled by the OS,
发布评论
评论(24)
多道程序
在一个应用程序中运行多个程序来执行某项任务。
示例:在 MS WORD 中,写入文档并发送电子邮件
多任务
运行多个应用程序来执行某项任务。
示例:听歌、玩游戏、同时使用 ms word、excel 和其他应用程序
多处理
通过处理器运行多个指令。
示例
创建文件时,计算机采用默认时间和日期。
Multiprograming
Running more then one program with in an application to perform a certain task.
Example : In MS WORD, Writing in document and sending Email
Multitasking
Running more then one application to perform a certain task.
Example: listening Song, playing game, work in ms word, excel and other applications simultaneously
Multiprocessing
Running more then one instruction through a processor.
Example
When create a file then computer takes Time and date default.
多道编程:-
一次可以有多个任务(作业)进程驻留在主内存中。它基本上是为了减少 I/O 操作期间的 CPU 浪费而设计的,例如:如果当前正在执行一个作业并且需要 I/O 操作。 I/O 操作是使用 DMA 完成的,处理器分配给作业队列中的其他作业,直到 job1 的 I/O 操作完成。然后 job1 再次继续。这样就减少了CPU的浪费。
多任务:-
在这种类型的操作系统中,多个任务(进程)同时执行(并发并不意味着任务在同一时刻执行。因为多任务并不意味着并行)。
在这个系统中,新任务在其他任务结束之前开始取决于它使用的CPU调度技术&&所有进程共享公共资源。
多处理:-
在单个 CPU 中使用 2 个或更多处理器。所以任务可以并行执行。但是需要一些它们之间的同步。
Multi-programming :-
More than one task(job) process can reside into main memory at a time. It is basically design to reduce CPU wastage during I/O operation , example : if a job is executing currently and need I/O operation . I/O operation is done using DMA and processor assign to some Other job from the job queue till I/O operation of job1 completed . then job1 continue again . In this way it reduce CPU wastage .
Multi -Tasking :-
In this type of OS multiple task(process) are performed concurrently (Concurrently does't mean that task executing exactly at same time instant ..as multitasking does't imply parallelism ) .
In this system a new task start before other task ended depend on CPU scheduling technique it uses && all processes share common resources .
Multi -Processing :-
Use 2 or more processor within single CPU . So task can execute in parallel .But some synchronization b/w them is needed .
多道编程 - 在多道编程系统中,主内存中加载了多个准备执行的程序。一次只有一个程序能够获得 CPU 来执行其指令,而所有其他程序都在等待。多道程序设计的主要思想是最大限度地利用CPU时间。
假设当前正在运行的进程正在执行 I/O 任务,则操作系统可能会中断该进程并将控制权交给准备执行的其他主内存程序之一(即进程上下文切换)。
这样,系统就不会浪费CPU时间来等待I/O任务完成。
多处理 - 多处理是操作系统在多处理器机器上同时执行多个进程的能力。在多处理系统中,一台计算机同时使用多个CPU。
多任务 - 多任务是操作系统在单处理器计算机上同时执行多个任务的能力,这些多个任务共享公共资源,例如 CPU 和内存。在多任务系统中,CPU 从一个任务切换到下一个任务的速度非常快,看起来就像所有任务都在同时执行。
多任务处理和多道程序设计之间存在差异。多任务系统中的任务不是整个应用程序,但当一个进程被划分为子任务时,它可以引用“执行线程”。每个较小的任务在完成之前不会劫持 CPU,它们共享少量称为 Quantum 的 CPU 时间。多道程序和多任务操作系统是分时系统。
多线程 - 多线程是多任务处理的扩展。多线程是操作系统将单个应用程序中的特定操作细分为单独线程的能力。这些线程中的每一个都可以并行运行。操作系统不仅在不同的应用程序之间划分处理时间,而且还在应用程序内的每个线程之间划分处理时间。
MultiProgramming - In a multiprogramming system, there are more than one programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions while all others are waiting their turn. The main idea of multiprogramming is to maximize the use of CPU time.
Suppose currently running process is performing an I/O task, then OS may interrupt that process and give the control to one of the other in - main memory programs that are ready to execute (i.e. process context switching).
In this way, no CPU time is wasted by system waiting for the I/O task to be completed.
MultiProcessing - Multiprocessing is the ability of an operating system to execute more than one process simultaneously on a multi processor machine. In multiprocessing system, a computer uses more than one CPU at a tme.
Multitasking - Multitasking is the ability of an operating system to execute more than one task simultaneously on single processor machine, these multiple tasks share common resources such as CPU and memory. In multitasking system, CPU switches from one task to next task so quickly that appears as all tasks are executing at the same time.
There are differences between multitasking and multiprogramming. A task in a multitasking system is not whole application program but it can refres to a "thread of execution" when one process is divided into sub-tasks. Each smaller task does not hijack the CPU until it finishes, they share a small amount of the CPU time called Quantum. Multiprogramming and multitasking operating systems are time sharing systems.
Multithreading - Multithreading is the extension of multitasking. Multithreading is the ability of an operating system to subdivide the specific operation within a single application into individual threads. Each of these threads can run in parallel. The OS divides processing time not only among different applications but also among each thread within an application.
在多道程序系统中,主内存中加载了多个准备执行的程序。一次只有一个程序能够获得 CPU 来执行其指令,而所有其他程序都在等待。多道程序设计的主要思想是最大限度地利用CPU时间。假设当前正在运行的进程正在执行 I/O 任务,则操作系统可能会中断该进程并将控制权交给准备执行的其他主内存程序之一(即进程上下文切换)。这样,系统就不会浪费CPU时间来等待I/O任务完成。
多处理 - 多处理是操作系统在多处理器机器上同时执行多个进程的能力。在多处理系统中,一台计算机同时使用多个CPU。
多任务 - 多任务是操作系统在单处理器计算机上同时执行多个任务的能力,这些多个任务共享公共资源,例如 CPU 和内存。在多任务系统中,CPU 从一个任务切换到下一个任务的速度非常快,看起来就像所有任务都在同时执行。
多任务处理和多重编程之间存在差异。多任务系统中的任务不是整个应用程序,但当一个进程被划分为子任务时,它可以指“执行线程”。每个较小的任务在完成之前不会劫持 CPU,它们共享少量称为 Quantum 的 CPU 时间。多编程和多任务操作系统是分时系统。
多线程 - 多线程是多任务处理的扩展。多线程是操作系统将单个应用程序中的特定操作细分为各个线程的能力。这些线程中的每一个都可以并行运行。操作系统不仅在不同的应用程序之间划分处理时间,而且还在应用程序内的每个线程之间划分处理时间。
In a multiprogramming system, there are more than one programs loaded in main memory which are ready to execute. Only one program at a time is able to get the CPU for executing its instructions while all others are waiting their turn. The main idea of multiprogramming is to maximize the use of CPU time. Suppose currently running process is performing an I/O task, then OS may interrupt that process and give the control to one of the other in - main memory programs that are ready to execute (i.e. process context switching). In this way, no CPU time is wasted by system waiting for the I/O task to be completed.
MultiProcessing - Multiprocessing is the ability of an operating system to execute more than one process simultaneously on a multi processor machine. In multiprocessing system, a computer uses more than one CPU at a tme.
Multitasking - Multitasking is the ability of an operating system to execute more than one task simultaneously on single processor machine, these multiple tasks share common resources such as CPU and memory. In multitasking system, CPU switches from one task to next task so quickly that appears as all tasks are executing at the same time.
There are differences between multitasking and multi programming. A task in a multitasking system is not whole application program but it can refers to a "thread of execution" when one process is divided into sub-tasks. Each smaller task does not hijack the CPU until it finishes, they share a small amount of the CPU time called Quantum. Multi programming and multitasking operating systems are time sharing systems.
Multi threading - Multi threading is the extension of multitasking. Multi threading is the ability of an operating system to subdivide the specific operation within a single application into individual threads. Each of these threads can run in parallel. The OS divides processing time not only among different applications but also among each thread within an application.
多道程序设计 - 该术语用于批处理系统的上下文中。
主内存中同时有多个程序。 CPU为每一个都安排一个时间。
即提交多个作业,所有作业都被加载到内存中并根据调度算法执行。常见的批处理系统调度算法包括:先到先服务、最短作业优先、最短剩余时间下一个。
多任务处理 - 这基本上是单用户交互环境中的多道程序设计,其中操作系统在主内存中的多个程序之间切换,从而给人一种错觉,多个程序同时运行。立即运行。用于多任务处理的常见调度算法有:循环法、优先级调度(多个队列)、最短进程下一个。
Multiprogramming - This term is used in the context of batch systems.
You've got several programs in main memory concurrently. The CPU schedules a time for each one.
I.e. submitting multiple jobs and all of them are loaded into memory and executed according to a scheduling algorithm. Common batch system scheduling algorithms include: First-Come-First-Served, Shortest-Job-First, Shortest-Remaining-Time-Next.
Multitasking - This is basically multiprogramming in the context of a single-user interactive environment, in which the OS switches between several programs in main memory so as to give the illusion that several are running at once. Common scheduling algorithms used for multitasking are: Round-Robin, Priority Scheduling (multiple queues), Shortest-Process-Next.
多处理就像操作系统在主内存中处理不同的作业一样,当其他作业忙于某些任务(例如 I/O 操作)时,它会为每个作业分配时间。因此,只要至少有一项作业需要执行,CPU 就不会闲置。
在这里,它由操作系统自动处理,无需用户与计算机交互。
但当我们谈到多任务时,用户实际上同时参与不同的工作 - 扫雷或检查邮件或其他任何事情。 CPU通过在多个作业之间切换来执行多个作业,但切换速度太快,以至于用户会产生两个应用程序同时运行的错觉。
因此 mp 和 mt 之间的主要区别在于,在 mp 中,操作系统在主内存中处理不同的作业,如果某个作业正在等待某些作业,那么它将跳转到下一个要执行的作业。在 mt 中,用户与系统进行交互,并获得两个或任何一个应用程序同时运行的错觉。
MULTIPROCESSING is like the OS handling the different jobs in main memory in such a way that it gives its time to each and every job when other is busy for some task such as I/O operation. So as long as at least one job needs to execute, the cpu never sit idle.
and here it is automatically handled by the OS, without user interaction with computer.
But when we say about MULTITASKING, the user is actually involved with different jobs as at one time - minesweeper or checking mail or anything. The cpu executes multiple jobs by switching among them, but the switching is so fast that user has the illusion that both the applications are running simultaneously.
So the main difference between mp and mt is that in mp the OS is handling different jobs in main memory in such a way that if some job is waiting for something then it will jump for the next job to execute. And in mt the user is in interaction with the system and getting the illusion as both or any of the applications are running simultaneously.
多道程序设计——不仅仅是在主内存中进行工作。
多重任务 - 多个程序同时运行。 CPU 中不止一个程序。
Multiprogramming-More than on job in main memory.
Muntitasking - More than one program run simultaneously. that is more than one program in CPU.
多道编程:-
一次可以有多个任务(作业)进程驻留在主内存中。它基本上是为了减少 I/O 操作期间的 CPU 浪费而设计的,例如:如果当前正在执行一个作业并且需要 I/O 操作。 I/O 操作是使用 DMA 完成的,处理器分配给作业队列中的其他作业,直到 job1 的 I/O 操作完成。然后 job1 再次继续。这样就减少了CPU的浪费。
Multi-programming :-
More than one task(job) process can reside into main memory at a time. It is basically design to reduce CPU wastage during I/O operation , example : if a job is executing currently and need I/O operation . I/O operation is done using DMA and processor assign to some Other job from the job queue till I/O operation of job1 completed . then job1 continue again . In this way it reduce CPU wastage .
单个进程中可以存在多个线程。属于同一进程的线程共享相同的内存区域(可以读取和写入完全相同的变量,并且可以相互干扰)。相反,不同的进程驻留在不同的内存区域,并且每个进程都有自己的变量。为了进行通信,进程必须使用其他通道(文件、管道或套接字)。
如果您想要并行计算,您可能需要多线程,因为您可能希望线程在同一内存上进行协作。
谈到性能,线程的创建和管理速度比进程更快(因为操作系统不需要分配全新的虚拟内存区域),并且线程间通信通常比进程间通信更快。但线程更难编程。线程可以相互干扰,并且可以写入彼此的内存,但发生这种情况的方式并不总是显而易见的(由于多种因素,主要是指令重新排序和内存缓存),因此您将需要同步原语来控制访问到你的变量。
来源
Multiple threads can exist in a single process. The threads that belong to the same process share the same memory area (can read from and write to the very same variables, and can interfere with one another). On the contrary, different processes live in different memory areas, and each of them has its own variables. In order to communicate, processes have to use other channels (files, pipes or sockets).
If you want to parallelize a computation, you're probably going to need multithreading, because you probably want the threads to cooperate on the same memory.
Speaking about performance, threads are faster to create and manage than processes (because the OS doesn't need to allocate a whole new virtual memory area), and inter-thread communication is usually faster than inter-process communication. But threads are harder to program. Threads can interfere with one another, and can write to each other's memory, but the way this happens is not always obvious (due to several factors, mainly instruction reordering and memory caching), and so you are going to need synchronization primitives to control access to your variables.
Source
基本上,多编程是一种同时运行多个程序的概念,假设您运行两个程序,例如 chrome(浏览器)和计算器(系统应用程序)。
多处理是指用户使用多个处理器来完成一项任务。
要了解多线程,我们需要知道什么是线程。线程基本上是在程序内运行的程序的一部分。线程的最佳示例是浏览器的选项卡。如果您有 5 个正在打开和使用的选项卡,那么程序实际上会创建 5 个程序线程,这个概念称为多线程。
Basically Multi-programming is a concept where you run more than one program simultaneously, suppose you run two programs like chrome(browser) and calculator(system application).
Multi processing is where a user uses more than one processor to accomplish a task.
To know Multi threading we need to know what is a thread. A thread is basically a part of a program running within the program. Best example of thread is the tabs of a browser. If you have 5 tabs which are being opened and used then the program actually creates 5 threads of the program, this concept is called multi-threading.
多任务处理:-
它同时处理许多任务或工作。在这种情况下,用户可以与系统交互。
多道程序设计:-
它同时处理多个程序&它不能与系统交互,一切都是由OS(操作系统)决定的。
Multitasking:-
It handling a number of tasks or jobs simultaneously. In that case user can interact with the system.
Multiprogramming:-
It handling a several programs at the same time & it cannot interact with the system, every thing is decided by the OS(Operating System).
多道程序设计是计算机系统在单个计算机系统中同时执行不同任务的过程。
A multiprogramming is the process when a computer system is performing different tasks all at once in a single computer system.
多任务处理(分时):
分时系统允许许多用户同时共享计算机。
Multitasking (Time sharing):
Time shared systems allows many users to share the computer simultaneously.
多道程序设计:-同一台计算机不同时执行多个作业。
多任务处理:- 同时执行多个任务的情况。
Multiprogramming:- in which execution of multiple jobs by the same computer not at the same time.
Multitasking :- o/s in which more than one task are executed at the same time.
释义维基百科:
多道程序设计 - 一台计算机一次运行多个程序(例如同时运行 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
Paraphrasing wikipedia:
Multiprogramming - A computer running more than one program at a time (like running Excel and Firefox simultaneously)
http://en.wikipedia.org/wiki/Multiprogramming
Multiprocessing - A computer using more than one CPU at a time
http://en.wikipedia.org/wiki/Multiprocessing
Multitasking - Tasks sharing a common resource (like 1 CPU)
http://en.wikipedia.org/wiki/Computer_multitasking#Multithreading
多道编程:
在某一时间点可以有多个任务/程序/作业/进程驻留在主内存中。操作系统的这种能力称为多道程序设计。
多任务处理:多个任务/程序/作业/进程可以在同一时间驻留在同一个CPU中。操作系统的这种能力称为多任务处理。
Multiprogramming:
More than one task/program/job/process can reside into the main memory at one point of time. This ability of the OS is called multiprogramming.
Multitasking: More than one task/program/job/process can reside into the same CPU at one point of time. This ability of the OS is called multitasking.
除了 Vaibhav Kumar 先生的回答之外,上述答案均不明确或不含糊。 [抱歉,无意冒犯]
多重编程和任务分配都是处理器中任务切换的概念,区别在于切换的概念和原因。
MProgramming:当活动任务需要更长的 IO 或其他非 CPU 响应时,为了不保持处理器空闲,处理器加载并处理另一个不等待 IO 并准备好处理的任务。
MTasking:即使在 MPrograming 之后,对于用户来说,可能会感觉只有一个任务正在执行,而另一个任务只是在等待 CPU。因此,活动任务也会从活动 CPU 中交换出来并保留在一边,另一个任务会在人类时间的一小部分[秒]内被引入 CPU,然后再次交换回较早的任务。这样用户会感觉两个任务同时在 CPU 中运行。但实际上每个任务在给定的 CPU 时间(以微秒或纳秒为单位)仅活动一次
,而 MProcessing 就像我的计算机有四核一样,所以我一次使用 4 个处理器,这意味着我的机器中会发生 4 个不同的多道程序实例。这 4 个处理器还执行大量的 MTasking。
因此,MProcessing>Mtasking>MProgramming
和 MThreading 是每个任务的另一个分解。这也是为了给用户幸福的生活。这里,多个任务(例如 Word 文档和媒体播放器)不会出现在图片中,而是较小的子任务(例如 Word 上的文本着色和 Word 中的自动拼写检查)是同一 Word 可执行文件的一部分。
不确定我是否能够澄清所有困惑......
None of the above answers except Mr Vaibhav Kumar's are clear or not ambiguous. [sorry, no offense]
Both multi programming and tasking are same concept of switching task in processor, difference is in the concept and reason of the switching.
MProgramming: to not keep processor idle when active task needs longer IO or other non CPU response then, processor loads and works on another task that is not waiting for IO and ready for process.
MTasking: even after MPrograming, to user it may feel like only one task is executing and another is simply waiting to come to cpu. So the active task is also swapped from active CPU and kept aside and another task is brought in CPU for a very small fraction of human time[second], and swapped back to the earlier task again. In this way user will feel both task are alive in CPU at same time. But actually each task is active only once at a given CPU time[in micro or nano second]
And MProcessing is, like my computer have quad core, so I use 4 processor at a time, means 4 different multiprogramming instances happen in my machine. And these 4 processors does another numerous no of MTasking.
So MProcessing>Mtasking>MProgramming
And MThreading n another breakup of each task. that also to give user a happy life. Here multiple tasks[like word doc and media player] are not coming in picture, rather small subtasks like coloring of text on word and automatic spell check in word are part of same word executable.
not sure if I was able to make clear all confusions...
多道程序设计和多任务处理都解决不同的问题,尽管它们使用相似的进程之间切换的方法。
多道程序设计:在早期,人们发现某些进程有时会使用外围设备(例如:I/O)。在这种情况下,CPU 保持空闲状态。为了更有效地使用 CPU,明智的做法是在内存中加载多个进程。这样,如果某个进程要使用外设,某些其他进程就会使用 CPU。这就是多道程序设计的实际应用。
多任务处理:对于最终用户来说,多个进程必须同时运行。这是通过在不同进程之间切换并让它们同时在 CPU 上运行来嘲笑的。这就是多任务处理背后的想法。
Both multiprogramming and multitasking solve different problems, though they use similar method of switching between the processes.
Multiprogramming : In the early days, it was seen that at times certain processes where using peripherals (e.g.: I/O). In such cases, the CPU remained idle. To use the CPU more efficiently, it was prudent to load multiple processes in the memory. This way, if a certain process were to use the peripheral, certain other process would use the CPU. This was multiprogramming in action.
Multitasking : To the end user, multiple processes had to appear running at the same time. This was mocked by switching between different processes and by making them run on the CPU simultaneously. This was the idea behind multitasking.
多道程序设计——要执行的作业被加载到池中。其中一些作业被加载到主内存中,并从池中选择一个作业由 CPU 执行。如果正在运行的程序在某个时刻终止或需要外围设备的服务,则 CPU 的控制权将交给池中的下一个作业。当程序终止时,更多作业被加载到内存中执行,并且 CPU 控制权会切换到内存中的另一个作业。通过这种方式,CPU 总是执行某些程序或其某些部分,而不是等待打印机、磁带驱动器或控制台输入。
下由单独的 CPU 同时执行两个或多个程序或指令序列 -
多处理- 在集成控制多任务系统 单个 CPU 并发或交错执行两个或多个作业。
多用户系统 - 一种计算机系统,其中多个终端连接到处理处理任务的主机。
Multiprogramming- Jobs to be executed are loaded into a pool. Some number of those jobs are loaded into main memory, and one is selected from the pool for execution by the CPU. If at some point the program in progress terminates or requires the services of a peripheral device, the control of the CPU is given to the next job in the pool. As programs terminate, more jobs are loaded into memory for execution, and CPU control is switched to another job in memory. In this way the CPU is always executing some program or some portion thereof, instead of waiting for a printer, tape drive, or console input
Multiprocessing - the simultaneous execution of two or more programs or instruction sequences by separate CPUs under integrated control
multitasking System - the concurrent or interleaved execution of two or more jobs by a single CPU.
Multiusers System - a computer system in which multiple terminals connect to a host computer that handles processing tasks.
多任务 - 也称为分时,因为多个任务(或进程)可以在特定时间定期切换,以便用户可以看到它们正在同时运行。
多线程 - 为了使用户体验更丰富,任务(在单个进程中)被进一步划分为子任务。然后,这些子任务可以在多任务环境中运行。
多处理 - 它是在给定时间内让多个处理器运行一个进程(或程序)的过程。它减少了计算时间。
多重编程 - 通常用于批处理操作系统。在这里,作业(或进程)在执行时获得完整的 CPU 和内存。多重编程是在计算机主存储器中加载许多不同程序的系统,并且第一个程序开始运行。当它执行完毕(即运行状态)并等待外设(即等待状态)时,下一个进程开始运行。这与多任务处理相反,在多任务处理中,每个任务都被分配一个时隙(也称为量子)来执行。
Multitasking - It is also called time sharing because multiple tasks(or processes) can be switched regularly, in a particular time, so that the user can get a view that they are operating concurrently.
Multi-threading - To make the user experience richer, the tasks(in a single process) are further divided into sub-tasks. These sub-tasks then can operate in a multi-tasking environment.
Multiprocessing - It is the process of having multiple processors to run a process(or program), in a given time. It decreases the computation time.
Multi programming - It is used in batch operating systems, generally. Here, the job(or process) gets the full CPU and memory while execution. Multi programming is the system in which many different programs are loaded in computer's main memory, and the first one begins to run. When it finishes its execution(i.e., in running state) and waits for peripheral(i.e., waiting state), the next process begins to run. This is in contrast to multi-tasking, in which case each task is allotted a time slot(also called quantum) for its execution.
多道程序设计:意味着在计算机上运行多个程序。这里用户无法与系统交互,一切都由操作系统决定。
多任务:它是多道程序设计的逻辑扩展。它意味着在计算机上运行多个任务。作业之间的切换非常快,以至于用户可以与系统交互。
多线程:主要出现在更多数量的客户端访问服务器时。
Multiprogramming: It means running several programs on computer.Here user cannot interact with the system,everything is decided by the OS.
Multitasking: It is a logical extension of multiprogramming.It means running several tasks on computer.Switching between the jobs is so fast that the user can interact with the system.
Multithreading: Basically seen when more number of clients access the server.
多道程序设计 - 一台计算机同时运行多个程序(例如同时运行 Excel 和 Firefox)
多道处理 - 一台计算机一次使用多个 CPU
多道程序设计 - 多个任务/程序/作业/进程可以在某一时间点驻留在主内存中。操作系统的这种能力称为多道程序设计。
多任务:多个任务/程序/作业/进程可以同时驻留在同一个 CPU 中。操作系统的这种能力称为多任务处理。
多用户系统 - 一种计算机系统,其中多个终端连接到处理处理任务的主机。
Multiprogramming - A computer running more than one program at a time (like running Excel and Firefox simultaneously)
Multiprocessing - A computer using more than one CPU at a time
Multiprogramming - More than one task/program/job/process can reside into the main memory at one point of time. This ability of the OS is called multiprogramming.
Multitasking: More than one task/program/job/process can reside into the same CPU at one point of time. This ability of the OS is called multitasking.
Multiusers System - a computer system in which multiple terminals connect to a host computer that handles processing tasks.
多线程
多线程将多任务处理的理念扩展到应用程序中,因此您可以将单个应用程序中的特定操作细分为单独的线程。
Multithreading
Multithreading extends the idea of multitasking into applications, so you can subdivide specific operations within a single application into individual threads.
多任务处理——这基本上是单用户交互环境中的多道程序设计,其中操作系统在主内存中的多个程序之间切换,从而给人一种同时运行多个程序的错觉。用于多任务处理的常见调度算法有:循环法、优先级调度(多个队列)、最短进程下一个。
多处理就像操作系统在主内存中处理不同的作业一样,当其他作业忙于某些任务(例如 I/O 操作)时,它会为每个作业分配时间。因此,只要至少有一项作业需要执行,CPU 就不会闲置。在这里它是由操作系统自动处理的,
Multitasking - This is basically multiprogramming in the context of a single-user interactive environment, in which the OS switches between several programs in main memory so as to give the illusion that several are running at once. Common scheduling algorithms used for multitasking are: Round-Robin, Priority Scheduling (multiple queues), Shortest-Process-Next.
MULTIPROCESSING is like the OS handling the different jobs in main memory in such a way that it gives its time to each and every job when other is busy for some task such as I/O operation. So as long as at least one job needs to execute, the cpu never sit idle. and here it is automatically handled by the OS,