程序、进程、作业、线程的关系

一、程序:是一个包含了所有指令和数据的静态实体。本身除占用磁盘的存储空间外,并不占用系统如CPU、内存等运行资源。

二、是一个程序在其自身虚拟地址空间的依次执行活动,是一个动态的执行过程,在执行过程中需要占用CPU、内存等运行资源。

程序和进程的区别:程序是静止的,进程是动态的,一个程序可以启动多个进程来共同完成。

三、作业:是用户提交给系统的一个正在执行的任务,这个任务有可能只需一个进程来完成,也有可能需要多个进程完成。

如:      用户提交一个任务给系统以后,当该任务被调度室,系统会为此任务创建进程,改任务有时候可能只需创建一个进程即可完成、当有时候一个进程无法完成时,系统会为这个进程创建子进程,即一个任务需要多个进程才能完成。

进程·和作业的关系:   有可能有一个进程完成作业,也有可能需要几个进程共同完成一个作业。

如:   指令: ls -l

        只是一个作业,只需启动一个进程即可。

        指令:cat f1|grep "file"|wc -l

       这个是一个作业,当却同时启动3个进程

四、线程:执行进程时,可能需要进程在同时刻能够作不止一件事,那么这些事就可以由线程去处理,即平常所说的多线程处理。

原文地址:https://www.cnblogs.com/yihujiu/p/5520644.html