线程对称多处理和微内核.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线程对称多处理和微内核

第3章 线程、对称多处理和微内核 中山大学计算机科学系 陈国明 博士 进程和线程 进程的概念 资源分配的单位 调度/执行的单位 解决进程切换开销大、提高并发程度 线程:一个进程内的基本调度单位 线程和进程的主要区别: 1 进程是资源管理基本单位 2 线程是处理机调度的基本单位(共享进程资源、自己没有资源) 3 进程切换涉及资源转移及现场保护,时间长 4 线程切换不发生资源变化、切换(线程上下文)时间短 5 线程没有单独的数据和程序空间,不能交换到外存 6 进程调度大多由操作系统内核完成,线程控制可以由操作系统内核进行,也可由用户控制 7 线程通信效率高:在同一进程内,无需调用内核,可利用共享的存储空间 线程 执行状态(运行、就绪等) 保存的线程上下文(非运行时) 一个执行栈 独立的用来存储局部变量的静态存储器 对进程的存储器和其他资源的访问,与进程的其他线程共享这些资源 一个独立的程序指令计数器 进程与线程的关系 单线程和多线程的进程模型 线程应用实例 文件服务器 每个新文件请求到达,为文件管理器产生一个新线程 多线程在多处理器上性能更优 单用户多处理系统中线程使用 前台和后台操作(显示读取输入、执行命令更新) 异步处理(周期性备份、缓冲区写磁盘) 加速执行(多处理器多线程) 模块化程序结构 进程挂起-线程挂起 进程终止-线程终止 线程的实现 用户级线程(User-level Threads, ULT):POSIX的P-threads、Java的线程库 内核级线程(Kernel-level Threads, KLT):Windows2000/XP 、OS/2和Mach C-thread 组合的方法( Combined Approaches ):Solaris SUN 最初在Solaris 操作系统上实现的虚拟机采用的是用户级的线程库, 以后改用内核线程和用户线程相结合的方式; Linux 系统上的虚拟机kaffe采用的是纯用户级的线程; Krall等人在为DEC Unix平台设计64 位Java 虚拟机时, 采用的也是用户级的线程. 特点: 应用程序和线程被分配给内核管理的进程。 线程创建:线程库派生 控制权传递:过程调用 线程上下文的保存:用户寄存器、PC、栈指针 内核无法知晓用户空间的活动 Java语言的用户级线程机制 用户级线程代替内核级线程优点 线程切换不需要模式切换 调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度程序 不需要对底层内核进行修改以支持ULT 用户级线程代替内核级线程缺点 (系统调用)线程阻塞导致进程中所有线程阻塞 一个多线程应用程序不能利用多处理技术 一次进程中只有一个线程可以执行 优点: 线程阻塞不会导致进程阻塞 可以利用多处理器技术 内核例程本身也可以使用多线程 线程管理使用API函数 缺点: 线程切换需要访问模式 效率比用户级线程低(应用程序性质) 其他方案 线程:进程 描述 示例 1:1 每个线程是一个进程 Unix M:1 进程中创建多个线程 windows Solaris、linux、os/2 1:M 线程在进程中迁移 Ra、Emerald M:N 综合M:1和1:M TRIX 进程和线程的比较 ①地址空间资源:不同进程的地址空间是相互独立的,而同一进程的各线程共享同一地址空间。一个进程中的线程在另一个进程中是不可见的。 ②通信关系:进程间通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程间可以通过直接读写进程数据段(如全局变量)来进行通信。 ③调度切换:同一进程中的线程上下文切换比进程上下文切换要快得多。 使用单线程的RPC 每个服务器使用 一个线程的RPC(单处理器) 单处理器上的多线程 对称多处理 分布式系统,每个CPU 都拥有自己的高速缓存、RAM、磁盘、图形子系统、声卡、监视器等,它们是一组普通的计算机,可能具有完全不同的体系结构,但都共同工作在某个网络之上。 SMP ,系统所有的CPU 都是相同的,且在一个计算机里,它们通过特殊用途的硬件通信,系统除了CPU 以外,每样东西只有一个—一块图形卡、一个声卡等等之类,诸如RAM和磁盘及类似的资源为系统的CPU 所共享 引入:进程演化线程目的 核心级线程—并发使用处理器资源—满足SMP 主从结构缺点: 内核在某个特定处理器上运行 主处理器失败导致整个系统失败 主处理器单独完成所有调度和进程管理(瓶颈) 对称多处理: 内核可运行在任一处理器上 每个处理器可从可

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档