[工学]操作系统第二章课件

上传人:枫** 文档编号:569320622 上传时间:2024-07-28 格式:PPT 页数:35 大小:328.02KB
返回 下载 相关 举报
[工学]操作系统第二章课件_第1页
第1页 / 共35页
[工学]操作系统第二章课件_第2页
第2页 / 共35页
[工学]操作系统第二章课件_第3页
第3页 / 共35页
[工学]操作系统第二章课件_第4页
第4页 / 共35页
[工学]操作系统第二章课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《[工学]操作系统第二章课件》由会员分享,可在线阅读,更多相关《[工学]操作系统第二章课件(35页珍藏版)》请在金锄头文库上搜索。

1、第二章第二章 进程管理进程管理(1 1)程序顺序执行)程序顺序执行)程序顺序执行)程序顺序执行input1input1compute1compute1print1print1input2input2compute2compute2print2print2S1:S1: a:=5 a:=5S2:S2: b:=a+1 b:=a+1S3:S3: c:=b*4 c:=b*4程序顺序执行时的特征:顺序性、封闭性、可再现性程序顺序执行时的特征:顺序性、封闭性、可再现性程序顺序执行时的特征:顺序性、封闭性、可再现性程序顺序执行时的特征:顺序性、封闭性、可再现性S1S1S2S2S3S31. 1.进程的基本概念进

2、程的基本概念进程的基本概念进程的基本概念(2 2)前趋图)前趋图)前趋图)前趋图a ad db bc cf fe e存在如下存在如下存在如下存在如下前趋关系前趋关系前趋关系前趋关系a a b ba a c ca a d db b f fc c f fd d e ee e f f甲甲甲甲乙乙乙乙丙丙丙丙前趋图是一个有向无循环图前趋图是一个有向无循环图前趋图是一个有向无循环图前趋图是一个有向无循环图(3 3)程序并发执行)程序并发执行)程序并发执行)程序并发执行I1I1I2I2I3I3C1C1C2C2C3C3P1P1P2P2P3P3程序并发执行的特征:间断性、失去封闭性、不可再现性程序并发执行的特

3、征:间断性、失去封闭性、不可再现性程序并发执行的特征:间断性、失去封闭性、不可再现性程序并发执行的特征:间断性、失去封闭性、不可再现性A: n:=1;print(n)A: n:=1;print(n)B: n:=0B: n:=0(4 4)进程的特征与状态)进程的特征与状态)进程的特征与状态)进程的特征与状态进程的特征和定义进程的特征和定义进程的特征和定义进程的特征和定义进程进程进程进程程序程序程序程序动态性动态性动态性动态性静态性静态性静态性静态性并发性并发性并发性并发性单道性单道性单道性单道性独立性独立性独立性独立性无独立性无独立性无独立性无独立性异步性异步性异步性异步性明确性明确性明确性明确

4、性结构特征结构特征结构特征结构特征(PCBPCB)-进程是进程是进程是进程是进程实体进程实体进程实体进程实体的运行的运行的运行的运行过程过程过程过程,是系统进行,是系统进行,是系统进行,是系统进行资源分资源分资源分资源分配配配配和和和和调度调度调度调度的一个独立单位。的一个独立单位。的一个独立单位。的一个独立单位。程序并发执行的条件程序并发执行的条件程序并发执行的条件程序并发执行的条件读集读集读集读集R(p):R(p):程序程序程序程序p p在执行过程中需参考的变量集合在执行过程中需参考的变量集合在执行过程中需参考的变量集合在执行过程中需参考的变量集合写集写集写集写集W(p):W(p):程序程

5、序程序程序p p在执行过程中需改变的变量集合在执行过程中需改变的变量集合在执行过程中需改变的变量集合在执行过程中需改变的变量集合c:=a+bc:=a+bR(c:=a+b)=a,bR(c:=a+b)=a,bW(c:=a+b)=cW(c:=a+b)=c19661966年,年,年,年,BernsteinBernstein提出程序并发执行条件:提出程序并发执行条件:提出程序并发执行条件:提出程序并发执行条件:R(P1) W(P2) U R(P2) W(P1) U W(P1) W(P2)= R(P1) W(P2) U R(P2) W(P1) U W(P1) W(P2)= 课后作业课后作业课后作业课后作业

