




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章线程、对称多处理和微内核第3章线程、对称多处理和微内核1进程和线程进程的概念资源分配的单位调度/执行的单位解决进程切换开销大、提高并发程度线程:一个进程内的基本调度单位进程和线程进程的概念2线程和进程的主要区别:1进程是资源管理基本单位2线程是处理机调度的基本单位(共享进程资源、自己没有资源)3进程切换涉及资源转移及现场保护,时间长4线程切换不发生资源变化、切换(线程上下文)时间短5线程没有单独的数据和程序空间,不能交换到外存6进程调度大多由操作系统内核完成,线程控制可以由操作系统内核进行,也可由用户控制7线程通信效率高:在同一进程内,无需调用内核,可利用共享的存储空间线程和进程的主要区别:1进程是资源管理基本单位3线程执行状态(运行、就绪等)保存的线程上下文(非运行时)一个执行栈独立的用来存储局部变量的静态存储器对进程的存储器和其他资源的访问,与进程的其他线程共享这些资源
一个独立的程序指令计数器线程执行状态(运行、就绪等)4进程与线程的关系进程与线程的关系5单线程和多线程的进程模型单线程和多线程的进程模型6线程应用实例文件服务器每个新文件请求到达,为文件管理器产生一个新线程多线程在多处理器上性能更优线程应用实例文件服务器7单用户多处理系统中线程使用前台和后台操作(显示读取输入、执行命令更新)异步处理(周期性备份、缓冲区写磁盘)加速执行(多处理器多线程)模块化程序结构进程挂起-线程挂起进程终止-线程终止单用户多处理系统中线程使用前台和后台操作(显示读取输入、执行8线程功能派生(spawn):又称创建线程。阻塞(block):又称线程阻塞或等待。当一个线程等待一个事件时,将变成阻塞态,保护它的用户寄存器、程序计数器和堆栈指针等现场。解除阻塞(unblock):又称恢复线程。当被阻塞线程等待的事件发生时,线程变成就绪态结束(finish):又称撤销线程。当一个线程正常完成时,便回收它占有的寄存器和堆栈等资源,撤销线程TCB。当一个线程运行出现异常时,允许强行撤销一个线程。线程功能派生(spawn):又称创建线程。9线程的实现用户级线程(User-levelThreads,ULT):POSIX的P-threads、Java的线程库内核级线程(Kernel-levelThreads,KLT):Windows2000/XP、OS/2和MachC-thread组合的方法(CombinedApproaches):SolarisSUN最初在Solaris操作系统上实现的虚拟机采用的是用户级的线程库,以后改用内核线程和用户线程相结合的方式;Linux系统上的虚拟机kaffe采用的是纯用户级的线程;Krall等人在为DECUnix平台设计64位Java虚拟机时,采用的也是用户级的线程.线程的实现用户级线程(User-levelThreads,10用户线程(user-levelthread)用户线程的维护由应用进程完成;内核不了解用户线程的存在;用户线程切换不需要内核特权;用户线程调度算法可针对应用优化;不依赖于OS核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。如:数据库系统informix,图形处理AldusPageMaker。用户线程(user-levelthread)用户线程的维护11特点:应用程序和线程被分配给内核管理的进程。线程创建:线程库派生控制权传递:过程调用线程上下文的保存:用户寄存器、PC、栈指针内核无法知晓用户空间的活动Java语言的用户级线程机制特点:12线程阻塞导致进程阻塞虚拟感知进程B在线程2中运行进程B时间片到线程阻塞导致进程阻塞进程B在线程2中运行进程B时间片到13用户级线程代替内核级线程优点线程切换不需要模式切换调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度程序不需要对底层内核进行修改以支持ULT用户级线程代替内核级线程优点线程切换不需要模式切换14用户级线程代替内核级线程缺点(系统调用)线程阻塞导致进程中所有线程阻塞一个多线程应用程序不能利用多处理技术一次进程中只有一个线程可以执行用户级线程代替内核级线程缺点(系统调用)线程阻塞导致进程中所15内核维护进程和线程的上下文信息;线程切换由内核完成;一个线程发起系统调用而阻塞,不会影响其他线程的运行。时间片分配给线程,所以多线程的进程获得更多CPU时间。依赖于OS核心,由内核的内部需求进行创建和撤销,用来执行一个指定的函数。Windows2000/xp和Winnt支持内核线程;内核线程(kernel-levelthread)内核维护进程和线程的上下文信息;依赖于OS核心,由内核的内部16优点:线程阻塞不会导致进程阻塞可以利用多处理器技术内核例程本身也可以使用多线程线程管理使用API函数缺点:线程切换需要访问模式效率比用户级线程低(应用程序性质)优点:17组合方法(Solaris)ULT被映射到KLT多个线程可以在多个处理器上并行运行线程创建、调度和同步在用户空间某个会引起阻塞的系统调用不需要阻塞整个进程组合方法(Solaris)ULT被映射到KLT18其他方案线程:进程描述示例1:1每个线程是一个进程UnixM:1进程中创建多个线程windowsSolaris、linux、os/21:M线程在进程中迁移Ra、EmeraldM:N综合M:1和1:MTRIX其他方案线程:进程描述19进程和线程的比较①地址空间资源:不同进程的地址空间是相互独立的,而同一进程的各线程共享同一地址空间。一个进程中的线程在另一个进程中是不可见的。②通信关系:进程间通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程间可以通过直接读写进程数据段(如全局变量)来进行通信。③调度切换:同一进程中的线程上下文切换比进程上下文切换要快得多。进程和线程的比较①地址空间资源:不同进程的地址空间是相互独立20使用单线程的RPC使用单线程的RPC21每个服务器使用
一个线程的RPC(单处理器)每个服务器使用
一个线程的RPC(单处理器)22单处理器上的多线程单处理器上的多线程23Windows2000/xp的线程状态Windows2000/xp的线程状态24对称多处理对称多处理25分布式系统,每个CPU都拥有自己的高速缓存、RAM、磁盘、图形子系统、声卡、监视器等,它们是一组普通的计算机,可能具有完全不同的体系结构,但都共同工作在某个网络之上。SMP,系统所有的CPU都是相同的,且在一个计算机里,它们通过特殊用途的硬件通信,系统除了CPU以外,每样东西只有一个—一块图形卡、一个声卡等等之类,诸如RAM和磁盘及类似的资源为系统的CPU所共享分布式系统,每个CPU都拥有自己的高速缓存、RAM、磁盘、26引入:进程演化线程目的核心级线程—并发使用处理器资源—满足SMP主从结构缺点:内核在某个特定处理器上运行主处理器失败导致整个系统失败主处理器单独完成所有调度和进程管理(瓶颈)对称多处理:内核可运行在任一处理器上每个处理器可从可用进程和线程池完成自身的调度工作内核并行运行引入:进程演化线程目的27多处理器操作系统的设计思考多道程序系统+多个处理器关键设计问题同时的并发进程/线程:多处理器同时执行相同内核代码,内核例程可重入调度:避免多处理器的调度冲突同步:锁存储器管理:协调多处理器分页机制可靠性和容错多处理器操作系统的设计思考多道程序系统+多个处理器28微内核体系结构只有最基本操作系统功能放在内核中,运行在核心模式不是最基本服务和应用在内核之外,运行在用户模式(设备驱动程序、文件系统、虚存管理程序、窗口系统、安全)微内核体系结构只有最基本操作系统功能放在内核中,运行在核心29微内核组织结构的优点一致接口:进程不区分内核还是用户,所有服务都以消息的形式提供可扩展性:允许增加新的服务、作为用户级进程实现、无需改动内核灵活性:可以增加新的功能、删除现有功能可移植性:把系统移植到新处理器上只需要对内核修改(大部分处理器专用代码在微内核中)可靠性:模块化、掌握少量API、小的微内核可以被严格地测试分布式系统支持:消息传送不需要知道目标机器的位置对面向对象操作系统的支持:组件技术微内核组织结构的优点一致接口:进程不区分内核还是用户,所有服30微内核性能增大微内核:把一些关键的服务程序和驱动程序重新放回操作系统减少用户-内核模式切换的次数及地址空间进程切换的次数减少微内核:微内核构造和发送信息、接受应答并解码所花费时间比进行一次系统调用时间要多一代微内核:300KB代码140个系统调用接口第二代微内核:13KB代码7个系统调用接口微内核性能增大微内核:把一些关键的服务程序和驱动程序重新放回31微内核设计低级存储器管理微内核负责把每个虚页映射到一个物理页帧核外:包括保护一个进程的地址空间免于另一个进程的干涉、页替换算法以及分页逻辑都可以在内核外实现.微内核设计低级存储器管理32进程间通信:消息(消息头、消息体)I/O和中断管理:识别中断、消息处理硬件中断可如同消息一样来处理微内核将生成一个消息传送给用户层中相关的处理中断的进程内核中并不包含特定设备专有中断处理代码进程间通信:消息(消息头、消息体)33Windows线程和SMP管理Windows进程作为对象实现一个可执行的进程可能包含一个或多个线程进程对象和线程对象都具有同步能力Windows线程和SMP管理Windows进程作为对象实现34Windows进程和线程对象Windows进程和线程对象35Windows线程状态Windows线程状态36Solaris多线程体系结构Solaris多线程体系结构37当应用不需要并发运行时,可以利用单线程进程结构;当程序设计时要表示并发而不真正需要多线程并行执行时,可以建立多个ULT,所有ULT对应于一个LWP,由单个内核线程支撑;当应用需要全面并行时,可以建立多个ULT,每个ULT对应于一个LWP,从而使内核并行机制完全对应用可见.当应用不需要并发运行时,可以利用单线程进程结构;38Solaris用户级线程和轻量级进程状态Solaris用户级线程和轻量级进程状态39线程对称多处理和微内核重点课件40第3章线程、对称多处理和微内核第3章线程、对称多处理和微内核41进程和线程进程的概念资源分配的单位调度/执行的单位解决进程切换开销大、提高并发程度线程:一个进程内的基本调度单位进程和线程进程的概念42线程和进程的主要区别:1进程是资源管理基本单位2线程是处理机调度的基本单位(共享进程资源、自己没有资源)3进程切换涉及资源转移及现场保护,时间长4线程切换不发生资源变化、切换(线程上下文)时间短5线程没有单独的数据和程序空间,不能交换到外存6进程调度大多由操作系统内核完成,线程控制可以由操作系统内核进行,也可由用户控制7线程通信效率高:在同一进程内,无需调用内核,可利用共享的存储空间线程和进程的主要区别:1进程是资源管理基本单位43线程执行状态(运行、就绪等)保存的线程上下文(非运行时)一个执行栈独立的用来存储局部变量的静态存储器对进程的存储器和其他资源的访问,与进程的其他线程共享这些资源
一个独立的程序指令计数器线程执行状态(运行、就绪等)44进程与线程的关系进程与线程的关系45单线程和多线程的进程模型单线程和多线程的进程模型46线程应用实例文件服务器每个新文件请求到达,为文件管理器产生一个新线程多线程在多处理器上性能更优线程应用实例文件服务器47单用户多处理系统中线程使用前台和后台操作(显示读取输入、执行命令更新)异步处理(周期性备份、缓冲区写磁盘)加速执行(多处理器多线程)模块化程序结构进程挂起-线程挂起进程终止-线程终止单用户多处理系统中线程使用前台和后台操作(显示读取输入、执行48线程功能派生(spawn):又称创建线程。阻塞(block):又称线程阻塞或等待。当一个线程等待一个事件时,将变成阻塞态,保护它的用户寄存器、程序计数器和堆栈指针等现场。解除阻塞(unblock):又称恢复线程。当被阻塞线程等待的事件发生时,线程变成就绪态结束(finish):又称撤销线程。当一个线程正常完成时,便回收它占有的寄存器和堆栈等资源,撤销线程TCB。当一个线程运行出现异常时,允许强行撤销一个线程。线程功能派生(spawn):又称创建线程。49线程的实现用户级线程(User-levelThreads,ULT):POSIX的P-threads、Java的线程库内核级线程(Kernel-levelThreads,KLT):Windows2000/XP、OS/2和MachC-thread组合的方法(CombinedApproaches):SolarisSUN最初在Solaris操作系统上实现的虚拟机采用的是用户级的线程库,以后改用内核线程和用户线程相结合的方式;Linux系统上的虚拟机kaffe采用的是纯用户级的线程;Krall等人在为DECUnix平台设计64位Java虚拟机时,采用的也是用户级的线程.线程的实现用户级线程(User-levelThreads,50用户线程(user-levelthread)用户线程的维护由应用进程完成;内核不了解用户线程的存在;用户线程切换不需要内核特权;用户线程调度算法可针对应用优化;不依赖于OS核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。如:数据库系统informix,图形处理AldusPageMaker。用户线程(user-levelthread)用户线程的维护51特点:应用程序和线程被分配给内核管理的进程。线程创建:线程库派生控制权传递:过程调用线程上下文的保存:用户寄存器、PC、栈指针内核无法知晓用户空间的活动Java语言的用户级线程机制特点:52线程阻塞导致进程阻塞虚拟感知进程B在线程2中运行进程B时间片到线程阻塞导致进程阻塞进程B在线程2中运行进程B时间片到53用户级线程代替内核级线程优点线程切换不需要模式切换调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度程序不需要对底层内核进行修改以支持ULT用户级线程代替内核级线程优点线程切换不需要模式切换54用户级线程代替内核级线程缺点(系统调用)线程阻塞导致进程中所有线程阻塞一个多线程应用程序不能利用多处理技术一次进程中只有一个线程可以执行用户级线程代替内核级线程缺点(系统调用)线程阻塞导致进程中所55内核维护进程和线程的上下文信息;线程切换由内核完成;一个线程发起系统调用而阻塞,不会影响其他线程的运行。时间片分配给线程,所以多线程的进程获得更多CPU时间。依赖于OS核心,由内核的内部需求进行创建和撤销,用来执行一个指定的函数。Windows2000/xp和Winnt支持内核线程;内核线程(kernel-levelthread)内核维护进程和线程的上下文信息;依赖于OS核心,由内核的内部56优点:线程阻塞不会导致进程阻塞可以利用多处理器技术内核例程本身也可以使用多线程线程管理使用API函数缺点:线程切换需要访问模式效率比用户级线程低(应用程序性质)优点:57组合方法(Solaris)ULT被映射到KLT多个线程可以在多个处理器上并行运行线程创建、调度和同步在用户空间某个会引起阻塞的系统调用不需要阻塞整个进程组合方法(Solaris)ULT被映射到KLT58其他方案线程:进程描述示例1:1每个线程是一个进程UnixM:1进程中创建多个线程windowsSolaris、linux、os/21:M线程在进程中迁移Ra、EmeraldM:N综合M:1和1:MTRIX其他方案线程:进程描述59进程和线程的比较①地址空间资源:不同进程的地址空间是相互独立的,而同一进程的各线程共享同一地址空间。一个进程中的线程在另一个进程中是不可见的。②通信关系:进程间通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程间可以通过直接读写进程数据段(如全局变量)来进行通信。③调度切换:同一进程中的线程上下文切换比进程上下文切换要快得多。进程和线程的比较①地址空间资源:不同进程的地址空间是相互独立60使用单线程的RPC使用单线程的RPC61每个服务器使用
一个线程的RPC(单处理器)每个服务器使用
一个线程的RPC(单处理器)62单处理器上的多线程单处理器上的多线程63Windows2000/xp的线程状态Windows2000/xp的线程状态64对称多处理对称多处理65分布式系统,每个CPU都拥有自己的高速缓存、RAM、磁盘、图形子系统、声卡、监视器等,它们是一组普通的计算机,可能具有完全不同的体系结构,但都共同工作在某个网络之上。SMP,系统所有的CPU都是相同的,且在一个计算机里,它们通过特殊用途的硬件通信,系统除了CPU以外,每样东西只有一个—一块图形卡、一个声卡等等之类,诸如RAM和磁盘及类似的资源为系统的CPU所共享分布式系统,每个CPU都拥有自己的高速缓存、RAM、磁盘、66引入:进程演化线程目的核心级线程—并发使用处理器资源—满足SMP主从结构缺点:内核在某个特定处理器上运行主处理器失败导致整个系统失败主处理器单独完成所有调度和进程管理(瓶颈)对称多处理:内核可运行在任一处理器上每个处理器可从可用进程和线程池完成自身的调度工作内核并行运行引入:进程演化线程目的67多处理器操作系统的设计思考多道程序系统+多个处理器关键设计问题同时的并发进程/线程:多处理器同时执行相同内核代码,内核例程可重入调度:避免多处理器的调度冲突同步:锁存储器管理:协调多处理器分页机制可靠性和容错多处理器操作系统的设计思考多道程序系统+多个处理器68微内核体系结构只有最基本操作系统功能放在内核中,运行在核心模式不是最基本服务和应用在内核之外,运行在用户模式(设备驱动程序、文件系统、虚存管理程序、窗口系统、安全)微内核体系结构只有最基本操作系统功能放在内核中,运行在核心69微内核组织结构的优点一致接口:进程不区分内核还是用户,所有服务都以消息的形式提供可扩展性:允许增加新的服务、作为用户级进程实现、无需改动内核灵活性:可以增加新的功能、删除现有功能可移植性:把系统移植到新处理器上只需要对内核修改(大部分处理器专用代码在微内核中)可靠性:模块化、掌握少量API、小的微内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京视觉艺术职业学院《智能科学数学基础》2023-2024学年第二学期期末试卷
- 高考冲刺倒计时100天主题班会
- 湖北省鄂州市吴都中学2024-2025学年高考生物试题命题比赛模拟试卷(23)含解析
- 商丘学院《临床寄生虫学与检验》2023-2024学年第一学期期末试卷
- 湘潭市岳塘区2024-2025学年数学五年级第二学期期末综合测试试题含答案
- 上海应用技术大学《虚拟仪器技术》2023-2024学年第二学期期末试卷
- 湖南大众传媒职业技术学院《工科数学分析(下)》2023-2024学年第二学期期末试卷
- 江苏医药职业学院《中级法语I》2023-2024学年第一学期期末试卷
- 四川中医药高等专科学校《医学数据挖掘课程设计》2023-2024学年第一学期期末试卷
- 山东石油化工学院《智慧建造与物联网》2023-2024学年第二学期期末试卷
- 个人车辆抵押协议书
- 中国矿产资源集团大数据有限公司招聘考试真题2024
- 八年级英语下学期期中模拟卷(宿迁专用)(原卷版)
- 杭州市市级机关事业单位招聘真题2024
- 2025年科普知识竞赛题及答案(共100题)
- 地下混凝土水池蓄水试验方案20240401
- 2025年北京卫生职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年河南推拿职业学院单招职业技能考试题库含答案
- 深基坑工程施工中的自动化设备应用
- 烟草公司办公楼物业服务方案
- 口腔保健科普讲座(幼儿园)课件
评论
0/150
提交评论