2010-05-01 55 views

回答

12

进程和线程之间的区别对于所有操作系统都是相当通用的。一个进程通常代表一个具有自己的内存区域,系统资源和调度槽的独立执行单元。

线程通常是进程内的“分支” - 线程通常共享相同的内存和操作系统资源,并共享分配给该进程的时间。例如,当您打开浏览器和Microsoft Word时,每个都是不同的过程,但每个过程中发生的事情(如动画,刷新或备份)都可以是线程。

作业通常是由用户执行的长时间运行的工作单元。这项工作可能由一个或多个流程“处理”。它可能不是互动的。例如,指示机器压缩大文件或在大型输入文件上运行某些处理脚本通常是一项工作。命名是相对历史性的 - 大型机用于处理作业。在UNIX系统中,许多作业使用cron在预定时间自动启动,因此您有'cron作业'的概念。

4

因此,一个过程是一个单一的程序。它至少有一个线程,也许更多。每个线程都需要一个调度程序插槽,但调度程序在分配CPU到线程方面有所不同;在任何情况下,线程的重点都是让一个进程并行地完成多件事情。线程共享各种系统资源,特别是内存,文件和套接字。

作业和任务是unix shell的概念;作业是一个运行的shell,它仍在运行,暂停或在后台运行。在bash手册中有关于“作业控制”的很长一段。工作和任务大致相同的概念。

相关问题