一、程序与进程之间的区别:
*进程更能真实的描述并发,而程序不能
*进程是由程序、数据和进程控制块三部分组成的
*程序是静态的,进程是动态的
*进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的
*一个程序可以对应多个进程,反之亦然
*进程具有创建其他进程的功能,而程序没有
二、进程控制块(Process Contol Block)
*它是一个数据结构;它记录了进程的外部特征,描述进程的运动变化过程
*进程与PCB一一对应,是进程存在的唯一标志
*PCB中的信息:记录了进程的全貌
1)进程标识信息
*外部标识符:有创建者提供,由字符、数字组成
*内部标识符:OS中,每个进程都有唯一的标识符(PID)
2)处理器状态信息(现场信息)
*进程走走停停必须保存处理器的状态信息(即处理器现状),由处理器寄存器内容组成。
*通用寄存器(8-32个,RISC结构中超过100个)
*指令计数器(下一条指令的地址)
*状态寄存器(程序状态字PSW)
*用户栈指针(过程和系统调用参数及地址)
3)进程调度信息
*进程状态(如:运行,就绪,阻塞...)
*进程优先级
*该进程在等待的事件(阻塞原因)
*调度所需其它信息(如:等待总时间,执行总时间)
4)进程控制信息
*程序和数据的地址
程序和数据所在的内存(段/页表指针)或外存地址
*进程间同步和通信机制
需要的消息队列指针和信号量等
*所需的和已分配的资源清单及使用情况
除CPU外的资源:文件,I/O设备...它们的时间使用史
*数据结构信息
进程可能需要有指向其他PCB的指针,父-子进程关系及其它结构
三、PCB表
*系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。
*系统的并发度:PCB表的大小决定了系统中最多可同时存在的进程个数。
注:多道程序中的道数与系统并发度不同
四、进程的三种基本状态转换
阅读(1607) | 评论(0) | 转发(0) |