第二章进程与线程2.1进程的引入程序顺序执行的特征:顺序性、封闭性、可再现性程序并发执行的特征:间断性、失去封闭性、失去再现性并发执行的条件:(Bernstein条件)读集:R(Pi)={a1,a2,……,am}程序Pi执行期间参考的变量集合写集:W(Pi)={b1,b2,……,bm}程序Pi执行期间改变的变量集合两个进程P1,P2若满足:R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={}则P1,P2并发执行,且具有可再现性。进程:并发执行的程序在一个数据集合上的执行过程进程与程序之间的关系:进程程序●动态的静态的●并发的顺序●暂时的永久的●数据结构=程序+数据+PCB●程序与进程不是一一对应关系2.2进程的状态及其组成进程的三种基本状态:就绪状态:当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。执行状态:进程已获得CPU,其程序正在执行阻塞状态:正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。进程状态转化图:挂起状态的引入原因:(1)内外存对换的需要(2)用户调试程序的需要(3)实时系统调节负荷的需要(4)操作系统的需要双挂起状态转化图:进程的组成:进程控制块PCB、程序段、数据段、堆栈运行就绪阻塞时间片用完进程调度请求I/O或等待某事件I/O完成或事件完成退出创建接纳完成运行就绪阻塞时间片用完进程调度请求I/O或等待某事件I/O完成或事件完成退出创建接纳完成阻塞挂起激活挂起就绪挂起挂起激活挂起I/O完成或事件完成PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤消其PCB。PCB经常被系统访问,尤其是被运行频率很高的进程及分派程序访问,故PCB应常驻内存PCB的内容:进程描述信息、处理机状态信息、进程调度信息、进程控制和资源占有量2.3进程控制处理机的执行状态分为:核心态:具有较高的特权,能执行一切命令,访问所有寄存器和存储区用户态:具有较低特权,只能执行规定的命令,访问指定的寄存器和存储区内核:通常将一些与硬件紧密相连的模块放在紧靠引荐的层次上,并是这部分程序常驻内存,以便提高系统的运行效率,这部分程序通常称为内核。原语:由若干条指令构成,用于完成一定功能,具有较低特权,只能执行规定的命令,访问指定的寄存器和存储区。引起进程创建的事件:用户登录、新作业进入系统、提供服务、应用请求创建原语要做的工作:申请空白PCB、为进程分配资源、初始化PCB、将新进程插入就绪队列引起进程撤销的事件:进程正常结束、进程异常结束、外界干预撤销原语要做的工作:查找撤销进程的PCB。若处于执行状态,终止之,并进行进程调度、若有子孙,予以终止。归还资源。从所在队列中移除。引起进程阻塞的事件:请求系统服务、启动某种操作、数据尚未到达、无新工作可做阻塞原语要做的工作:停止进程的执行、将进程插入阻塞队列,改变进程在PCB中的状态、重新调度唤醒原语要做的工作:将进程从阻塞队列解下、将进程插入就绪队列、改变进程在PCB中的状态2.4线程线程:进程内一个相对独立的执行流,或控制流,是处理机分配的实体。传统用户进程是单线程的。线程结构:线程标识线程号处理机状态信息(现场)通用寄存器指令计数器程序状态字栈指针线程调度信息线程状态线程优先数等待原因调度算法参数等进程间通信需要内核介入线程继承进程并发性而具有进程状态及转换,比较:调度;»同一进程线程切换不会引起进程切换»不同进程中线程切换才发生进程切换并发性;»进程之间可以并发执行»进程内多个线程同样可以并发执行系统资源;»进程是资源分配单位(资源拥有者)»线程共享进程所拥有的全部资源系统开销;»进程创建和撤消开销大于线程的»进程切换开销大于同一进程内线程线程的分类:内核级线程、用户级线程两种线程的比较:1.调度与切换速度:用户级线程的切换,因发生在一个应用进程之间,因此不仅无须通过中断进入OS内核,而且切换的规则也比较简单。用户级线程比内核级线程切换速度快2.系统调用:用户级线程在调用系统调用时,系统将看成是其所在进程的行为。而内核级线程的系统调用是以线程为单位。因此比较轻装。用户级线程不如内核级线程3.线程执行时间用户级线程不如内核级线程合理课本重点习题:P55第七题习题:1.进程和程序的本质区别是()。(A)存储在内存和外存(B)顺序和非顺序执行机器指令(C)分时使用和独占使用计算机资源(D)动态和静态特征参考答案:D2.一个进程是()。(A)由处理机执行的一个程序(B)一个独立的程序+数据(C)PCB,程序和数据的组合(D)一个独立的程序参考答案:C3.在多道程序环境下,操作系统分配资源以()为基本单位。(A)程序(B)指令(C)进程(D)作业参考答案:C4.同一程序经过多次创建,运行在不同的数据集上,形成了()的进程.A不同B相同C同步D互斥参考答案:A5.一进程在某一时刻具有()。(A)一种状态(B)两种状态(C)三种状态(D)四种状态参考答案:A6.进程从运行状态变为阻塞的原因可能是()。(A)输入/输出事件发生(B)时间片到(C)输入/输出事件完成(D)某个进程被唤醒.参考答案:B7.一个进程的基本状态可以从其他两种基本状态转换过来,这个基本状态是()。(A)执行状态(B)阻塞状态(C)就绪状态(D)完成状态参考答案:C8.某个运行中的进程要申请打印机,它将变为()。(A)就绪态(B)阻塞态(C)挂起态(D)创建态参考答案:B9.进程状态由就绪态转换为运行态是由()引起的。(A)中断事件(B)时间片到(C)输入/输出事件完成(D)进程调度参考答案:B10.在单处理器系统中,如果同时存在10个进程,则处于就绪队列中的进程最多()个.A1B8C9D10参考答案:C11.系统感知进程的唯一实体是()。(A)JCB(B)FCB(C)PCB(D)SJT参考答案:C12.PCB是进程存在的唯一标志,下列()不属于PCB。A进程IDBCPU状态C堆栈指针D全局变量参考答案:B13.以下()不会引起进程创建。(A)用户登录(B)作业调度(C)设备分配(D)应用请求参考答案:C14.以下说法中,()不是创建进程必须的。(A)建立一个进程的PCB(B)为进程分配内存(C)为进程分配CPU(D)将进程插入就绪队列中参考答案:C15.一个进程释放一种资源将有可能导致一个或几个进程()。(A)由就绪变为运行(B)由运行变为就绪(C)由阻塞变为运行(D)由阻塞变为就绪参考答案:D16.在引入线程的操作系统中,资源分配的基本单位是()。CPU分配的基本单位是()。(A)程序(B)作业(C)进程(D)线程参考答案:CD17.内核支持线程是指()。(A)用户创建的线程(B)内核创建的用户线程或系统进程(C)在核心态下运行线程(D)在用户态下运行线程参考答案:C18.以下关于线程的叙述中,正确的是()。(A)引入线程后,处理机只在线程间切换(B)引入线程后,处理机仍在进程间切换(C)线程的切换,不会引起进程的切换(D)线程的切换,可能引起进程的切换参考答案:D19.在支持多线程的系统中,进程P创建的若干个线程不能共享的是()A进程P的代码段B进程P中打开的文件C进程P的全局变量D进程P中某线程的栈指针参考答案:B