6、试利用试利用试利用试利用BernsteinBernstein条件指明下列进程哪些可以并发条件指明下列进程哪些可以并发条件指明下列进程哪些可以并发条件指明下列进程哪些可以并发(1 1)S1: a=5-xS1: a=5-x S2: b=a+x S2: b=a+x(2 2)S3: a=7-xS3: a=7-x S4: b=c+x S4: b=c+x进程的基本状态进程的基本状态进程的基本状态进程的基本状态1 1)进程的三种基本状态)进程的三种基本状态)进程的三种基本状态)进程的三种基本状态vv 就绪状态就绪状态就绪状态就绪状态vv 执行状态执行状态执行状态执行状态vv 阻塞状态阻塞状态阻塞状态阻塞状态

7、2 2)新状态与终止状态)新状态与终止状态)新状态与终止状态)新状态与终止状态3 3)进程状态的转换)进程状态的转换)进程状态的转换)进程状态的转换新状态新状态就绪状态就绪状态执行状态执行状态阻塞状态阻塞状态终止状态终止状态中断中断中断中断I/OI/O请求请求请求请求I/OI/O完成完成完成完成进程的挂起状态进程的挂起状态进程的挂起状态进程的挂起状态1 1)引入挂起状态的原因:)引入挂起状态的原因:)引入挂起状态的原因:)引入挂起状态的原因:o o 终端用户的需要终端用户的需要终端用户的需要终端用户的需要o o 父进程的需要父进程的需要父进程的需要父进程的需要o o 操作系统的需要操作系统的需

8、要操作系统的需要操作系统的需要o o 对换的需要对换的需要对换的需要对换的需要o o 调节负荷的需要调节负荷的需要调节负荷的需要调节负荷的需要2 2)进程状态的转换)进程状态的转换)进程状态的转换)进程状态的转换 活动就绪活动就绪活动就绪活动就绪 静止就绪静止就绪静止就绪静止就绪 活动阻塞活动阻塞活动阻塞活动阻塞 静止阻塞静止阻塞静止阻塞静止阻塞 静止就绪静止就绪静止就绪静止就绪 活动就绪活动就绪活动就绪活动就绪 静止阻塞静止阻塞静止阻塞静止阻塞 活动阻塞活动阻塞活动阻塞活动阻塞(5 5)进程控制块)进程控制块)进程控制块)进程控制块PCBPCB1 1)PCB(Process Control

9、Block)PCB(Process Control Block)的作用的作用的作用的作用qq 记录操作系统所需要的描述进程状况的全部信息记录操作系统所需要的描述进程状况的全部信息记录操作系统所需要的描述进程状况的全部信息记录操作系统所需要的描述进程状况的全部信息qq 使进程能够并发使进程能够并发使进程能够并发使进程能够并发qq 进程存在的唯一标志进程存在的唯一标志进程存在的唯一标志进程存在的唯一标志qq PCBPCB常驻内存系统区常驻内存系统区常驻内存系统区常驻内存系统区2 2)PCB(Process Control Block)PCB(Process Control Block)中的信息中的

10、信息中的信息中的信息I. I.进程标示符进程标示符进程标示符进程标示符i. i.外部标示符外部标示符外部标示符外部标示符ii.ii.内部标示符(子进程标示符、父进程标示符、用户标示符)内部标示符(子进程标示符、父进程标示符、用户标示符)内部标示符(子进程标示符、父进程标示符、用户标示符)内部标示符(子进程标示符、父进程标示符、用户标示符)II.II.处理机状态处理机状态处理机状态处理机状态i. i.通用寄存器通用寄存器通用寄存器通用寄存器ii.ii.指令计数器指令计数器指令计数器指令计数器iii.iii.程序状态字程序状态字程序状态字程序状态字PSW(Program State Word)PS

11、W(Program State Word)iv.iv.用户栈指针用户栈指针用户栈指针用户栈指针III.III.进程调度信息进程调度信息进程调度信息进程调度信息i. i.进程状态进程状态进程状态进程状态ii.ii.进程优先级进程优先级进程优先级进程优先级iii.iii.其他信息(如其他信息(如其他信息(如其他信息(如CPUCPU使用时间、执行总时间)使用时间、执行总时间)使用时间、执行总时间)使用时间、执行总时间)iv.iv.阻塞原因阻塞原因阻塞原因阻塞原因IV.IV.进程控制信息进程控制信息进程控制信息进程控制信息i. i.程序及数据地址程序及数据地址程序及数据地址程序及数据地址ii.ii.进

