




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章线程 对称多处理和微内核 中山大学计算机科学系陈国明博士 进程和线程 进程的概念资源分配的单位调度 执行的单位解决进程切换开销大 提高并发程度线程 一个进程内的基本调度单位 线程和进程的主要区别 1进程是资源管理基本单位2线程是处理机调度的基本单位 共享进程资源 自己没有资源 3进程切换涉及资源转移及现场保护 时间长4线程切换不发生资源变化 切换 线程上下文 时间短5线程没有单独的数据和程序空间 不能交换到外存6进程调度大多由操作系统内核完成 线程控制可以由操作系统内核进行 也可由用户控制7线程通信效率高 在同一进程内 无需调用内核 可利用共享的存储空间 线程 执行状态 运行 就绪等 保存的线程上下文 非运行时 一个执行栈独立的用来存储局部变量的静态存储器对进程的存储器和其他资源的访问 与进程的其他线程共享这些资源一个独立的程序指令计数器 进程与线程的关系 单线程和多线程的进程模型 线程应用实例 文件服务器每个新文件请求到达 为文件管理器产生一个新线程多线程在多处理器上性能更优 单用户多处理系统中线程使用 前台和后台操作 显示读取输入 执行命令更新 异步处理 周期性备份 缓冲区写磁盘 加速执行 多处理器多线程 模块化程序结构进程挂起 线程挂起进程终止 线程终止 线程功能 派生 spawn 又称创建线程 阻塞 block 又称线程阻塞或等待 当一个线程等待一个事件时 将变成阻塞态 保护它的用户寄存器 程序计数器和堆栈指针等现场 解除阻塞 unblock 又称恢复线程 当被阻塞线程等待的事件发生时 线程变成就绪态结束 finish 又称撤销线程 当一个线程正常完成时 便回收它占有的寄存器和堆栈等资源 撤销线程TCB 当一个线程运行出现异常时 允许强行撤销一个线程 线程的实现 用户级线程 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 levelthread 用户线程的维护由应用进程完成 内核不了解用户线程的存在 用户线程切换不需要内核特权 用户线程调度算法可针对应用优化 不依赖于OS核心 应用进程利用线程库提供创建 同步 调度和管理线程的函数来控制用户线程 如 数据库系统informix 图形处理AldusPageMaker 特点 应用程序和线程被分配给内核管理的进程 线程创建 线程库派生控制权传递 过程调用线程上下文的保存 用户寄存器 PC 栈指针内核无法知晓用户空间的活动Java语言的用户级线程机制 线程阻塞导致进程阻塞虚拟感知 进程B在线程2中运行 进程B时间片到 用户级线程代替内核级线程优点 线程切换不需要模式切换调度算法可以去适应应用程序 而不会扰乱底层的操作系统调度程序不需要对底层内核进行修改以支持ULT 用户级线程代替内核级线程缺点 系统调用 线程阻塞导致进程中所有线程阻塞一个多线程应用程序不能利用多处理技术一次进程中只有一个线程可以执行 内核维护进程和线程的上下文信息 线程切换由内核完成 一个线程发起系统调用而阻塞 不会影响其他线程的运行 时间片分配给线程 所以多线程的进程获得更多CPU时间 依赖于OS核心 由内核的内部需求进行创建和撤销 用来执行一个指定的函数 Windows2000 xp和Winnt支持内核线程 内核线程 kernel levelthread 优点 线程阻塞不会导致进程阻塞可以利用多处理器技术内核例程本身也可以使用多线程线程管理使用API函数缺点 线程切换需要访问模式效率比用户级线程低 应用程序性质 组合方法 Solaris ULT被映射到KLT多个线程可以在多个处理器上并行运行线程创建 调度和同步在用户空间某个会引起阻塞的系统调用不需要阻塞整个进程 其他方案 线程 进程描述示例1 1每个线程是一个进程UnixM 1进程中创建多个线程windowsSolaris linux os 21 M线程在进程中迁移Ra EmeraldM N综合M 1和1 MTRIX 进程和线程的比较 地址空间资源 不同进程的地址空间是相互独立的 而同一进程的各线程共享同一地址空间 一个进程中的线程在另一个进程中是不可见的 通信关系 进程间通信必须使用操作系统提供的进程间通信机制 而同一进程中的各线程间可以通过直接读写进程数据段 如全局变量 来进行通信 调度切换 同一进程中的线程上下文切换比进程上下文切换要快得多 使用单线程的RPC 每个服务器使用一个线程的RPC 单处理器 单处理器上的多线程 Windows2000 xp的线程状态 对称多处理 分布式系统 每个CPU都拥有自己的高速缓存 RAM 磁盘 图形子系统 声卡 监视器等 它们是一组普通的计算机 可能具有完全不同的体系结构 但都共同工作在某个网络之上 SMP 系统所有的CPU都是相同的 且在一个计算机里 它们通过特殊用途的硬件通信 系统除了CPU以外 每样东西只有一个 一块图形卡 一个声卡等等之类 诸如RAM和磁盘及类似的资源为系统的CPU所共享 引入 进程演化线程目的核心级线程 并发使用处理器资源 满足SMP主从结构缺点 内核在某个特定处理器上运行主处理器失败导致整个系统失败主处理器单独完成所有调度和进程管理 瓶颈 对称多处理 内核可运行在任一处理器上每个处理器可从可用进程和线程池完成自身的调度工作内核并行运行 多处理器操作系统的设计思考 多道程序系统 多个处理器关键设计问题同时的并发进程 线程 多处理器同时执行相同内核代码 内核例程可重入调度 避免多处理器的调度冲突同步 锁存储器管理 协调多处理器分页机制可靠性和容错 微内核体系结构 只有最基本操作系统功能放在内核中 运行在核心模式不是最基本服务和应用在内核之外 运行在用户模式 设备驱动程序 文件系统 虚存管理程序 窗口系统 安全 微内核组织结构的优点 一致接口 进程不区分内核还是用户 所有服务都以消息的形式提供可扩展性 允许增加新的服务 作为用户级进程实现 无需改动内核灵活性 可以增加新的功能 删除现有功能可移植性 把系统移植到新处理器上只需要对内核修改 大部分处理器专用代码在微内核中 可靠性 模块化 掌握少量API 小的微内核可以被严格地测试分布式系统支持 消息传送不需要知道目标机器的位置对面向对象操作系统的支持 组件技术 微内核性能 增大微内核 把一些关键的服务程序和驱动程序重新放回操作系统减少用户 内核模式切换的次数及地址空间进程切换的次数减少微内核 微内核构造和发送信息 接受应答并解码所花费时间比进行一次系统调用时间要多一代微内核 300KB代码140个系统调用接口第二代微内核 13KB代码7个系统调用接口 微内核设计 低级存储器管理微内核负责把每个虚页映射到一个物理页帧核外 包括保护一个进程的地址空间免于另一个进程的干涉 页替换算法以及分页逻辑都可以在内核外实现 进程间通信 消息 消息头 消息体 I O和中断管理 识别中断 消息处理硬件中断可如同消息一样来处理微内核将生成一个消息传送给用户层中相关的处理中断的进程内核中并不包含特定设备专有中断处理代码 Windows线程和SMP管理 Windows进程作为对象实现一个可执行的进程可能包含一个或多个线程进程对象和线程对象都具有同步能力 Windows进程和线程对象 内核对象 是由内核实现的一种更原始的对象集合 包括 内核过程对象 异步过程调用对象 延迟过程调用对象 中断对象 电源通知对象 调度程序对象等 执行体对象 事件对象 互斥对象 信号量对象 文件对象 文件映射对象 进程对象 线程对象和管道对象 Windows线程状态 Solaris多线程体系结构 当应用不需要并发运行时 可以利用单线程进程结构 当程序设计时要表示并发而不真正需要多线程并行执行时 可以建立多个ULT 所有ULT对应于一个LWP 由单个内核线程支撑 当应用需要全面并行时 可以建立多个ULT 每个ULT对应于一个LWP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字的形体演变探析
- 社区活动开幕词范本
- 财务科技对传统银行的影响研究
- 金融科技在普惠金融中的应用探讨
- 成功源于勤奋演讲稿
- DB52T 453.6-2004 地产中药材有害生物无害化治理技术规程 玄参
- 军事理论-综合版知到智慧树见面课答案
- 水龙吟苏轼课件
- Ubuntu Linux 22.04系统管理与服务器配置 课件 项目3 软件包管理
- 机电设备安装风机系统设计方案
- 《矿山隐蔽致灾因素普查规范》解读培训
- 新概念第二册单词表(完整版)
- 《商务跨文化交际》课件
- 缺血性心肌病病人护理查房
- 《社保新政策解》课件
- 《基于UG的汽车机加件工时计算及系统开发》
- 房产代理转让合同范例
- GB/T 7247.1-2024激光产品的安全第1部分:设备分类和要求
- 2023银行首届夏日音乐会系列(天籁之音乐动一夏主题)活动策划方案-106正式版
- 校服供货服务方案
- 呼吸机断电的应急演练
评论
0/150
提交评论