欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第2章 进程、线程与作业.ppt

    • 资源ID:82767904       资源大小:406.50KB        全文页数:67页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章 进程、线程与作业.ppt

    第二章第二章 进程、线程与作业进程、线程与作业n2.1 多道程序设计多道程序设计nMulti-programmingn2.2 进程的引入进程的引入nProcess n2.3 线程与轻进程线程与轻进程nThread and light-weighted processn2.4 作业作业nJob12.1 多道程序设计多道程序设计n2.1.1 单道程序设计的缺点单道程序设计的缺点n2.1.2 多道程序设计的提出多道程序设计的提出n2.1.3 多道程序设计的问题多道程序设计的问题 Multi-programmingMulti-programming2多道程序设计目标多道程序设计目标n提高系统效率提高系统效率(吞吐量吞吐量)32.1.1 单道程序设计的缺点单道程序设计的缺点n处理机利用率低处理机利用率低n设备利用率低设备利用率低n内存利用率低内存利用率低运行程序运行程序ACPU设备设备1运行程序运行程序Att1t2t5t6设备设备242.1.2 多道程序设计的提出多道程序设计的提出CPU设备设备1程序程序Att1t2t5t6设备设备2程序程序Bn提高处理机、设备、内存等各种资源的提高处理机、设备、内存等各种资源的利用率,从而提高系统效率。利用率,从而提高系统效率。程序程序At3t452.1.2 多道程序设计的提出多道程序设计的提出(Cont.)n增加增加同时运行程序的同时运行程序的道数道数可以提高资源可以提高资源利用率,从而提高系统效率,但道数应利用率,从而提高系统效率,但道数应与系统资源数量相当。与系统资源数量相当。n道数过少,系统资源利用率低。道数过少,系统资源利用率低。n道数道数过多:过多:内存容量的限制;内存容量的限制;设备资源的限制;设备资源的限制;处理器资源竞争激烈,系处理器资源竞争激烈,系统开销统开销(system overhead)增大,程序响应速度下降。增大,程序响应速度下降。越多越越多越越多越越多越好?好?好?好?62.1.3 多道程序设计的问题多道程序设计的问题n处理机资源的管理处理机资源的管理n程序个数程序个数 处理机个数处理机个数(如何分配如何分配?)n存储资源的管理存储资源的管理n地址空间的相对独立性、共享性地址空间的相对独立性、共享性n内存、外存内存、外存(swap space)的分配与去配的分配与去配n设备资源管理设备资源管理n分配策略分配策略nIO控制控制72.2 进程的引入进程的引入n2.2.1 进程的概念进程的概念n2.2.2 进程状态及状进程状态及状态转换态转换n2.2.3 进程控制块进程控制块n2.2.4 进程的组成与进程的组成与上下文上下文n2.2.5 进程的队列进程的队列n2.2.6 进程的类型与进程的类型与特征特征n2.2.7 进程间相互联进程间相互联系与相互作用系与相互作用n2.2.8 进程的创建与进程的创建与撤销撤销n2.2.9 进程与程序间进程与程序间的联系与差别的联系与差别8多道系统中的程序:多道系统中的程序:推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,.暂停:保存现场暂停:保存现场(PSW+PC,寄存器),寄存器)推进:恢复现场推进:恢复现场(寄存器,寄存器,PSW+PC)暂停原因:暂停原因:(1)自身原因:等待资源,启动自身原因:等待资源,启动IO (2)剥夺剥夺CPU给其它程序运行机会给其它程序运行机会2.2 进程的引入进程的引入(Cont.)92.2.1 进程的概念进程的概念n定义:定义:n可可参与并发参与并发执行的程序称为进程。执行的程序称为进程。n进程进程是具有一定独立功能的程序关于一个数是具有一定独立功能的程序关于一个数据集合的一次运行活动。据集合的一次运行活动。n定义强调两个方面:定义强调两个方面:n动态动态:执行中的:执行中的程序;程序;n并发并发:可与其他进程同时执行。:可与其他进程同时执行。10并发并发 vs.并行并行n并发:并发:concurrentn宏观同时,宏观同时,“交替执行交替执行”,不要求多个,不要求多个CPUn并行:并行:paralleln微观同时,要求多个微观同时,要求多个CPUn“并行算法并行算法”112.2.2 进程状态及状态转换进程状态及状态转换n2.2.2.1 进程状态进程状态(基本状态基本状态)n运行态运行态(RUN):占有占有CPU正在向前推进正在向前推进n就绪态就绪态(READY):可以运行可以运行,但未得到,但未得到CPUn等待态等待态(WAIT):等待某一事件发生等待某一事件发生n2.2.2.2 状态转换状态转换n就绪就绪运行:获得处理机运行:获得处理机n运行运行就绪:剥夺处理机就绪:剥夺处理机n运行运行等待:申请资源未得到,启动等待:申请资源未得到,启动IOn等待等待就绪:得到资源,就绪:得到资源,IO中断中断12就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生2.2.2.2 进程状态转换图进程状态转换图132.2.2.2 进程状态转换图进程状态转换图就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生初创初创终止终止创建创建结束结束142.2.3 进程控制块进程控制块(PCB)n标志标志进程存在的数据结构,其中保存系统管理进程存在的数据结构,其中保存系统管理进程所需的全部进程所需的全部信息。信息。nPCB内容内容:(不同系统不尽相同不同系统不尽相同)n进程标识进程标识(pid)家家族联系族联系n用户标识用户标识(uid)进程队列指针进程队列指针n进进程状态程状态 程序地址程序地址n现场现场信息信息 当前打当前打开文件开文件n调度参数调度参数 消息队列指针消息队列指针n资源使用情况资源使用情况 Process Control Block152.2.4 进程的组成与上下文进程的组成与上下文n进程的组成进程的组成n进程控制块进程控制块(process control block)n建立进程建立进程建立建立PCBn撤销撤销PCB撤销进程撤销进程n程序程序n代码代码(code)n数据数据(data)n堆栈堆栈(stack+heap)n栈:保存返回点、参数、返回值、局部变量栈:保存返回点、参数、返回值、局部变量n堆:动态变量堆:动态变量灵魂躯体162.2.4 进程的组成与上下文进程的组成与上下文n进进程的表示程的表示PCB程序程序PCB代码代码数据数据+堆栈堆栈表记表记1表记表记2系统空间系统空间用户空间用户空间172.2.4 进程的组成与上下文进程的组成与上下文l进程上下文(进程上下文(process context)进程的进程的物理实体物理实体与支持进程运行的与支持进程运行的物理环境物理环境统称为统称为进程上下文进程上下文lPCB+程序程序l系统环境系统环境:地址空间,系统栈,打开文件表,:地址空间,系统栈,打开文件表,l上下文切换(上下文切换(context switch)由由一个一个进程的上下文进程的上下文转到另外一个转到另外一个进程的上下文进程的上下文l系统开销(系统开销(system overhead)运行操作系统程序完成系统管理工作所花费的时间运行操作系统程序完成系统管理工作所花费的时间和空间和空间182.2.5 进程的队列进程的队列PCBPCBPCBhead1.就绪队列:系统一个或若干就绪队列:系统一个或若干个分类的进程队列(个分类的进程队列(根据根据调度算法确定)调度算法确定)2.等待队列:每个等待事件一个等待队列:每个等待事件一个3.运行队列:运行队列:每个处理机每个处理机一个(里面只一个进程)一个(里面只一个进程)PCB构成的队列:(不一定构成的队列:(不一定FIFO,单向或双向),单向或双向)19进程队列模型进程队列模型就绪队列就绪队列等待队列等待队列1等待队列等待队列2等待队列等待队列nCPU创建创建完成完成时间片用完时间片用完等待事件等待事件1等待事件等待事件2等待事件等待事件n事件事件1发生发生事件事件2发生发生事件事件n发生发生202.2.6 进程的类型与特征进程的类型与特征n进程类型进程类型n系统进程系统进程n运行操作系统程序,完成系统管理运行操作系统程序,完成系统管理(服务服务)功能功能.n例如:例如:UNIX#0-sched,#1-initn用户进程用户进程n运行用户运行用户(应用应用)程序,为用户服务。程序,为用户服务。n例如:例如:UNIX vi,shell,cc在何种状态下运行在何种状态下运行在何种状态下运行在何种状态下运行212.2.6 进程的类型与特征进程的类型与特征(Cont.)n进程的特征进程的特征n并发性并发性:可以与其它进程一道向前推进;:可以与其它进程一道向前推进;n动态性动态性:动态产生、消亡,生存期内状态动:动态产生、消亡,生存期内状态动态变化;态变化;n独立性独立性:一个进程是可以调度的基本单位;:一个进程是可以调度的基本单位;n交往性交往性:同时运行的进程可能发生相互作用;:同时运行的进程可能发生相互作用;n异步性异步性:进程以各自独立,不可预知的速度:进程以各自独立,不可预知的速度向前推进;向前推进;n结构性结构性:每个进程有一个:每个进程有一个PCB。222.2.7 进程间相互联系与相互作用进程间相互联系与相互作用n相互联系相互联系n相关进程相关进程n同一家族的进程同一家族的进程n可以共享文件,需要相互通讯,协调推进速度可以共享文件,需要相互通讯,协调推进速度n父进程可以监视子进程,子进程完成父进程交给父进程可以监视子进程,子进程完成父进程交给的任务。的任务。n无关进程无关进程n没有逻辑关系、同时执行的进程。没有逻辑关系、同时执行的进程。n有资源竞争关系,互斥、死锁、饿死。有资源竞争关系,互斥、死锁、饿死。232.2.7 进程间相互联系与相互作用进程间相互联系与相互作用n相互作用相互作用1.1.直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间2.2.间接相互作用:发生在任何进程之间间接相互作用:发生在任何进程之间间接相互作用:发生在任何进程之间间接相互作用:发生在任何进程之间RP2P1syncsendreceiveP1:P2:holdwait242.2.8 进程的创建与撤销进程的创建与撤销n进程的创建进程的创建n建立建立PCB,分配内存,加载程序,入就绪链,分配内存,加载程序,入就绪链nUNIX:pid=fork(),exec(prog,args)n进程的撤销进程的撤销n去配资源,撤销去配资源,撤销PCB,通知父进程,通知父进程nUNIX:exit()vs.killn除初始进程外,其它进程由除初始进程外,其它进程由(父父)进程创建,并进程创建,并形成进程家族。形成进程家族。25进进程状态转换图程状态转换图就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生初创初创终止终止创建创建结束结束262.2.9 进程与程序的联系与差别进程与程序的联系与差别n进程与程序的联系进程与程序的联系n进程包括一个程序进程包括一个程序n进程存在的目的就是执行这个程序进程存在的目的就是执行这个程序n进程与程序的差别进程与程序的差别n程序静态,进程动态程序静态,进程动态n程序可长期保存,进程有程序可长期保存,进程有生存周期生存周期n一个程序可对应多个进程,一个进程只能执行一个一个程序可对应多个进程,一个进程只能执行一个程序程序27复习复习281、操作系统定义、操作系统定义n操作系统是位于硬件层操作系统是位于硬件层(HAL)之之上,所有其它软件层之下的一个上,所有其它软件层之下的一个系统软件系统软件,是,是管理管理系统中各种软系统中各种软硬件硬件资源资源,方便用户使用方便用户使用计算机计算机系统系统的程序集合的程序集合。292、操作系统特性、操作系统特性n并发性并发性n共享性共享性n异步性异步性n虚拟性虚拟性303、处理机状态及状态转换、处理机状态及状态转换n管态管态 目态目态(置程序状态字置程序状态字)n目态目态 管态管态(中断,中断,trap)n作用:建立一个可靠的系统,对操作系作用:建立一个可靠的系统,对操作系统加以保护。统加以保护。314、进、进程的概念程的概念n定义:定义:n可可参与并发参与并发执行的程序称为进程。执行的程序称为进程。n进程进程是具有一定独立功能的程序关于一个是具有一定独立功能的程序关于一个数据集合的一次运行活动。数据集合的一次运行活动。32就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生5、进、进程状程状态及转换态及转换336、进程标志及组成、进程标志及组成n进程控制块进程控制块(PCB):标志标志进程存在的数进程存在的数据结构,其中保存系统管理进程所需的据结构,其中保存系统管理进程所需的全部全部信息。信息。n进程的组成进程的组成n进程控制块进程控制块(process control block)n程序程序347、进、进程程的特征的特征n并发性并发性n动动态性态性n独立性独立性n交往性交往性n异异步性步性n结构性结构性358、进、进程与程与程序程序n进程与程序的联系进程与程序的联系n进程包括一个程序进程包括一个程序n进程存在的目的就是执行这个程序进程存在的目的就是执行这个程序n进程与程序的差别进程与程序的差别n程序静态,进程动态程序静态,进程动态n程序可长期保存,进程有程序可长期保存,进程有生存周期生存周期n一个程序可对应多个进程,一个进程只能执行一个一个程序可对应多个进程,一个进程只能执行一个程序程序362.3 线程与轻进程线程与轻进程n2.3.1 线程的引入线程的引入n2.3.2 线程的概念线程的概念n2.3.3 线程的结构线程的结构n2.3.4 线程控制块线程控制块n2.3.5 线程的实现线程的实现n2.3.6 线程的应用线程的应用n2.3.7 Java线程线程Thread、Light-weighted process372.3.1 线程的引入线程的引入n进程切换进程切换n上下上下文切换涉文切换涉及内容多,开销大,及内容多,开销大,“笨重笨重”nPCB+程序程序n系统环境:地址空间,系统栈,打开文件表,系统环境:地址空间,系统栈,打开文件表,n相关进程之间耦合关系差相关进程之间耦合关系差n解决方案解决方案nMulti-threadingn同一进程中包含多个线程同一进程中包含多个线程n上下文只涉及寄存器和用户栈,切换速度快上下文只涉及寄存器和用户栈,切换速度快n相关线程之间通讯方便、快捷相关线程之间通讯方便、快捷382.3.2 线程的概念线程的概念n n进程中一个相对独立的执行流。进程中一个相对独立的执行流。n n进程进程 vs.线程线程n n进程是资源分配单位进程是资源分配单位进程是资源分配单位进程是资源分配单位n n线程是执行单位线程是执行单位线程是执行单位线程是执行单位n n多线程优点多线程优点n n切换速度快(地址空间不切换速度快(地址空间不切换速度快(地址空间不切换速度快(地址空间不变)变)变)变)n n系统开销小系统开销小系统开销小系统开销小n n通讯容易(共享数据空间)通讯容易(共享数据空间)通讯容易(共享数据空间)通讯容易(共享数据空间)392.3.3 线程结构线程结构寄存器寄存器静态数据静态数据程序代码程序代码 栈栈寄存器寄存器进程进程2动动 态态 堆堆内存内存多进程结构(用户视图)多进程结构(用户视图)静态数据静态数据程序代码程序代码 栈栈进程进程1动动 态态 堆堆内存内存寄存器寄存器402.3.3 线程结构线程结构静态数据静态数据程序代码程序代码 栈栈栈栈寄存器寄存器寄存器寄存器线程线程1:线程线程2:进程进程动动 态态 堆堆内存内存多线程结构(用户视图)多线程结构(用户视图)具有具有逻辑关系逻辑关系逻辑关系逻辑关系的两个的两个进程才可以用多线程进程才可以用多线程结构实现。即执行相同结构实现。即执行相同代码或协同进程。代码或协同进程。412.3.4 线程控制块线程控制块nTCB(Thread control block)n标志线程存在的数据结构,标志线程存在的数据结构,其中包含对线程管理需要的全部其中包含对线程管理需要的全部信息信息n内容内容(少,其它在少,其它在PCB)n线程标识线程标识n线程状态线程状态n调度参数调度参数n现场现场(通用寄存器通用寄存器,PC,SP)n链接指针链接指针n存放位置存放位置n用户级线程:目态空间(运行时系统)用户级线程:目态空间(运行时系统)n核心级线程:系统空间核心级线程:系统空间422.3.5 线程的实现线程的实现n2.3.1 用户级别线程用户级别线程nUser-level threadn2.3.2 核心级别线程核心级别线程nKernel-level threadn2.3.3 混合线程混合线程nHybrid approach 432.3.5.1 用户级别线程用户级别线程n实现方法:实现方法:n基于基于库库函数函数的控制创建的控制创建,系统不可见,系统不可见n线程创建、撤销、状态转换在线程创建、撤销、状态转换在目态目态完成完成nTCB在用户空间,每个进程一个系统栈在用户空间,每个进程一个系统栈n优点:优点:n不依赖于操作系统,调度灵活不依赖于操作系统,调度灵活n同一进程中多线程切换速度快同一进程中多线程切换速度快(不需进入操作系统不需进入操作系统)n缺点:缺点:n同一进程中多个线程不能真正并行同一进程中多个线程不能真正并行n一个线程进入系统受阻,进程中其它线程不能执行一个线程进入系统受阻,进程中其它线程不能执行442.3.5.1 用户级别线程用户级别线程运行系统运行系统TCB进程进程线程线程核心栈核心栈进程表进程表用用户户空空间间系系统统空空间间452.3.5.2 核心级别线程核心级别线程n实现方法:实现方法:n基于基于系统调系统调用用创建创建n创建、撤销、状态转换由操作系统完成创建、撤销、状态转换由操作系统完成n优点:优点:n同一进程内多线程可以同一进程内多线程可以并行并行执行执行n一线程进入核心等待,其它线程仍可执行一线程进入核心等待,其它线程仍可执行n缺点:缺点:n系统开销大,同一进程内多线程切换速度慢系统开销大,同一进程内多线程切换速度慢n调度算法不能灵活控制调度算法不能灵活控制462.3.5.2 核心级别线程核心级别线程进程进程线程线程核心栈核心栈进程表进程表用用户户空空间间系系统统空空间间TCB472.3.5.3 混合线程混合线程nSolaris例子例子n用户级别线程用户级别线程:n由由Lib程序支持(创建程序支持(创建,调度)调度)n轻进程轻进程(LWP):n由由Lib程序支持程序支持n每个每个task至少一个至少一个LWPn用戶级别线程与用戶级别线程与LWP可以多对多可以多对多nLWP对操作系统可见对操作系统可见n只有与只有与LWP相联系的用户线程向前推进相联系的用户线程向前推进n核心核心级别线程级别线程:n由由kernel 支持支持n每个每个LWP与唯一一个核心线程对应与唯一一个核心线程对应n核心线程可与核心线程可与CPU多对多,可对一多对多,可对一482.3.5.3 混合线程混合线程(Solaris)CPUtask1task2task3kernelUser level threadLightweight processKernel level thread492.3.6 线程的应用线程的应用n内在的多控制流内在的多控制流,需要共享数据需要共享数据n生产消费问题生产消费问题n多线程优于多进程多线程优于多进程n快快100倍倍!n提高处理机与设备的并行性提高处理机与设备的并行性n多处理机环境多处理机环境n提高处理机利用率,加快进程推进速度提高处理机利用率,加快进程推进速度502.3.6 线程的应用线程的应用n例子:例子:nWord字处理(不同代码)字处理(不同代码)n交互编辑交互编辑(T1)n词法检查词法检查(T2)n定时保存定时保存(T3)nHTTP server(相同代码)(相同代码)n对每个对每个http请求,请求,pop up一个线程一个线程51应用多线程的条件应用多线程的条件n同一进程中的多个线程具有相同的代码同一进程中的多个线程具有相同的代码和数据;和数据;n这些线程之间或者是合作的(执行代码这些线程之间或者是合作的(执行代码的不同部分);的不同部分);n或者是同构的(执行相同的代码);或者是同构的(执行相同的代码);522.4 作业(作业(Job)n作业概念作业概念n用户要求计算机系统为其完成的计算任务集合。用户要求计算机系统为其完成的计算任务集合。n作业步(作业步(job step)n作业处理过程中一个相对独立的步骤作业处理过程中一个相对独立的步骤n一般一个作业步可由一个进程完成一般一个作业步可由一个进程完成n一个作业对应多个进程一个作业对应多个进程n某些作业步之间可以并行某些作业步之间可以并行n作业控制块(作业控制块(JCB)n作业分类作业分类n批处理作业批处理作业n交互式作业交互式作业532.4.1 批处理作业批处理作业n作业控制语言作业控制语言(JCL)n描述批处理作业控制意图的语言描述批处理作业控制意图的语言n作业说明书作业说明书(JCL语句的序列)语句的序列)n一般一般以以特殊符号起始特殊符号起始n$JOB J1n$FORTN n$LINK n$EXEC n$ENDJOBn作业控制程序作业控制程序n解释并处理作业说明书的程序解释并处理作业说明书的程序n作业控制进程作业控制进程n执行作业控制程序的进程执行作业控制程序的进程54作业控制进程作业控制进程读入作业内容读入作业内容释放输入井空间释放输入井空间顺取作业控制语句顺取作业控制语句是结束语句是结束语句 执行该作业步执行该作业步(可能创建子进程可能创建子进程)申请输出井空间申请输出井空间输出作业结果输出作业结果进程自我终止进程自我终止FT作业控制程序的工作原理作业控制程序的工作原理作业控制程序的工作原理作业控制程序的工作原理552.4.2 交互式作业交互式作业 n一次登陆即为一个作业,包含多个请求,每个请求可一次登陆即为一个作业,包含多个请求,每个请求可能对应一个进程;能对应一个进程;n帐帐户管理户管理n/etc/passwd文件文件n(用户名用户名,口令口令,用户根目录用户根目录,同组用户同组用户,余额余额)n创建与撤销创建与撤销n创建:创建:n用户提供(用户名用户提供(用户名,口令口令,资金)资金)n系统操作员建立(根目录系统操作员建立(根目录/usr/zhang,填写填写passwd文件)文件)n撤销:撤销:n删除该用户目录及所有文件删除该用户目录及所有文件n在在passwd文件中清除对应文件中清除对应entry562.4.2 交互式作业交互式作业n注册与注销注册与注销n注册:注册:nlogon:用户名用户名npassword:*n(使用使用)n注销:注销:n显式注销:显式注销:nlogoutn隐式注销:隐式注销:n(如(如5分钟无输入命令)分钟无输入命令)57命令解释程序命令解释程序提示符提示符$读入终端命令读入终端命令分析分析Logout内部命令内部命令处理处理建立子进程建立子进程后台命令后台命令等子进程结束等子进程结束输出子进程号输出子进程号记帐记帐TFTFFT58小结:作业、进程、线程小结:作业、进程、线程n作业与进程作业与进程n作业进入内存后变为进程作业进入内存后变为进程n一个作业通常与多个进程相对应一个作业通常与多个进程相对应n进程与线程进程与线程n一个进程一般包含多个线程,至少包含一个一个进程一般包含多个线程,至少包含一个线程线程n不支持多线程的系统,可视为单线程进程不支持多线程的系统,可视为单线程进程59 2.5.1 Java线程线程 nJava线程四种基本状态线程四种基本状态 nNew:新建的线程:新建的线程nRunnable:可运行状态:可运行状态nBlocked:封锁状态:封锁状态nDead:终止状态:终止状态 60Java线程线程nJavaJava线程状态之间的转换关系图线程状态之间的转换关系图 Sleep()Suspend()IORunnableBlockedDeadNewStart()Stop()Resume()61JAVA线程线程与与JVMnJava线程是由线程是由Java虚拟机虚拟机JVM支持的支持的 nJVM位于操作系统之上位于操作系统之上 nJava线程与操作系统线程之间的对应关线程与操作系统线程之间的对应关系由系由JVM确定确定 n对于对于Windows NT的的JVM,Java线程与操线程与操作系统线程具有一对一关系作系统线程具有一对一关系;n对于对于Solaris的的JVM,其对应关系为多对多,其对应关系为多对多.622.5.2 Linux进程与线程进程与线程 n进程与线程在系统内部具有统一的表示进程与线程在系统内部具有统一的表示n进程与线程的差别通过与进程与线程的差别通过与fork不同的另不同的另外一个系统调用外一个系统调用clone体现出来体现出来 nClone系统调用的形式系统调用的形式 npid=clone(function,stack_ptr,sharing_flag,arg)pid=clone(function,stack_ptr,sharing_flag,arg)nSharing-flag:Sharing-flag:nCLONE_VM,CLONE_FILES,CLONE_SIGHAND,CLONE_PIDCLONE_VM,CLONE_FILES,CLONE_SIGHAND,CLONE_PID632.5.3 Windows2000/XP进程、线程与纤程 n进程n在Win32环境中创建进程的过程n当Win32应用执行CreateProcess调用,消息被发给Win32子系统,后者调用进程管理器创建进程,进程管理器调用OM创建进程对象,然后返回对象把柄给Win32.Win32子系统再次调用进程管理器为该进程创建线程,最后Win32将把柄返给新进程和线程 64对象头部属性Type:Process对象体属性进程标识(Process id)访问令牌(Access token)基础优先级(Base priority)缺省亲合处理机(Default processor affinity)配额限制(Quota limits)执行时间(Execution time)输入/输出记数(I/O counters)执行/调试端口(Exception/debugging ports)退出状态(exit status)服务创建进程(Create process)打开进程(Open process)查询进程信息(Query process information)设置进程信息(Set process information)当前进程(Current process)终止进程(Terminate process)分配/释放虚拟存储(Allocate/free virtual memory)读/写虚拟存储(Read/write virtual memory)保护虚拟存储(Protect virtual memory)加锁/开锁虚存(Lock/unlock virtual memory)查询虚拟存储(Query virtual memory)刷新虚拟存储(Flush virtual memory)进程对象描述图 65对象头部属性属性类型:线程(Type:thread)属性客户标识(client id)线程上下文(thread context)动态优先级(dynamic priority)处理机亲合掩码(thread processor affinity)已执行时间(thread execution time)警觉状态(alert status)挂起记数(suspension count)非角色令牌(impersonation token)终止端口(termination port)终止状态(exit status)服务创建线程(Create thread)打开线程(Open thread)查询线程状态(Query thread information)设置线程状态(Set thread information)当前线程(Current thread)终止线程(Terminate thread)取上下文(Get context)置上下文(Set context)挂起(Suspend)恢复(Resume)警示线程(Alert thread)测试线程警示(Test thread alert)注册终止端口(Register termination port)线程对象描述图 66就绪等待初始备用运行转换终止创建线程对象重新初始化执行完入就绪队列剥夺唤醒唤醒栈在外换入内核栈切换选中等待某对象抢先Windows线程状态转换图 67

    注意事项

    本文(第2章 进程、线程与作业.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开