12、程同步和通信机制进程同步和通信机制进程同步和通信机制进程同步和通信机制iii.iii.资源清单资源清单资源清单资源清单iv.iv.链接指针链接指针链接指针链接指针3 3)PCBPCB的组织方式的组织方式的组织方式的组织方式 链接方式链接方式链接方式链接方式执行指针执行指针执行指针执行指针就绪队列指针就绪队列指针就绪队列指针就绪队列指针阻塞队列指针阻塞队列指针阻塞队列指针阻塞队列指针空白队列指针空白队列指针空白队列指针空白队列指针15PCB90PCB89PCB77PCB6PCB58PCB40PCB33PCB24PCB1 索引方式索引方式索引方式索引方式执行指针执行指针执行指针执行指针就绪表指针就

13、绪表指针就绪表指针就绪表指针阻塞表指针阻塞表指针阻塞表指针阻塞表指针就绪索引表就绪索引表就绪索引表就绪索引表阻塞索引表阻塞索引表阻塞索引表阻塞索引表PCB7PCB6PCB5PCB4PCB3PCB2PCB12. 2.进程控制进程控制进程控制进程控制系统态:系统态:系统态:系统态:可访问一切寄存器和存储区,执行所有指令可访问一切寄存器和存储区,执行所有指令可访问一切寄存器和存储区,执行所有指令可访问一切寄存器和存储区,执行所有指令用户态:用户态:用户态:用户态:有限制的执行指令和访问存储区及寄存器有限制的执行指令和访问存储区及寄存器有限制的执行指令和访问存储区及寄存器有限制的执行指令和访问存储区及

14、寄存器OSOS内核内核内核内核 内核是计算机硬件的第一层扩充软件,常驻内存并受特殊保护,内核是计算机硬件的第一层扩充软件,常驻内存并受特殊保护,内核是计算机硬件的第一层扩充软件,常驻内存并受特殊保护,内核是计算机硬件的第一层扩充软件,常驻内存并受特殊保护,主要包括主要包括主要包括主要包括与各类硬件密切相关的模块与各类硬件密切相关的模块与各类硬件密切相关的模块与各类硬件密切相关的模块(如中断服务)、(如中断服务)、(如中断服务)、(如中断服务)、硬件驱动程硬件驱动程硬件驱动程硬件驱动程序序序序、运行频率较高的系统模块运行频率较高的系统模块运行频率较高的系统模块运行频率较高的系统模块。OSOS内核

15、主要功能:内核主要功能:内核主要功能:内核主要功能: 支撑功能:支撑功能:支撑功能:支撑功能:中断处理、时钟管理、原语操作中断处理、时钟管理、原语操作中断处理、时钟管理、原语操作中断处理、时钟管理、原语操作 资源管理功能:资源管理功能:资源管理功能:资源管理功能:进程管理、存储器管理、设备管理进程管理、存储器管理、设备管理进程管理、存储器管理、设备管理进程管理、存储器管理、设备管理(1 1)进程的创建)进程的创建)进程的创建)进程的创建进程图进程图进程图进程图A AB BC CD DE EF FGG引起创建进程的事件引起创建进程的事件引起创建进程的事件引起创建进程的事件! 用户登录用户登录用户

16、登录用户登录! 作业调度作业调度作业调度作业调度! 提供服务提供服务提供服务提供服务! 应用请求应用请求应用请求应用请求进程的创建进程的创建进程的创建进程的创建申请空白申请空白申请空白申请空白PCBPCB分配资源分配资源分配资源分配资源初始化初始化初始化初始化PCBPCB插入就绪队列插入就绪队列插入就绪队列插入就绪队列(2 2)进程的终止)进程的终止)进程的终止)进程的终止引起进程终止的事件引起进程终止的事件引起进程终止的事件引起进程终止的事件 正常结束正常结束正常结束正常结束 异常结束异常结束异常结束异常结束FF 越界错误越界错误越界错误越界错误FF 保护错误保护错误保护错误保护错误FF 特

