进程和线程
有一个四口之家,爸爸妈妈,儿子女儿,家规森严 家里做每一件事情都有对应的说明书,写清楚了步骤 家里也有一定的财产,做事情需要的资源基本都有 一个周六,爸爸想亲手给女儿做蛋糕,按做蛋糕的说明书看,然后家里有对应的原料, 比如面粉,鸡蛋,糖等,然后边看边做 ------蛋糕说明书对应程序 ------爸爸对应CPU ------原料对应数据 ------做蛋糕这件事对应进程 这个时候,儿子和爸爸说手受伤了,爸爸就先停止做蛋糕,在蛋糕说明书当前位置做了个标记 然后将状态信息记录起来(爸爸和自己说,我蛋糕做到第三步了) 然后去找包扎说明书,按步骤给儿子处理伤口 处理完了以后,继续回到厨房做蛋糕 -----这里说明CPU从一个进程(做蛋糕)切换到另一个进程(医疗救护)
并发和并行概念: 周日了,晚上要吃晚饭,做晚饭一个人需要一个小时 如果爸爸一个人 前30分钟洗菜 后30分钟炒菜,那么这是并发执行,也就是在一段时间内做多件事情 -----------一个CPU一段时间执行多个进程(买菜是一个进程,炒菜也是一个进程) 如果爸爸妈妈合作,爸爸洗菜的同时妈妈炒菜,那么这是并行执行,也就是一个时刻内做多件事情 -------两个CPU,一个进程1,一个进程2,这是并行 问题?爸爸一个人可以并行的洗菜和炒菜吗? ----不行,因为一个人一个时刻只能做一件事情,所以一个CPU是没办法并行的
进程的组成:程序 数据 进程控制块(即进程状态信息PCB) 做蛋糕这个进程,需要蛋糕说明书,原材料 这户人家有一个规矩,每个人如果在做事的时候,就把自己做的事情写在纸条上然后贴在客厅的黑板上 这个纸条上要包括,这件事情的编号,谁让我做的这件事,用到的数据,空间,做事请的状态等 比如 做蛋糕这件事就应该写 事情ID:1 父ID:0 数据:糖,面粉,鸡蛋 空间:厨房 做事情状态:正在制作中(当爸爸去帮小儿子包扎时,这里的状态就会变成暂停中) 别的有用的信息

浙公网安备 33010602011771号