程序的并发执行分析 要符合前趋关系: Ii->Ci; Ci->Pi; Ii->Ii+1;Ci->Ci+1; Pi->Pi+1; 并发不是随意的: 如C1,C2无法交替执行,只能顺序执行;但C2和P1则没有严格时间关系
并发程序执行时的特征
间断性(运行表现) 多道 -> 程序并发执行-> 要共享系统的资源 -> 形成相互制约的关系 -> 相互制约导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。失去封闭性 共享资源,资源状态由多道程序改变,程序运行失去封闭性。即程序运行受其他程序的影响。结果不可再现性 结果不确定,程序执行将没有任何意义。就绪状态(Ready) 进程获得除CPU之外的所有必需资源,一旦得到CPU控制权,可立即运行。
运行状态(Running) 进程已获得所有运行必需的资源,正在处理机上执行。
阻塞状态(Blocked) 正在执行的进程由于发生某事件(请求I/O、申请缓冲、时间片到)而暂时无法执行时,便放弃CPU后暂停
进程的三种基态转换:三、进程控制块PCB(Process Control Block)
进程实体:代码段+数据段+PCB
定义 存放进程的管理和控制信息的数据结构称为进程控制块。PCB的重要性 进程控制块(PCB)是进程存在的唯一标志: 进程创建时,PCB建立并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。进程管理和控制的最重要的数据结构 PCB信息的存放 系统运行中有若干个程序的PCB,它们常驻内存的PCB区。采用的数据结构:PCB结构体,PCB链表或队列 PCB的组织方式链接方式 同一状态的PCB,依靠链接指针链接成队列。就绪队列;若干个阻塞队列;空白队列(PCB区的空PCB块)
索引方式 同状态的PCB同样集中记录,但以索引表的方式记录PCB的地址。用专门的单元记录各索引表的首地址。
管理系统所有PCB时,系统的几个关键指针有: 执行指针、就绪指针、阻塞指针、空闲指针