17、权指令错误特权指令错误特权指令错误特权指令错误FF 非法指令错误非法指令错误非法指令错误非法指令错误FF 运行超时运行超时运行超时运行超时FF 等待超时等待超时等待超时等待超时FF 算术运算错误算术运算错误算术运算错误算术运算错误FF I/OI/O故障故障故障故障 外部干预外部干预外部干预外部干预 操作员或操作系统干预操作员或操作系统干预操作员或操作系统干预操作员或操作系统干预 父进程请求父进程请求父进程请求父进程请求 父进程终止父进程终止父进程终止父进程终止进程的终止过程进程的终止过程进程的终止过程进程的终止过程 根据标识符检索根据标识符检索根据标识符检索根据标识符检索PCBPCB以读取进程

18、状态以读取进程状态以读取进程状态以读取进程状态 若处于执行状态则终止进程执行,将处理机分配若处于执行状态则终止进程执行,将处理机分配若处于执行状态则终止进程执行,将处理机分配若处于执行状态则终止进程执行,将处理机分配给新进程给新进程给新进程给新进程 终止存在的子孙进程终止存在的子孙进程终止存在的子孙进程终止存在的子孙进程 收回分配给该进程的所有资源,归还父进程或操收回分配给该进程的所有资源,归还父进程或操收回分配给该进程的所有资源,归还父进程或操收回分配给该进程的所有资源,归还父进程或操作系统作系统作系统作系统 将该进程的将该进程的将该进程的将该进程的PCBPCB从队列中移出从队列中移出从队列

19、中移出从队列中移出(3 3)进程的阻塞与唤醒)进程的阻塞与唤醒)进程的阻塞与唤醒)进程的阻塞与唤醒引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件ii 请求系统服务请求系统服务请求系统服务请求系统服务ii 启动某种操作启动某种操作启动某种操作启动某种操作ii 新数据尚未到达新数据尚未到达新数据尚未到达新数据尚未到达ii 无新工作可做无新工作可做无新工作可做无新工作可做进程阻塞过程进程阻塞过程进程阻塞过程进程阻塞过程o o 调用调用调用调用BLOCKBLOCK原语将自己阻塞原语将自己阻塞原语将自己阻塞原语将自己阻塞o o 将执行状态改为阻塞状态将执

20、行状态改为阻塞状态将执行状态改为阻塞状态将执行状态改为阻塞状态o o 插入相应的阻塞队列插入相应的阻塞队列插入相应的阻塞队列插入相应的阻塞队列o o 将相关信息写入将相关信息写入将相关信息写入将相关信息写入PCBPCB,调度另一就绪进程调度另一就绪进程调度另一就绪进程调度另一就绪进程进程唤醒过程进程唤醒过程进程唤醒过程进程唤醒过程 阻塞进程所期待的事件发生阻塞进程所期待的事件发生阻塞进程所期待的事件发生阻塞进程所期待的事件发生 将进程状态改为就绪状态,移入就绪队列将进程状态改为就绪状态,移入就绪队列将进程状态改为就绪状态,移入就绪队列将进程状态改为就绪状态,移入就绪队列(4 4)进程的挂起与激

21、活)进程的挂起与激活)进程的挂起与激活)进程的挂起与激活进程的挂起过程进程的挂起过程进程的挂起过程进程的挂起过程vv 出现引起进程挂起的事件出现引起进程挂起的事件出现引起进程挂起的事件出现引起进程挂起的事件vv 由活动状态转为静止状态由活动状态转为静止状态由活动状态转为静止状态由活动状态转为静止状态vv 若正在执行,调度程序重新调度新进程若正在执行,调度程序重新调度新进程若正在执行,调度程序重新调度新进程若正在执行,调度程序重新调度新进程进程的激活过程进程的激活过程进程的激活过程进程的激活过程 激活事件出现激活事件出现激活事件出现激活事件出现 若位于外存,调入内存若位于外存,调入内存若位于外存

22、,调入内存若位于外存,调入内存 由静止状态转为活动状态由静止状态转为活动状态由静止状态转为活动状态由静止状态转为活动状态 若优先级高于正在执行的进程,启动调度程序若优先级高于正在执行的进程,启动调度程序若优先级高于正在执行的进程,启动调度程序若优先级高于正在执行的进程,启动调度程序2.3 进程同步进程同步5. 5.管程机制(管程机制(管程机制(管程机制(MonitorsMonitors)(1 1)管程的基本概念)管程的基本概念)管程的基本概念)管程的基本概念 管程定义了一个数据结构和能为并发进程所管程定义了一个数据结构和能为并发进程所管程定义了一个数据结构和能为并发进程所管程定义了一个数据结构

