书签 分享 收藏 举报 版权申诉 / 58
上传文档赚钱

类型第八讲进程调度与线程概念课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5184755
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:58
  • 大小:204KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第八讲进程调度与线程概念课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第八 进程 调度 线程 概念 课件
    资源描述:

    1、进程调度(进程调度(CPUCPU调度)调度)要解决的问题要解决的问题WHATWHAT:按什么原则分配:按什么原则分配CPUCPU 进程调度算法进程调度算法WHENWHEN:何时分配:何时分配CPUCPU 进程调度的时机进程调度的时机HOWHOW:如何分配如何分配CPUCPU CPUCPU调度过程(进程的上下文切换)调度过程(进程的上下文切换)处理机调度分成三个层次处理机调度分成三个层次l处理机是计算机系统中的重要资源处理机是计算机系统中的重要资源l处理机调度算法对整个计算机系统的综处理机调度算法对整个计算机系统的综合性能指标有重要影响合性能指标有重要影响l可把处理机调度分成三个层次:可把处理机

    2、调度分成三个层次:高级调度 中级调度 低级调度 高级调度高级调度也称为作业调度或宏观调度也称为作业调度或宏观调度 高级调度的时间尺度通常是分钟、小时或天高级调度的时间尺度通常是分钟、小时或天 中级调度中级调度涉及进程在内外存间的交换,从存涉及进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提部换出到外存上,可为当前运行进程的执行提供所需内存空间,将当前进程所需部分换入到供所需内存空间,将当前进程所需部分换入到内存。指令和数据必须在内存里才能被处理机内存。指令和数据必须在内存里才能被处理机直接访问直接

    3、访问 低级调度低级调度也称微观调度,从处理机资源分配也称微观调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或的角度来看,处理机需要经常选择就绪进程或线程进入运行状态,低级调度的时间尺度通常线程进入运行状态,低级调度的时间尺度通常是毫秒级的。由于低级调度算法的频繁使用,是毫秒级的。由于低级调度算法的频繁使用,要求在实现时做到高效要求在实现时做到高效一一.进程调度算法进程调度算法 1 1进程调度进程调度 进程调度的任务是控制协调进程对进程调度的任务是控制协调进程对CPUCPU的的竞争。竞争。即按一定的调度算法从就绪队列即按一定的调度算法从就绪队列中选中一个进程,把中选中一个进程,把C

    4、PUCPU的使用权交给被的使用权交给被选中的进程选中的进程2 2确定算法的原则确定算法的原则 具有公平性具有公平性 资源利用率高(特别是资源利用率高(特别是CPUCPU利用率)利用率)在交互式系统情况下要追求响应时间在交互式系统情况下要追求响应时间(越短越好)(越短越好)在批处理系统情况下要追求系统吞吐量在批处理系统情况下要追求系统吞吐量3 3各种进程调度算法各种进程调度算法先进先出进程调度算法先进先出进程调度算法(FIFOFIFO)按照进程就绪的先后次序来调度进程按照进程就绪的先后次序来调度进程 优点优点:实现简单实现简单 缺点缺点:没考虑进程的优先级没考虑进程的优先级 基于优先数的调度基于

    5、优先数的调度(HPFHighest Priority First)优先选择就绪队列中优先级最高的进程投优先选择就绪队列中优先级最高的进程投入运行入运行优先级根据优先数来决定优先级根据优先数来决定确定优先数的方法确定优先数的方法静态优先数法:静态优先数法:在进程创建时指定优先数,在进程运行在进程创建时指定优先数,在进程运行时优先数不变时优先数不变动态优先数法:动态优先数法:在进程创建时创立一个优先数,但在其在进程创建时创立一个优先数,但在其生命周期内优先数可以动态变化。如等生命周期内优先数可以动态变化。如等待时间长优先数可改变待时间长优先数可改变两种占用两种占用CPUCPU的方式的方式可剥夺式(

    6、可抢占可剥夺式(可抢占式式PreemptivePreemptive):):当有比正在运行的进程优先级更高的进程就当有比正在运行的进程优先级更高的进程就绪时,系统可强行剥夺正在运行进程的绪时,系统可强行剥夺正在运行进程的CPUCPU,提供给具有更高优先级的进程使用提供给具有更高优先级的进程使用不可剥夺式(不可抢占式不可剥夺式(不可抢占式 Non-preemptive Non-preemptive):):某一进程被调度运行后,除非由于它自身的某一进程被调度运行后,除非由于它自身的原因不能运行,否则一直运行下去原因不能运行,否则一直运行下去时间片轮转程序调度算法时间片轮转程序调度算法(RRRound

    7、 Robin)把把CPUCPU划分成若干时间片划分成若干时间片,并且按顺序赋给并且按顺序赋给就绪队列中的每一个进程,进程轮流占有就绪队列中的每一个进程,进程轮流占有CPUCPU,当时间片用完时,即使进程未执行,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的完毕,系统也剥夺该进程的CPUCPU,将该进,将该进程排在就绪队列末尾。同时系统选择另一程排在就绪队列末尾。同时系统选择另一个进程运行个进程运行分时系统中常用时间片轮转法分时系统中常用时间片轮转法时间片选择问题时间片选择问题:固定时间片固定时间片 可变时间片可变时间片与时间片大小有关的因素:与时间片大小有关的因素:系统响应时间系统响应

    8、时间 就绪进程个数就绪进程个数 CPUCPU能力能力 多队列反馈调度算法:多队列反馈调度算法:将就绪队列分为将就绪队列分为N N级,每个就绪队列分配级,每个就绪队列分配给不同的时间片,队列级别越高,时间给不同的时间片,队列级别越高,时间越长,级别越小,时间片越小,最后一越长,级别越小,时间片越小,最后一级采用时间片轮转,其他队列采用先进级采用时间片轮转,其他队列采用先进先出;先出;系统从第一级调度,当第一级为系统从第一级调度,当第一级为空时,系统转向第二个队列,空时,系统转向第二个队列,.当运当运行进程用完一个时间片,放弃行进程用完一个时间片,放弃CPUCPU时,进时,进入下一级队列;等待进程

    9、被唤醒时,进入下一级队列;等待进程被唤醒时,进入原来的就绪队列;当进程第一次就绪入原来的就绪队列;当进程第一次就绪时,进入第一级队列时,进入第一级队列 *首先系统中设置多个就绪队列首先系统中设置多个就绪队列*每个就绪队列分配给不同时间片,优先级高的为第一级每个就绪队列分配给不同时间片,优先级高的为第一级队列,时间片最小,随着队列级别的降低,时间片加大队列,时间片最小,随着队列级别的降低,时间片加大*各个队列按照先进先出调度算法各个队列按照先进先出调度算法*一个新进程就绪后进入第一级队列一个新进程就绪后进入第一级队列*进程由于等待而放弃进程由于等待而放弃CPUCPU后,进入等待队列,一旦等待的后

    10、,进入等待队列,一旦等待的事件发生,则回到原来的就绪队列事件发生,则回到原来的就绪队列*当有一个优先级更高的进程就绪时,可以抢占当有一个优先级更高的进程就绪时,可以抢占CPUCPU,被抢,被抢占进程回到原来一级就绪队列末尾占进程回到原来一级就绪队列末尾*当第一级队列空时,就去调度第二级队列,如此类推当第一级队列空时,就去调度第二级队列,如此类推*当时间片到后,进程放弃当时间片到后,进程放弃CPUCPU,回到下一级队列,回到下一级队列二二.进程调度的时机进程调度的时机当一个进程运行完毕,或由于某种错误而终止当一个进程运行完毕,或由于某种错误而终止运行运行当一个进程在运行中处于等待状态(等待当一个

    11、进程在运行中处于等待状态(等待I/OI/O)分时系统中时间片到分时系统中时间片到当有一个优先级更高的进程就绪(可抢占式)当有一个优先级更高的进程就绪(可抢占式)例如:新创建一个进程,一个等待进程变成就例如:新创建一个进程,一个等待进程变成就绪绪在进程通信中,执行中的进程执行了某种原语在进程通信中,执行中的进程执行了某种原语操作(操作(P P操作,阻塞原语,唤醒原语)操作,阻塞原语,唤醒原语)三三.进程切换进程切换 进程切换进程切换 一个进程让出处理器,由另一个进程占用处理器的过程一个进程让出处理器,由另一个进程占用处理器的过程 进程的切换使系统中的各进程均有机会占用进程的切换使系统中的各进程均

    12、有机会占用CPUCPU 进程的切换是由进程状态的变化引起的,而进程状态的进程的切换是由进程状态的变化引起的,而进程状态的变化又与出现中断事件有关变化又与出现中断事件有关 当有中断事件发生时,当前运行的进程被中断,中断响当有中断事件发生时,当前运行的进程被中断,中断响应后由操作系统处理出现的中断事件。中断处理后,某应后由操作系统处理出现的中断事件。中断处理后,某些进程的状态会发生变化,也可能又创建了一些新的进些进程的状态会发生变化,也可能又创建了一些新的进程。因此,要进行队列的调整。然后,进程调度根据预程。因此,要进行队列的调整。然后,进程调度根据预定的调度算法从就绪队列选一个进程占用定的调度算

    13、法从就绪队列选一个进程占用CPUCPU。这个占。这个占用用CPUCPU运行的进程可能仍是被中断的进程,也可能是另运行的进程可能仍是被中断的进程,也可能是另一个进程一个进程 何时切换进程何时切换进程?只要只要OSOS取得对取得对CPUCPU的控制,进程切换就可的控制,进程切换就可能发生,如能发生,如:超级用户调用超级用户调用 来自程序的显式请求来自程序的显式请求 (如:打开文件如:打开文件),该进程该进程通常会被阻塞通常会被阻塞陷阱陷阱 最末一条指令导致出错,会引起进程移至退出状最末一条指令导致出错,会引起进程移至退出状态态中断中断 外部因素影响当前指令的执行,控制被转移至外部因素影响当前指令的

    14、执行,控制被转移至IHIH(中断处理程序)(中断处理程序)中断的例子中断的例子时钟时钟 进程用完其时间片,被转换至就绪状态进程用完其时间片,被转换至就绪状态I/O I/O 先前等待该事件的进程被转换为就绪先前等待该事件的进程被转换为就绪(或就绪挂或就绪挂起起)状态状态 然后重新运行该进程或选择一更高优先级的进程然后重新运行该进程或选择一更高优先级的进程存储器因素存储器因素 内存地址是在虚拟存储器中,它必须把对应的存内存地址是在虚拟存储器中,它必须把对应的存储块调入主存储块调入主存 于是相应的进程成为阻塞状态于是相应的进程成为阻塞状态(等待等待I/OI/O完成完成)四四.CPU.CPU调度过程调

    15、度过程*保存现场保存现场:顺序保存,最后一步保存:顺序保存,最后一步保存PSWPSW*选择要运行的程序选择要运行的程序 (如果没有就绪进程(如果没有就绪进程,系统会安排一个系统会安排一个闲闲逛进程逛进程(idle)(idle),没有其他进程时该进程一没有其他进程时该进程一直运行直运行,在执行过程中可接收中断)在执行过程中可接收中断)*恢复现场:恢复现场:最后一步恢复选中进程的最后一步恢复选中进程的PSWPSW在进程(上下文)中切换的步骤在进程(上下文)中切换的步骤 保存处理器的上下文,包括程序计数器和其它保存处理器的上下文,包括程序计数器和其它寄存器寄存器 用新状态和其它相关信息更新正在运行进

    16、程的用新状态和其它相关信息更新正在运行进程的PCBPCB 把原来的进程移至合适的队列把原来的进程移至合适的队列-就绪、阻塞就绪、阻塞 选择另一个要执行的进程选择另一个要执行的进程 更新被选中进程的更新被选中进程的PCBPCB 从被选中进程中重装入从被选中进程中重装入 CPU CPU 上下文上下文二二.系统核心系统核心系统核心:系统核心:向上提供多个无中断的虚拟机器向上提供多个无中断的虚拟机器在核心内不允许中断在核心内不允许中断特点:特点:*为进程运行提供一个舞台为进程运行提供一个舞台 *核心常驻内存核心常驻内存 *设计短小精焊设计短小精焊1.1.核心的组成核心的组成 中断处理中断处理 进程管理

    17、进程管理:调度调度 控制控制 通讯通讯 互斥互斥 同步等同步等 原语管理原语管理:在核心中提供一系列原语,同步在核心中提供一系列原语,同步,通通信,创建,撤消等信,创建,撤消等队列管理队列管理:队列数据结构队列数据结构:指向队首的表指针指向队首的表指针 三个队列三个队列:运行,就绪,等待队列运行,就绪,等待队列 排队方式排队方式:排队首排队首 排队尾排队尾 插插 队队 出队方式出队方式:队首出队队首出队/队中出队队中出队 队列管理队列管理:中断之后,进程调度之前中断之后,进程调度之前现场管理现场管理:保存现场保存现场;注意顺序注意顺序,中断之后第一步中断之后第一步 恢复现场恢复现场:恢复时机,

    18、进程调度最后一步恢复时机,进程调度最后一步 时钟管理时钟管理:以固定频率以固定频率 +1-1+1-1 用途用途:进入绝对时钟进入绝对时钟 间隔时钟间隔时钟 进行分析比较进行分析比较虚时钟虚时钟:每个进程分配给一个虚时钟来记录每个进程分配给一个虚时钟来记录CPUCPU时时间间,这个时钟称为虚时钟这个时钟称为虚时钟 虚时钟存放在虚时钟存放在PCBPCB中,属于现场的一部分,中,属于现场的一部分,进程运行时,将虚时钟放入内存开辟的进程运行时,将虚时钟放入内存开辟的专门单元,离开专门单元,离开CPUCPU则放在则放在 PCBPCB中中2.2.核心处理流程核心处理流程进入核心的唯一入口进入核心的唯一入口

    19、:中断中断中断后进入核心,由硬件完成中断后进入核心,由硬件完成 3.3.内核的执行特点内核的执行特点由中断驱动的由中断驱动的:中断中断内核内核退出退出内核执行是连续的内核执行是连续的内核执行过程中在中断屏蔽状态下内核执行过程中在中断屏蔽状态下内核使用特权指令内核使用特权指令三三.线程的基本概念线程的基本概念 线程的引入线程的引入 线程与进程的对比线程与进程的对比 线程的实现线程的实现 实例:实例:SolarisSolaris1.1.线程的引入线程的引入进程的两个基本属性:进程的两个基本属性:资源的拥有者:资源的拥有者:给每个进程分配一虚拟地址空间,保存进给每个进程分配一虚拟地址空间,保存进程映

    20、像,控制一些资源(文件,程映像,控制一些资源(文件,I/OI/O设设备),有状态、优先级、调度备),有状态、优先级、调度 调度单位:调度单位:进程是一个执行轨迹进程是一个执行轨迹 以上两个属性构成进程并发执行的基础以上两个属性构成进程并发执行的基础线程的引入(续线程的引入(续1 1)系统必须完成的操作:系统必须完成的操作:创建进程创建进程 撤消进程撤消进程 进程切换进程切换缺点:缺点:时间空间开销大,限制并发度的提高时间空间开销大,限制并发度的提高线程的引入(续线程的引入(续2 2)在操作系统中,进程的引入提高了计算在操作系统中,进程的引入提高了计算机资源的利用效率。但在进一步提高进机资源的利

    21、用效率。但在进一步提高进程的并发性时,人们发现进程切换开销程的并发性时,人们发现进程切换开销占的比重越来越大,同时进程间通信的占的比重越来越大,同时进程间通信的效率也受到限制效率也受到限制 线程的引入正是为了简化线程间的通信,线程的引入正是为了简化线程间的通信,以小的开销来提高进程内的并发程度以小的开销来提高进程内的并发程度线程的引入(续线程的引入(续3 3)线程:线程:有时称轻量级进程有时称轻量级进程 进程中的一个运行实体进程中的一个运行实体 是一个是一个CPUCPU调度单位调度单位 资源的拥有者还是进程或称任务资源的拥有者还是进程或称任务将原来进程的两个属性分开处理将原来进程的两个属性分开

    22、处理线程的引入(续线程的引入(续4 4)线程:线程:有执行状态(状态转换)有执行状态(状态转换)不运行时保存上下文不运行时保存上下文 有一个执行栈有一个执行栈 有一些局部变量的静态存储有一些局部变量的静态存储 可存取所在进程的内存和其他资源可存取所在进程的内存和其他资源 可以创建、撤消另一个线可以创建、撤消另一个线程程线程和进程:线程和进程:单进程、单线程单进程、单线程单进程、多线程单进程、多线程多进程、一个进程一个线程多进程、一个进程一个线程多进程、一个进程多个线程多进程、一个进程多个线程P C B用用户户栈栈单线程进程模型单线程进程模型用户地址空间用户地址空间核核心心栈栈线程控制块:线程控

    23、制块:包含了寄存器映像,线程优先数和线程状态信息包含了寄存器映像,线程优先数和线程状态信息P C B多线程进程模型多线程进程模型用户用户地址地址空间空间用用户户栈栈核核心心栈栈线程线程控制块控制块用用户户栈栈核核心心栈栈线程线程控制块控制块用用户户栈栈核核心心栈栈线程线程控制块控制块引入线程的好处:引入线程的好处:创建一个新线程花费时间少(结束亦如此)创建一个新线程花费时间少(结束亦如此)两个线程的切换花费时间少两个线程的切换花费时间少 (如果机器设有(如果机器设有“存储存储 恢复恢复 所有寄存器所有寄存器”指令,则整个切换过程用几条指令即可完指令,则整个切换过程用几条指令即可完成)成)因为同

    24、一进程内的线程共享内存和文件,因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核因此它们之间相互通信无须调用内核 适合多处理机系统适合多处理机系统例子例子1 1:LANLAN中的一个文件服务器,在一段时间内需中的一个文件服务器,在一段时间内需要处理几个文件请求要处理几个文件请求因此有效的方法是:为每一个请求创建一个因此有效的方法是:为每一个请求创建一个线程线程在一个在一个SMPSMP机器上:多个线程可以同时在不机器上:多个线程可以同时在不同的处理器上运行同的处理器上运行例子例子2 2:一个线程显示菜单,并读入用户输入;一个线程显示菜单,并读入用户输入;另一个线程执行用户命令另

    25、一个线程执行用户命令考虑一个应用:由几个独立部分组成,这考虑一个应用:由几个独立部分组成,这几个部分不需要顺序执行,则每个部分几个部分不需要顺序执行,则每个部分可以以线程方式实现可以以线程方式实现当一个线程因当一个线程因I/OI/O阻塞时,可以切换到同一阻塞时,可以切换到同一应用的另一个线程应用的另一个线程2.2.线程与进程的比较线程与进程的比较 调度调度 并发性并发性 拥有资源拥有资源 系统开销系统开销3.3.线程的实现机制线程的实现机制 用户级线程用户级线程 核心级线程核心级线程 两者结合方法两者结合方法(1 1)用户级线程()用户级线程(User Level ThreadUser Lev

    26、el Thread)由应用程序完成所有线程的管理由应用程序完成所有线程的管理 通过线程库通过线程库(用户空间用户空间)一组管理线程的过程一组管理线程的过程 核心不知道线程的存在核心不知道线程的存在 线程切换不需要核心态特权线程切换不需要核心态特权 调度是应用特定的调度是应用特定的线程库线程库 创建、撤消线程创建、撤消线程 在线程之间传递消息和数据在线程之间传递消息和数据 调度线程执行调度线程执行 保护和恢复线程上下文保护和恢复线程上下文对用户级线程的核心活动对用户级线程的核心活动 核心不知道线程的活动,但仍然管理线程核心不知道线程的活动,但仍然管理线程的进程的活动的进程的活动 当线程调用系统调

    27、用时,整个进程阻塞当线程调用系统调用时,整个进程阻塞 但对线程库来说,线程仍然是运行状态但对线程库来说,线程仍然是运行状态 即线程状态是与进程状态独立的即线程状态是与进程状态独立的用户级线程的优点和缺点用户级线程的优点和缺点优点:优点:线程切换不调用核心线程切换不调用核心 调度是应用程序特定的:可以选择最好的算法调度是应用程序特定的:可以选择最好的算法 ULTULT可运行在任何操作系统上(只需要线程库)可运行在任何操作系统上(只需要线程库)缺点:缺点:大多数系统调用是阻塞的,因此核心阻塞进程,大多数系统调用是阻塞的,因此核心阻塞进程,故进程中所有线程将被阻塞故进程中所有线程将被阻塞 核心只将处

    28、理器分配给进程,同一进程中的两个核心只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上线程不能同时运行于两个处理器上(2 2)核心级线程()核心级线程(KLTKLT)所有线程管理由核心完成所有线程管理由核心完成 没有线程库,但对核心线程工具提供没有线程库,但对核心线程工具提供APIAPI 核心维护进程和线程的上下文核心维护进程和线程的上下文 线程之间的切换需要核心支持线程之间的切换需要核心支持 以线程为基础进行调度以线程为基础进行调度 例子:例子:Windows NTWindows NT,OS/2OS/2核心级线程的优点和缺点核心级线程的优点和缺点优点:优点:对多处理器,核心

    29、可以同时调度同一进程对多处理器,核心可以同时调度同一进程的多个线程的多个线程 阻塞是在线程一级完成阻塞是在线程一级完成 核心例程是多线程的核心例程是多线程的缺点:缺点:在同一进程内的线程切换调用内核,导致在同一进程内的线程切换调用内核,导致速度下降速度下降(3 3)两者分析)两者分析 针对不同的操作系统针对不同的操作系统 开销和性能(开销和性能()系统调用系统调用()线程执行时间线程执行时间 灵活性灵活性 可扩充性可扩充性 抢占抢占CPUCPU 共享进程的资源共享进程的资源(4 4)ULTULT和和KLTKLT结合方法结合方法 线程创建在用户空间完成线程创建在用户空间完成 大量线程调度和同步在

    30、用户空间完成大量线程调度和同步在用户空间完成 程序员可以调整程序员可以调整KLTKLT的数量的数量 可以取两者中最好的可以取两者中最好的 例子:例子:SolarisSolaris4.4.实例:实例:SolarisSolaris进程:进程:用户地址空间用户地址空间 用户栈用户栈 进程控制块进程控制块实例:实例:SolarisSolaris(续(续1 1)用户级线程(线程库)用户级线程(线程库):可在应用进程中建立多个可在应用进程中建立多个ULTULT 每个每个ULTULT需要:栈、程序计数器需要:栈、程序计数器 不受调度程序的调度,线程切换快不受调度程序的调度,线程切换快 对操作系统不可见对操作

    31、系统不可见 提供应用程序并行性接口提供应用程序并行性接口实例:实例:SolarisSolaris(续(续2 2)核心级线程核心级线程:设置了大量设置了大量KLTKLT 有一个小的数据结构和栈有一个小的数据结构和栈 完成内核的所有工作完成内核的所有工作 调度处理器的单位,其结构由核心维护调度处理器的单位,其结构由核心维护实例:实例:SolarisSolaris(续(续3 3)轻型进程(轻型进程(LWPLWP):):每个每个ULTULT利用利用LWPLWP与内核通信与内核通信 每个每个LWPLWP支持一个或多个用户级线程,并支持一个或多个用户级线程,并映射到一个核心级线程映射到一个核心级线程 每个

    32、每个LWPLWP对应用程序可见,内核看到的是对应用程序可见,内核看到的是多个多个LWPLWP而看不到而看不到ULTULTSolarisSolaris:如果逻辑并行性不需要硬件并行性的支如果逻辑并行性不需要硬件并行性的支持,则可使用持,则可使用ULTULT 例子:多个窗口,任一时刻只有一个窗例子:多个窗口,任一时刻只有一个窗口是活跃的口是活跃的 如果内核级线程可能被阻塞,则可以指如果内核级线程可能被阻塞,则可以指定两个或多个定两个或多个LWPLWP,避免整个应用程序的,避免整个应用程序的阻塞阻塞 分派分派唤醒唤醒继续继续抢占抢占停止停止可运行可运行睡眠睡眠睡眠睡眠停止停止停止停止停止停止用户级线

    33、程用户级线程活跃活跃连接在连接在LWP上上分派分派唤醒唤醒继续继续时间片时间片或抢占或抢占停止停止运行运行阻塞阻塞系统系统调用调用停止停止停止停止轻型进程状态轻型进程状态LWP状态独立于状态状态独立于状态ULT(受限制(受限制ULT除外)除外)可运行可运行阻塞阻塞唤醒唤醒进程进程 1进程进程 2进程进程 3进程进程 4进程进程 5进程库进程库用户用户内核内核硬件硬件用户级线程用户级线程内核级线程内核级线程轻型线程轻型线程处理器处理器线程与进程的关系线程与进程的关系线程:进程线程:进程特点特点例子例子1:1每一执行的线程是每一执行的线程是有自己的地址空间有自己的地址空间和资源的唯一进程和资源的唯一进程.各种各种UNIX版本版本M:1进程定义了所拥有进程定义了所拥有的地址空间和动态的地址空间和动态资源。在该进程中资源。在该进程中多个线程可被创建多个线程可被创建和执行和执行.Windows NT,Solaris,OS/2,OS/390,MACH

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第八讲进程调度与线程概念课件.ppt
    链接地址:https://www.163wenku.com/p-5184755.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库