第二章线程 进程 作业.ppt
《第二章线程 进程 作业.ppt》由会员分享,可在线阅读,更多相关《第二章线程 进程 作业.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章线程 进程 作业bb2.1 多道程序设计bb2.2 进程的引入bb2.3线程bb2.4作业2.1 多道程序设计bb2.1.1 单道程序设计的缺点bb2.1.2 多道程序设计的提出bb2.1.3 多道程序设计的问题 Multi-programming2.1.1 单道程序设计的缺点bb处理机利用率低bb设备利用率低bb内存利用率低运行程序ACPU设备1运行程序Att1t2t5t6设备22.1.2 多道程序设计的提出CPU设备1程序Att1t2t5t6设备2程序Bbb提高处理机、设备、内存等各种资源的利用率,从而提高系统效率。程序At3t42.1.2 多道程序设计的提出(Cont.)bb增加同
2、时运行程序的道数可以提高资源利用率,从而提高系统效率,但道数应与系统资源数量相当。bb道数过少,系统资源利用率低。bb道数过多,系统开销增大,程序响应速度下降。2.1.3 多道程序设计的问题bb处理机资源的管理处理机资源的管理 程序个数程序个数 处理机个数处理机个数(如何分配如何分配?)?)bb存储资源的管理存储资源的管理 内存分配与去配内存分配与去配 外存分配与去配外存分配与去配bb设备资源管理设备资源管理 分配去配分配去配 IOIO控制控制2.2 进程的引入bb2.2.1 2.2.1 进程的概念进程的概念bb2.2.2 2.2.2 进程状态及状态进程状态及状态转换转换bb2.2.3 2.2
3、.3 进程控制块进程控制块bb2.2.4 2.2.4 进程的组成进程的组成bb2.2.5 2.2.5 进程的表记进程的表记bb2.2.6 2.2.6 进程的队列进程的队列bb2.2.7 2.2.7 进程的类型进程的类型bb2.2.8 2.2.8 进程的特性进程的特性bb2.2.9 2.2.9 进程间相互关系进程间相互关系bb2.2.10 2.2.10 进程间相互作进程间相互作用用bb2.2.11 2.2.11 进程的创建与进程的创建与撤销撤销bb2.2.12 2.2.12 进程与程序间进程与程序间的联系与差别的联系与差别多道系统中的程序:推进,暂停,推进,暂停,推进,暂停,推进,暂停,.暂停:
4、保存现场(断点,寄存器)推进:恢复现场暂停原因:(1)自身原因:等待资源,启动IO (3)剥夺CPU-给其它程序运行机会2.2 进程的引入(Cont.)定义1:可参与并发执行的程序称为进程。定义2:进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。定义强调两个方面:(1)动态:执行中的程序 (2)并发:多个程序同时执行2.2.1 进程的概念2.2.2 进程状态及状态转换bb2.2.2.1 2.2.2.1 进程状态进程状态(基本状态基本状态)运行态运行态(RUNRUN):):占有占有CPUCPU正进行正进行 就绪态就绪态(READYREADY):):等待处理机资源等待处理机资源 等待态
5、等待态(WAITWAIT):):等待某一事件发生等待某一事件发生bb2.2.2.2 2.2.2.2 状态转换状态转换 就绪就绪运行:获得处理机运行:获得处理机 运行运行就绪:剥夺处理机就绪:剥夺处理机 运行运行等待:申请资源未得到,启动等待:申请资源未得到,启动IOIO 等待等待就绪:得到资源,就绪:得到资源,IOIO中断中断就绪等待运行获得处理机剥夺处理机等待事件事件发生2.2.2.2 进程状态转换图2.2.3 进程控制块(PCB)bb进程存在的标志,其中保存系统管理进程所需的全部信息bbPCB内容:(不同系统不尽相同不同系统不尽相同)进程标识进程标识(id)(id)家族联系家族联系进程状态
6、进程状态 地址信息地址信息现场信息现场信息 打开文件打开文件调度参数调度参数 消息指针消息指针所属用户所属用户 队列指针队列指针2.2.4 进程的组成bb进程控制块(process control block)建立进程建立进程建立建立PCBPCB撤销撤销PCBPCB撤销进程撤销进程bb程序代码代码(code)(code)数据数据(data)(data)堆栈堆栈(stack+heap)(stack+heap)2.2.5 进程的表记PCB程序PCB代码数据+堆栈表记1表记2系统空间用户空间2.2.6 进程的队列PCBPCBPCBhead1.就绪队列:系统一个2.等待队列:每个等待事件一个3.运行指
7、示字:每个处理机一个2.2.7 进程的类型bb系统进程运行操作系统程序,完成系统管理运行操作系统程序,完成系统管理(服务服务)功功能能.例如:例如:UNIX#0-UNIX#0-schedsched,#1-,#1-initinitbb用户进程运行用户运行用户(应用应用)程序,为用户服务。程序,为用户服务。例如:例如:UNIX vi,shellUNIX vi,shell2.2.8 进程的特性bb并发性并发性:可以与其它进程一道向前推进;:可以与其它进程一道向前推进;bb动态性动态性:动态产生、消亡,生存期内状态动态:动态产生、消亡,生存期内状态动态变化;变化;bb独立性独立性:一个进程是可以调度的
8、基本单位;:一个进程是可以调度的基本单位;bb交往性交往性:同时运行的进程可能发生相互作用;:同时运行的进程可能发生相互作用;bb异步性异步性:进程以各自独立,不可预知的速度向:进程以各自独立,不可预知的速度向前推进;前推进;bb结构性结构性:每个进程有一个:每个进程有一个PCBPCB。2.2.9 进程间相互关系bb相关进程同一家族的进程同一家族的进程可以共享文件,需要相互通讯,可以共享文件,需要相互通讯,父进程可以监视子进程,子进程完成父进程父进程可以监视子进程,子进程完成父进程交给的任务。交给的任务。bb无关进程没有逻辑关系、同时执行的进程。没有逻辑关系、同时执行的进程。有资源竞争关系,互
9、斥、死锁、饿死。有资源竞争关系,互斥、死锁、饿死。2.2.10 进程间相互作用1.1.直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间2.2.间接相互作用:发生在任何进程之间间接相互作用:发生在任何进程之间RP2P1syncsendreceiveP1:P2:holdwait2.2.11 进程的创建与撤销bb进程的创建进程的创建 UNIXUNIX:pid=fork()pid=fork(),exec(prog,args)exec(prog,args)建立建立PCBPCB,分配内存,加载程序,入就绪链,分配内存,加载程序,入就绪链bb进程的撤销进程的撤销 UNIXUNIX:exit(
10、)vs.killexit()vs.kill 去配资源,撤销去配资源,撤销PCBPCB,通知父进程,通知父进程bb除初始进程外,其它进程由除初始进程外,其它进程由(父父)进程创建,并进程创建,并形成进程家族。形成进程家族。例如bb在 UNIX 系统中通过系统调用fork可创建新进程,新进程由原来进程的地址空间的复制组成,这种机制利于父进程与子进程方便进行通信.两个进程都继续执行位于系统调用fork之后的指令,但新进程返回值为0;而父进程返回值为子进程的进程标识符.bb#include void main(int argc,char*argv)int pid;pid=fork();if(pid 0
11、)printf(stderr,“fork failed”);exit(-1);else if(pid=0)execl(“/bin/1s”,“1s”,null);else wait(null);print(“child complete”);exit(0);bb通常在系统调用Fork 之后,一个进程会使用系统调用execl,以用新程序来占据原进程的内存空间.windows NT操作系统支持两种方式:父进程地址空间可以被复制,或者父进程可以提供程序名让操作系统把它装入新进程的地址空间.2.2.12 进程与程序的联系和差别bb进程与程序的联系进程包括一个程序;进程包括一个程序;进程存在的目的就是执行
12、这个程序;进程存在的目的就是执行这个程序;bb进程与程序的差别进程是动态的,程序是静态的;进程是动态的,程序是静态的;进程有生存期,程序可长期保存;进程有生存期,程序可长期保存;一进程只执行一个程序,一程序可对应多个一进程只执行一个程序,一程序可对应多个进程进程2.3 线程(Thread)线程定义:进程中一个相对独立的执行流。线程定义:进程中一个相对独立的执行流。引入原因:进程上下文切换速度慢。引入原因:进程上下文切换速度慢。(寄存器,进程地址空间)线程切换:地址空间不变线程切换:地址空间不变(同一进程)。同一进程)。(light weighted)名词解释:heavy weighted pr
13、ocess:重进程 light weighted process:轻进程2.3.1 线程结构静态数据程序代码 栈栈寄存器寄存器线程1:线程2:进程动 态 堆内存2.3.1 线程结构text segmentdata segmentProgram counterTask:2.3.2 线程特点bb线程特点上下文切换上下文切换(context switch)(context switch)速度快;速度快;地址空间不变地址空间不变(地址映射寄存器不变地址映射寄存器不变,快表不变快表不变)系统开销系统开销(overhead)(overhead)小;小;通讯方便。通讯方便。bb线程与轻进程(Light we
14、ighted process)一般线程与轻进程通用;一般线程与轻进程通用;在在SolarisSolaris系统中线程与轻进程不同。系统中线程与轻进程不同。2.3.3 系统线程与用户线程bb用户级别线程用户级别线程 用用LibLib实现多线程创建和调度实现多线程创建和调度 系统只见一个线程系统只见一个线程 同一进程中的多个线程不能并行同一进程中的多个线程不能并行 一个线程进入系统受阻,其它线程不能运行。一个线程进入系统受阻,其它线程不能运行。bb系统级别线程系统级别线程 操作系统创建和调度操作系统创建和调度 系统可见所有线程系统可见所有线程 同一进程中的多个线程可以并行同一进程中的多个线程可以并
15、行 一个线程进入系统受阻,其它线程可以运行一个线程进入系统受阻,其它线程可以运行2.3.4 Solaris线程CPUtask1task2task3kernelUser level threadLightweight processKernel thread2.3.4 Solaris线程bbUser level thread:User level thread:由由由由LibLib程序支持(创建调度)程序支持(创建调度)程序支持(创建调度)程序支持(创建调度)bbLight weighted process(LWP):Light weighted process(LWP):由由由由LibLib程
16、序支持程序支持程序支持程序支持 每个每个每个每个tasktask至少一个至少一个至少一个至少一个LWPLWP 用戶级别线程与用戶级别线程与用戶级别线程与用戶级别线程与LWPLWP可以多对多可以多对多可以多对多可以多对多 只有与只有与只有与只有与LWPLWP相联系的用户线程向前推进相联系的用户线程向前推进相联系的用户线程向前推进相联系的用户线程向前推进bbKernel level thread:Kernel level thread:由由由由kernel kernel 支持支持支持支持 每个核心线程与唯一一个每个核心线程与唯一一个每个核心线程与唯一一个每个核心线程与唯一一个LWPLWP对应对应对
17、应对应 核心线程可与核心线程可与核心线程可与核心线程可与CPUCPU多对多,可对一多对多,可对一多对多,可对一多对多,可对一2.3.5 Windows 2000/XP的CPU调度bbMain Feature:Thread level scheduling;Thread level scheduling;Real time+foreground+background;Real time+foreground+background;real time:no deadline scheduling;real time:no deadline scheduling;foreground:GUI win
18、dowforeground:GUI window background:non-interactivebackground:non-interactivePreemptive+dynamic priority +RR+Feed Preemptive+dynamic priority +RR+Feed back;back;Symmetric Multi-Processor(SMP)support;Symmetric Multi-Processor(SMP)support;优先级别bb1616个实时优先级(个实时优先级(16-3116-31)一些内核线程一些内核线程 应用程序提升为实时优先级需要有
19、权限应用程序提升为实时优先级需要有权限 不是真正意义上的实时调度不是真正意义上的实时调度bb1515个可变线程优先级(个可变线程优先级(1-151-15)基本优先级基本优先级 vs.vs.当前优先级当前优先级 可动态提升可动态提升 运行完一个运行完一个quantumquantum之后自动下降之后自动下降bb1 1个系统线程优先级(个系统线程优先级(0 0)优先级提升bb优先级提升IOIO操作完成操作完成事件等待结束事件等待结束前台进程中的线程完成一个等待操作前台进程中的线程完成一个等待操作由于窗口活动而唤醒由于窗口活动而唤醒GUIGUI线程线程就绪超过一定时限,未获得处理机就绪超过一定时限,未
20、获得处理机bb优先级提升不会超过15抢占CPUbb抢先情形被唤醒线程优先级高于运行进程优先级;被唤醒线程优先级高于运行进程优先级;某线程的优先级动态变化某线程的优先级动态变化bb被抢先线程回到相应就绪队列回到相应就绪队列时间配额时间配额 实时线程:重新分配完整时间配额实时线程:重新分配完整时间配额 其它线程:保持剩余配额其它线程:保持剩余配额时间配额(quantum)bb配额长度:6-36bb时钟中断(15ms发生一次)减3,2-12次时钟中断(30ms-180ms)配额用完bb配额用完后进入就绪队列,优先级下降SMP上的线程调度bb线程与CPU的亲合关系每个进程线程有一个处理器亲合掩码,缺省
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章线程 进程 作业 第二 线程
限制150内