进程和进程控制线程进程互斥和同步进程间通信死锁问题处理...-课件.ppt

进程和进程控制线程进程互斥和同步进程间通信死锁问题处理...-课件.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 线程的引入 进程:资源分配单位(存储器、文件)和CPU调度(分派)单位。又称为任务(task)” 线程:作为CPU调度单位,而进程只作为其他资源分配单位。 只拥有必不可少的资源,如:线程状态、寄存器上下文和栈 同样具有就绪、阻塞和执行三种基本状态 线程的优点:减小并发执行的时间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发程度。 线程的创建时间比进程短; 线程的终止时间比进程短; 同进程内的线程切换时间比进程短; 由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信; 线程 * 进程与线程的关系 线程 线程的引入 * OS对线程的实现方式 内核维护进程和线程的上下文信息; 线程切换由内核完成; 一个线程发起系统调用而阻塞,不会影响其他线程的运行。 时间片分配给线程,所以多线程的进程获得更多CPU时间。 依赖于OS核心,由内核完成创建和撤销。Windows 支持内核线程; 内核线程(kernel-level thread) 线程 * 用户线程(user-level thread) 用户线程的维护由应用进程完成; 内核不了解用户线程的存在; 用户线程切换不需要内核特权; 用户线程调度算法可针对应用优化; 不依赖于OS核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。如:数据库系统informix,图形处理Aldus PageMaker。调度由应用软件内部进行,通常采用非抢先式和更简单的规则。一个线程发起系统调用而阻塞,则整个进程在等待。时间片分配给进程,多线程则每个线程就慢。 线程 OS对线程的实现方式 * 轻量进程(LightWeight Process) 它是内核支持的用户线程。一个进程可有一个或多个轻量进程,每个轻量进程由一个单独的内核线程来支持。 线程 OS对线程的实现方式 * 进程和线程的比较 地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见 通信:进程间只能使用IPC    线程间可以直接读写进程数据段(如全局变量)来进行通信        也需要同步和互斥手段的辅助,以保证数据的一致性 调度:线程上下文切换比进程上下文切换要快得多; 线程 * 线程切换和进程切换 线程 进程和线程的比较 * Windows 的线程 线程 线程对象 Windows线程由执行体线程块ETHREAD表示,即线程对象,其中包含 内核线程块KTHREAD, 即线程控制块TCB 指向线程环境块TEB的指针 ETHREAD和KTHREAD位于内核空间,TEB位于用户空间 * Windows 的线程状态 线程 Windows 的线程 就绪状态(Ready):进程已获得除处理机外的所需资源,等待执行。 * Windows 的线程状态 线程 Windows 的线程 备用状态(Standby):已选择好处理器,正等待描述表切换.系统中每个处理器上只能有一个处于备用状态的线程。 * Windows 的线程状态 线程 Windows 的线程 运行状态(Running):完成描述表切换,线程进入运行状态,直到内核抢先、时间片用完、线程终止或进入等待状态。 * Windows 的线程状态 线程 Windows 的线程 等待状态(Waiting):线程等待某对象,以同步它的执行。等待结束时,根据优先级进入运行、就绪状态。 * Windows 的线程状态 线程 Windows 的线程 转换状态(Transition):线程在准备执行而其内核堆栈处于外存时,线程进入转换状态;当其内核堆栈调回内存,线程进入就绪状态。 * Windows 的线程状态 线程 Windows 的线程 终止状态(Terminated):线程执行完就进入终止状态。如执行体有一指向线程对象的指针,可将线程对象重新初始化。 * Windows 的线程状态 线程 Windows 的线程 初始化状态(Initialized):线程创建过程中的线程状态; * Windows线程的有关API CreateThread()函数在调用进程的地址空间上创建一个线程,以执行指定的函数;返回值为所创建线程的句柄。 ExitThread()函数用于结束本线程。 SuspendThread()函数用于挂起指定的线程。 ResumeThread()函数递减指定线程的挂起计数,挂起计数为0时,线程恢复执行。 线程 Windows 的线程 * 进程和进程控制 线程 进程互斥和同步 进程间通信 死锁问题 处理器调度 第三章 处理机管理(上) * 进程和进程控制 进程的定义和描述 进程的状态转换 进程控制 Windows的进程管理 * 进程的定义和描述 进程的定义 一个具有一定独立功能的程

文档评论(0)

明若晓溪 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档