第2章进程的描述与控制.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.7 本 章 小 结 本章主要讲述的内容是进程和线程: 进程是操作系统中最重要和最基本的概念,能够完全刻画出操作系统的并发性。 操作系统的基本功能是管理进程。操作系统维护着每个进程的数据结构,进程控制块是进程最重要的数据结构。 对进程控制块的基本内容和组织形式的理解,有利于全面、深入理解和掌握进程概念,理解进程切换需要完成的工作,理解为何需要引入线程。 在本章中首先讲述了进程概念、进程的特征、进程的状态与状态转换以及进程控制,描述进程的前趋图,并详细介绍了UNIX操作系统的进程与进程控制。 在进程基础上,本章的后面部分对线程概念和线程控制、线程的实现方式等内容进行了详细论述,对内核级线程与用户级线程的特点和区别进行了论述。在本章的最后以Solaris系统中的线程作为线程实例讲解。 练 习 2 2.1 什么是进程,在操作系统中为什么要引入进程? 2.2 进程的基本状态有哪些?哪些事件可以引起进程在不同状态之间转换? 2.3 说明引起一个进程创建的主要事件有哪些?创建一个进程需要完成哪些工作? 2.4 说明引起一个进程撤销的主要事件有哪些?撤销一个进程需要完成哪些工作? 2.5 说明引起进程阻塞和唤醒的主要事件有哪些? 2.6 举例说明为什么会产生进程的就绪挂起与阻塞挂起状态? 2.7 什么是进程控制块?进程控制块包含哪些基本信息? 2.8 什么是进程队列?进程队列的组织形式有哪些,各有何特点? 2.9 什么是进程上下文?进程上下文包含的主要内容有哪些? 2.10 进程切换要完成哪些工作? 2.11 什么是线程?线程有何特点? 练 习 2 2.12 挂起状态和线程之间是否有关系? 2.13 线程的实现方式有几种?各有何特点? 2.14 什么是用户级线程?什么是内核级线程?用户级线程与内核级线程有何区别? 2.15 说明进程和线程的区别有哪些? 2.16 说明同一进程中两个线程的切换与不同进程中两个线程切换有何不同? 2.17 说明Solaris系统中轻量进程的作用是什么? 2.18 某系统中进程状态变化如图2.22所示,当对系统中的进程进行观察时,发现某一进程产生的一次状态变化会引起另一进程发生状态变化。 (1)在什么情况下,一个进程的状态变化3能够立即引起另一进程的状态变化1? (2)在什么情况下,一个进程的状态变化2能够立即引起另一进程的状态变化1? (3)进程的状态变化3是否可能引起另一进程的状态变化2?进程的状态变化3是否可能引起另一进程的状态变化1? 2.19 分别写出相应的程序来描述图2.23中的前趋图。 图2.22 状态变化图 图2.23 前趋图 练 习 2 S1 S2 S3 S4 S5 S6 S7 S1 S2 S3 S4 S5 S6 S7 练 习 2(续) 2.20 假设在一个系统中,新进程以每分钟8个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中CPU忙的时间比率。 如果新进程以每分钟10个进程的速率到达,每个进程请求服务的平均时间也为6s,估计在一个单处理器系统中CPU忙的时间比率。 如果新进程创建以每分钟超过10个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中CPU忙得时间比率,并解释此时的情况。 2.21 一个系统中有4个进程,进程P1要求20s后运行,经过40s后再次运行;进程P2要求25s后运行;进程P3要求35s后运行,经过35s后再次运行;进程P4要求60s后运行。进程在阻塞队列等待被唤醒后运行,试创建进程的唤醒队列。 2.22 如果线程是在用户空间线程库中实现,解释为什么当进程中的一个线程阻塞时,进程内的所有其它线程都会阻塞?如果线程是在内核空间中实现,而进程内的一个线程阻塞不会引起进程内的其他线程被阻塞,为什么? * 例如,在Windows系统中进行Word文档编辑时,为了避免突然断电或系统崩溃,每隔一定的时间字处理程序会在磁盘上自动保存整个文件。 如果采用单线程实现该应用,则处理程序存盘时,用户的键盘和鼠标命令就会被忽略,系统性能较差。 如果让键盘和鼠标命令中断磁盘备份,则中断程序设计会很复杂。 如果采用三个线程实现该应用,一个线程用于与用户交互,接收用户的键盘和鼠标操作,一个线程用于处理文档的格式,一个线程用于周期性地写磁盘备份,则这三个线程操作在相同的用户地址空间共享公共数据。访问的是相同的数据,避免了数据的不一致性。 如果采用三个进程代替三个线程,则三个进程在各自的文件上工作,三个进程对应的文件很难保持一致性。 可见,同一进程的多个线程共享进程的资源和地址空间,这是线程的一个非常突出的优势,也是

文档评论(0)

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

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

1亿VIP精品文档

相关文档