23、和能为并发进程所执行的基于该数据结构的一组操作;操作执行时执行的基于该数据结构的一组操作;操作执行时执行的基于该数据结构的一组操作;操作执行时执行的基于该数据结构的一组操作;操作执行时能完成进程同步,并因此而改变管程中的相关数能完成进程同步,并因此而改变管程中的相关数能完成进程同步,并因此而改变管程中的相关数能完成进程同步,并因此而改变管程中的相关数据。据。据。据。l l 局部于管程的共享局部于管程的共享局部于管程的共享局部于管程的共享数据结构数据结构数据结构数据结构l l 对共享数据结构进行操作的一组对共享数据结构进行操作的一组对共享数据结构进行操作的一组对共享数据结构进行操作的一组函数函数

24、函数函数l l 对局部于管程的数据对局部于管程的数据对局部于管程的数据对局部于管程的数据设置初始值设置初始值设置初始值设置初始值的语句的语句的语句的语句管程的语法管程的语法管程的语法管程的语法Monitor Monitor monitormonitor _name; _name; /*/*管程名管程名管程名管程名* */ /variable declarations; variable declarations; /*/*共享变量说明共享变量说明共享变量说明共享变量说明* */ /void Entry P1(.) void Entry P1(.) /*/*对数据结构操作的函数对数据结构操作的函

25、数对数据结构操作的函数对数据结构操作的函数* */ / void Entry P2(.)void Entry P2(.) void Entry void Entry PnPn(.)(.) initialization code; initialization code; /*/*设初值语句设初值语句设初值语句设初值语句* */ / 条件变量条件变量条件变量条件变量n n 利用管程实现同步时,还应设置利用管程实现同步时,还应设置利用管程实现同步时,还应设置利用管程实现同步时,还应设置条件变量条件变量和和和和在条件变量上进行操作的在条件变量上进行操作的在条件变量上进行操作的在条件变量上进行操作的两

26、个同步原语两个同步原语。n n 条件变量用于区别各种不同的等待原因。其说明条件变量用于区别各种不同的等待原因。其说明条件变量用于区别各种不同的等待原因。其说明条件变量用于区别各种不同的等待原因。其说明形式为:形式为:形式为:形式为: condition : x,y;n n 同步原语同步原语同步原语同步原语waitwait和和和和signalsignal。waitwait使调用进程等待,使调用进程等待,使调用进程等待,使调用进程等待,并将它排在相应的等待队列上并将它排在相应的等待队列上并将它排在相应的等待队列上并将它排在相应的等待队列上;signal;signal唤醒等待队列的唤醒等待队列的唤醒

27、等待队列的唤醒等待队列的队首进程。使用方式为:队首进程。使用方式为:队首进程。使用方式为:队首进程。使用方式为:x.wait,x.signal。(2 2)管程解决生产者)管程解决生产者)管程解决生产者)管程解决生产者- -消费者问题消费者问题消费者问题消费者问题6. 6.进程通信进程通信进程通信进程通信(1 1)进程通信的类型)进程通信的类型)进程通信的类型)进程通信的类型共享存储器系统共享存储器系统共享存储器系统共享存储器系统l l 基于共享数据结构的通信方式基于共享数据结构的通信方式基于共享数据结构的通信方式基于共享数据结构的通信方式程序员工作量大,需亲自设计数据结程序员工作量大,需亲自设

28、计数据结程序员工作量大,需亲自设计数据结程序员工作量大,需亲自设计数据结构及同步构及同步构及同步构及同步l l 基于共享存储区的通信方式基于共享存储区的通信方式基于共享存储区的通信方式基于共享存储区的通信方式消息传递系统消息传递系统消息传递系统消息传递系统 将消息格式化;将消息格式化;将消息格式化;将消息格式化; 分为直接通信和间接通信。分为直接通信和间接通信。分为直接通信和间接通信。分为直接通信和间接通信。管道管道管道管道(Pipe)(Pipe)通信通信通信通信管道是一个共享文件管道是一个共享文件管道是一个共享文件管道是一个共享文件 互斥:一个进程正在读互斥:一个进程正在读互斥:一个进程正在

