2进程及线程课件.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.1 进程的概念 2.1 进程的概念 2.1.2 进程的定义 2.1.2 进程的定义 2.1.3 2.1.3 2.2 进程的管理 2.2.1 进程控制块 2.2.2 进程控制块队列 2.2.2 进程控制块队列 2.2.3 进程控制的系统调用命令 2.2.3 进程控制的系统调用命令 创建原语描述 撤消原语的描述 阻塞进程的描述 procedure Suspend(n, a) /* 挂起指定标识符n的 Begin 进程的进程原语*/ i := GetInternalName(n); /* 参数a是用于保存该 S := i.status; 进程PCB副本的内存区*/ if S=“Running” then stop(i); a := copy PCB(i); if S=“blockeda” then i.status := “blockeds” else i.status := “readys” if S= “Running” then Scheduler else continue; End; procedure active(n) /*n为进程标志符*/ begin i := GetInternalName(n); if i.status=“readys” then i.status := “readya” else i.status := “blockeda”; if i.status = “readya” then scheduler; else continue End; 2.3 线程 2.3.1 线程的概念 2.3 线程 2.3.1 线程的概念 2.3.2 线程的实现 2.3.2 线程的实现 2.3.3 线程与进程的关系 2.3.3 线程与进程的关系 激活原语的描述 1. 引入线程的原因 进程的两个属性 将进程的两个属性拆开来,进程只作为“资源拥有者”,“调度和运行”则赋予线程。这样,CPU的利用率能得到更多的提高,使系统的效率得到更充分地发挥。 . (1)进程是系统资源分配的单位; (2)进程是系统调度运行的单位。 . 资源分配和调度运行彼此间是独立的。为提高进程的并发执行程度,减少系统在进程切换时所花费的开销,就出现了与进程管理相关联的更高级的概念:线程。 . (a) 单进程,单线程 (b) 单进程,多线程 (c) 多进程,每个进程一个线程 (d) 多进程,每个进程多个线程 在引入线程的操作系统中,线程是进程中的实体。 实施CPU分配时,是把CPU分配给进程中可以并发执行的线程。 因此,如果把进程理解为是操作系统在逻辑上需要完成的一个任务,那么线程则是完成该任务时可以并发执行的多个子任务。 进程和线程之间的各种关系: 2. 线程的定义 进程中实施处理机调度和分配的基本单位。 有了线程后,把原先的进程称为“重载进程”,把线程称为“轻载进程”。 (1)由于在进程内的线程共享程序和资源,因此创建线程无需进行资源分配,比创建一个进程要顺利和快捷得多;这也使得撤消线程比撤消一个进程所花费的时间短; . 引入线程的好处 (2)同一进程里线程间的切换是在进程的地址空间里进行,因此比进程间不同地址空间中的切换开销要少得多; (3)进程里的线程可以随时访问该进程拥有的所有资源,无需做任何切换工作; 同一进程中的诸多线程共享内存区域和文件,因此它们之间可以直接进行通信,不必通过系统内核。 返回目录 3. 线程的状态 . 创建:创建一个新进程时,同时就为该进程建立一个主线程,它可以再创建其他线程,新线程被排在就绪队列中。 . 阻塞:当线程等待一个事件时,它将被阻塞,CPU转而去执行另一个就绪线程。线程阻塞引起的是同进程中线程间的调度和CPU分配;进程的阻塞引起的是不同进程间的重新调度和CPU分配。 . 唤醒:当线程等待的事件发生时,该线程由阻塞转为就绪,插入到就绪队列中。 返回目录 1. 用户级线程方法      用户级线程:若有关线程的管理工作都是由运行在用户空间的应用程序完成。 这时,用户程序被创建成为一个由内核管理的进程,与这个进程相对应的线程则在用户空

文档评论(0)

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

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

1亿VIP精品文档

相关文档