作业,进程,线程
作业
作业这个名词,前面也有提到过,其实现在的操作系统中是没有作业这个东西的,它出现在批处理系统中
作业是用户在一次计算过程中或一次事务处理过程中要求计算机系统所做的工作的集合
先了解多两个东西:
作业步:一个作业分成若干个顺序处理的作业单位
子作业步:每个作业步更细的划分
关系
作业的执行过程可以看成是任务;
作业步的执行过程可以看成是进程
子作业步对应线程
进程
是程序的一次执行过程
特点:具有动态性
下面先说说进程实体
啥玩意,进程实体又是啥?
进程实体是由三部分组成:程序段,数据段,PCB(进程控制块)
顾名思义,
程序段放的就是存放执行的程序代码喽,
数据段自然就是存放程序运行过程中处理的各种数据,
那PCB呢?
它可是好东西,它用来描述进程的各种信息(如程序代码存放位置),所以说我们一直疑惑那计算机怎么知道要去哪里取我要的东西,怎么不会出错?原来是有这个PCB,大功臣啊
又敲重点:
所以我们一般说创建一个进程,其实就是创建进程实体中的PCB,撤销一个进程,自然就是撤销进程实体中的PCB
所以又说这个PCB是进程存在的唯一标志!!!
这里提一点,这个进程标识符就很像人的身份证,是一个唯一的,不可重复的ID,用于区分不同的进程
一般情况下,把进程实体简称为进程,但是严格来说,进程实体又不是进程,因为进程实体是静态的,而进程是动态的
进程的基础先讲到这,因为进程的知识比较多,后面会专门写一篇
线程
为啥需要线程?
因为有的进程它可能需要“同时”做很多件事,传统的进程只能串行执行一系列程序,为了增加并发度,引入了线程
那啥是线程?
线程是一个基本的CPU执行单位,也是程序执行流的最小单位
每个线程都有一个线程ID,线程控制块(TCB)
引入线程后,进程只作为除CPU之外的系统资源的分配单元,如打印机等都是分配给进程的
三者联系
举个例子帮助理解一下:
大扫除的例子
老师说今天下午大扫除,这个大扫除任务就可以看成一个作业,
而大扫除要做的事情,比如擦窗户,扫地,拖地等都是一个个的进程,
那线程呢,也很好理解,就好比擦窗户,它又分为递抹布的,擦的,洗抹布的等,这一个个动作就是线程
所以说
三者关系:作业>进程>线程