29、读互斥:一个进程正在读/ /写写写写PipePipe时,另一个必时,另一个必时,另一个必时,另一个必须等待须等待须等待须等待 同步:写入一定数量数据后将睡眠等待,直同步:写入一定数量数据后将睡眠等待,直同步:写入一定数量数据后将睡眠等待,直同步:写入一定数量数据后将睡眠等待,直到数据取走才被再次唤醒到数据取走才被再次唤醒到数据取走才被再次唤醒到数据取走才被再次唤醒 确定对方存在确定对方存在确定对方存在确定对方存在(2 2)消息传递通信的实现方法)消息传递通信的实现方法)消息传递通信的实现方法)消息传递通信的实现方法直接通信方式直接通信方式直接通信方式直接通信方式原语:原语:原语:原语:Send

30、(Receiver,messageSend(Receiver,message); ); 发送原语发送原语发送原语发送原语Receive(Sender,messageReceive(Sender,message); ); 接收原语接收原语接收原语接收原语例:生产者例:生产者例:生产者例:生产者- -消费者问题的解决消费者问题的解决消费者问题的解决消费者问题的解决间接通信方式间接通信方式间接通信方式间接通信方式l l 信箱的建立与撤销(原语)信箱的建立与撤销(原语)信箱的建立与撤销(原语)信箱的建立与撤销(原语)l l 消息的发送与接收(原语)消息的发送与接收(原语)消息的发送与接收(原语)消息的

31、发送与接收(原语)SendSend(mailbox,messagemailbox,message); );Receive(mailbox,messageReceive(mailbox,message); );l l 信箱的分类信箱的分类信箱的分类信箱的分类 私用信箱:私用信箱:私用信箱:私用信箱:只有所有者进程能读取消息只有所有者进程能读取消息只有所有者进程能读取消息只有所有者进程能读取消息 共用信箱:共用信箱:共用信箱:共用信箱:所有系统核准进程都能读取消息所有系统核准进程都能读取消息所有系统核准进程都能读取消息所有系统核准进程都能读取消息 共享信箱:共享信箱:共享信箱:共享信箱:所有者及指

32、定的共享者能读取消息所有者及指定的共享者能读取消息所有者及指定的共享者能读取消息所有者及指定的共享者能读取消息7. 7. 线程线程线程线程(1 1)线程的基本概念)线程的基本概念)线程的基本概念)线程的基本概念1 1)线程的引入)线程的引入)线程的引入)线程的引入为了应对为了应对为了应对为了应对“ “同数据区的同时多请求同数据区的同时多请求同数据区的同时多请求同数据区的同时多请求” ” 一个进程顺序处理所有请求,不具备并行性一个进程顺序处理所有请求,不具备并行性一个进程顺序处理所有请求,不具备并行性一个进程顺序处理所有请求,不具备并行性 多进程处理多请求,切换开销大多进程处理多请求,切换开销大

33、多进程处理多请求,切换开销大多进程处理多请求,切换开销大 单进程并发处理多请求,编程难度大单进程并发处理多请求,编程难度大单进程并发处理多请求,编程难度大单进程并发处理多请求,编程难度大 进程是拥有资源的可调度运行的基本单位,进程是拥有资源的可调度运行的基本单位,进程是拥有资源的可调度运行的基本单位,进程是拥有资源的可调度运行的基本单位,因此数目不宜过多,切换频率不宜过高,限制因此数目不宜过多,切换频率不宜过高,限制因此数目不宜过多,切换频率不宜过高,限制因此数目不宜过多,切换频率不宜过高,限制了并发程度的提高。了并发程度的提高。了并发程度的提高。了并发程度的提高。2 2)线程的属性)线程的属

34、性)线程的属性)线程的属性线程也称为轻型进程。线程也称为轻型进程。线程也称为轻型进程。线程也称为轻型进程。线程是可独立调度运行的基本单位。线程是可独立调度运行的基本单位。线程是可独立调度运行的基本单位。线程是可独立调度运行的基本单位。享用进程的资源。享用进程的资源。享用进程的资源。享用进程的资源。多个线程之间可并发执行。多个线程之间可并发执行。多个线程之间可并发执行。多个线程之间可并发执行。 一个进程可包含若干线程,至少含有一个。一个进程可包含若干线程,至少含有一个。一个进程可包含若干线程,至少含有一个。一个进程可包含若干线程,至少含有一个。3 3)线程的状态)线程的状态)线程的状态)线程的状

