网站大量收购独家精品文档,联系QQ:2885784924

第2章进程同步机制169.ppt

  1. 1、本文档共122页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统 一、线程的基本概念(线程的定义) 线程的定义 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程基本上自己不拥有系统资源,只拥有少部分在运行中必不可少的资源,但它可与同属一个进程中的其它线程共享进程所拥有的全部资源。 计算机操作系统 一、线程的基本概念(线程的定义) 一个线程可以创建和撤消另一个线程 同一个进程中的多个线程可以并发地执行 当一个线程改变了存储器中的一个数据项时,在其它线程访问这一项时它们能够看到变化后的结果 如果一个线程为读操作打开一个文件时,同一个进程中的其它线程也能够从该文件中读。 计算机操作系统 一、线程的基本概念(线程的属性) 线程的属性 线程是轻型实体。基本上不拥有系统资源,只有一点必不可少的、能保证独立运行的资源。 线程是独立调度和分派的基本单位。 可并发执行。一个进程中的多个线程可并发执行;不同进程中的线程也能并发执行。 共享进程资源。同一进程中的各个线程,都可以共享该进程所拥有的资源。 计算机操作系统 进程 线程 引入 目的 并发性 基本属性 (调度) 基本状态 拥有资源 系统开销 系统操作 存在标志 关系 能并发执行,提高资源的利用率和系统吞吐量. 提高并发执行的程度,进一步提高资源的利用率和系统吞吐量. 较低 较高 资源拥有的基本单位—进程 独立调度/分派的基本单位—进程 资源拥有的基本单位—进程 独立调度/分派的基本单位—线程 就绪; 执行;等待 就绪;执行;等待 资源拥有的基本单位—进程 资源拥有的基本单位—进程 创建/撤消/切换时空开销较大 创建/撤消/切换时空开销较小 创建,撤消,切换 创建,撤消,切换 进程控制块PCB 进程控制块PCB,线程控制块TCB 单进程单线程;单进程多线程;多进程单线程;多进程多线程 计算机操作系统 一、线程的基本概念(线程和进程的比较) Data Process Stack Program Operating System Thread Thread Thread Stack … Stack Process is an infrastructure in which execution takes place ? (address space + resources) Thread is a program in execution within a process context – each thread has its own stack 计算机操作系统 一、线程的基本概念(线程和进程的比较) 计算机操作系统 二、多线程(1) 指OS支持在一个进程中执行多个线程的能力 传统的每个进程中只有一个线程在执行 MS-DOS是支持单用户进程和单线程的OS UNIX支持多用户进程,但只支持每个进程一个线程(即多进程单线程) 单进程多线程的例子:Java运行环境 多进程多线程的例子:Windows 2000 计算机操作系统 二、多线程(2) 多线程OS中进程的属性 作为系统资源分配的单位 可包括多个线程。至少包括一个线程,这些线程可并发执行。OS中的所有线程都只能属于某一个特定的进程 进程不是一个可执行的实体,线程是作为独立运行的基本单位 计算机操作系统 三、线程间的同步(1) 互斥锁 比较简单的、用于实现线程间对资源互斥访问的机制 条件变量 为避免互斥锁造成的死锁问题,在创建互斥锁时就联系着一个条件变量 单纯的互斥锁用于短期锁定,用来保证互斥进入CS 条件变量用于线程的长期等待,直到所等资源可用 计算机操作系统 三、线程间的同步(2) 信号量机制 私用信号量(属于特定的进程所有,OS不知其存在) 公用信号量(系统信号量) 多读、单写锁 计算机操作系统 四、线程的实现方式(1) 内核支持线程(KST-KernelSupported Threads) 如Macintosh和OS/2操作系统 用户级线程(ULT-UserLevelThreads) 如一些数据库管理系统(如Infomix) 组合方式 把ULT和KST两种方式进行组合,提供了组合方式ULT/KST线程 如Solaris操作系统 计算机操作系统 内核支持线程KST 用户级线程ULT 管理 由操作系统内核进行管理。 全部由用户程序完成,操作系统内核只对进程进行管理 调度单位 线程 进程 切换速度 由内核完成,速度较慢 同一进程各线程间切换无需内核支持,速度较快 系统调用行为 内核只看作该线程的行为 内核看作是整个用户进程的行为 阻塞 线程 用户进程 优点 对多处理器,可同时调度同一进程的多个线程,速度较快;阻塞是在线程一级 线程切换不调用内核,切换速度较快;调度算法可由应用程序定 缺点 同一进程内的线程切换速度慢 阻塞在用户进程一级 四、线

文档评论(0)

peain + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档