35、态状态参数状态参数状态参数状态参数 寄存器状态寄存器状态寄存器状态寄存器状态 堆栈堆栈堆栈堆栈 运行状态运行状态运行状态运行状态 优先级优先级优先级优先级 专用存储器专用存储器专用存储器专用存储器 信号屏蔽信号屏蔽信号屏蔽信号屏蔽运行状态运行状态运行状态运行状态执行状态、就绪状态、阻塞状态执行状态、就绪状态、阻塞状态执行状态、就绪状态、阻塞状态执行状态、就绪状态、阻塞状态4 4)线程与进程)线程与进程)线程与进程)线程与进程线程进程调度调度的基本单位,同一进程间的线程间切换不会引起进程的切换不同进程间的线程切换会引起进程切换并发性多个线程并发,提高了并发程度多个进程并发拥有资源享用进程资源,不

36、独立拥有资源拥有资源的基本单位系统开销切换时开销小切换时开销大(2 2)用户级线程与内核支持线程)用户级线程与内核支持线程)用户级线程与内核支持线程)用户级线程与内核支持线程内核支持线程用户级线程线程的调度与切换速度调度上与进程相似,速度更快无需中断进入内核,速度极快系统调用阻塞线程阻塞进程线程执行时间线程轮流执行进程轮流执行4 4)Windows Windows 线程模型实例分析线程模型实例分析线程模型实例分析线程模型实例分析 采用了客户机采用了客户机采用了客户机采用了客户机/ /服务器模型,每个服务器进程使服务器模型,每个服务器进程使服务器模型,每个服务器进程使服务器模型,每个服务器进程使

37、用多个线程来处理同时来自多个客户的请求用多个线程来处理同时来自多个客户的请求用多个线程来处理同时来自多个客户的请求用多个线程来处理同时来自多个客户的请求 进程、线程均被视为对象进程、线程均被视为对象进程、线程均被视为对象进程、线程均被视为对象 进程的实现:进程的实现:进程的实现:进程的实现:1 1、一个可执行程序;、一个可执行程序;、一个可执行程序;、一个可执行程序;2 2、一个由该、一个由该、一个由该、一个由该进程专用的地址空间;进程专用的地址空间;进程专用的地址空间;进程专用的地址空间;3 3、系统资源,存放在对象、系统资源,存放在对象、系统资源,存放在对象、系统资源,存放在对象表中;表中

38、;表中;表中;4 4、至少一个线程。、至少一个线程。、至少一个线程。、至少一个线程。 线程的实现:线程的实现:线程的实现:线程的实现:1 1、客户、客户、客户、客户IDID;2 2、表示表示表示表示CPUCPU状态的一状态的一状态的一状态的一组寄存器内容;组寄存器内容;组寄存器内容;组寄存器内容;3 3、两个栈,分别在用户态和核心、两个栈,分别在用户态和核心、两个栈,分别在用户态和核心、两个栈,分别在用户态和核心态下使用;态下使用;态下使用;态下使用;4 4、一个该线程专用的存储区域,称为、一个该线程专用的存储区域,称为、一个该线程专用的存储区域,称为、一个该线程专用的存储区域,称为线程现场线

39、程现场线程现场线程现场思考题思考题1 1如果系统中有如果系统中有如果系统中有如果系统中有N N个进程,执行状态的进程最多个进程,执行状态的进程最多个进程,执行状态的进程最多个进程,执行状态的进程最多几个,最少几个;就绪进程最多几个最少几个;几个,最少几个;就绪进程最多几个最少几个;几个,最少几个;就绪进程最多几个最少几个;几个,最少几个;就绪进程最多几个最少几个;阻塞进程最多几个,最少几个?阻塞进程最多几个,最少几个?阻塞进程最多几个,最少几个?阻塞进程最多几个,最少几个?2. 2. 有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?阻塞阻塞阻塞阻塞执行;就绪执行;就绪执行;就绪执行;就绪阻塞阻塞阻塞阻塞3. 3. 一个状态转换的发生,是否一定导致另一个转一个状态转换的发生,是否一定导致另一个转一个状态转换的发生,是否一定导致另一个转一个状态转换的发生,是否一定导致另一个转换发生换发生换发生换发生

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号