操作系统课件(第3章).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 小练习 * * 小练习 作业:某多道程序设计系统供用户使用的主存为100K,磁带机2台,打印机1台。采用可变分区内存管理,采用静态方式分配外围设备,忽略用户作业I/O时间。现有作业序列如下: 作业号进入输入井时间运行时间主存需求量 磁带需求打印机需求18:0025分钟15K1128:2010分钟30K0138:2020分钟60K1048:3020分钟20K1058:3515分钟10K11作业调度采用FCFS策略,优先分配主存低地址区且不准移动已在主存的作业,在主存中的各作业平分CPU时间。现求:1作业被调度的先后次序2全部作业运行结束的时间3作业平均周转时间为多少4最大作业周转时间为多少? * * * * 3.9 线程及其概念 1)联系与区别 ④ 进程切换时涉及到有关资源指针的保存以及地址空间的变化等问题;线程切换时,由于同一进程内的线程共享资源和地址空间,将不涉及资源信息的保存和地址变化问题。而且,进程的调度与切换都是由操作系统内核完成,而线程则既可由操作系统内核完成,也可由用户程序进行。 * * 3.9 线程及其概念 1)联系与区别 ⑤ 进程间的关系比较疏远。各个进程是在自己独有的地址空间内执行,不但寄存器和堆栈是独有的,动态数据堆、静态数据区和程序代码也相互独立。而线程间的关系则要紧密得多,虽然各线程为保持自己的控制流而独有寄存器和堆栈,但由于两线程从属于同一进程,它们共享同一地址空间,所以动态堆、静态数据区及程序代码为各线程共享。 * * 3.9 线程及其概念 ① 快速的关联切换进程调度时,系统必须交换地址空间,因而进程切换时间长。在同一程序内的多个线程共享同一地址空间,因而能使线程快速切换。 ② 系统额外开销小对多个进程的管理(创建、调度等)有比较大的系统开销。在需要动态创建新进程的应用中,这种开销比较显著。而线程的系统开销比进程的小得多 * * 3.9 线程及其概念 ③ 通信很容易实现进程或线程之间需要进行数据交换。对于自动共享同一地址空间的各线程来说,所有的全局数据都可以访问,因而不需要什么特殊手段就能自动实现数据共享。而进程之间的通信则要复杂得多。 ④ 线程个数比进程个数多得多许多多任务操作系统限制用户进程总数,这对许多并发应用来说远远不够。在多线程系统中,虽存在线程总数限额,但个数多得多。 * * 3.9 线程及其概念 1) 用户级线程 用户级线程是在没有操作系统内核的支持下,完全在用户级提供一个库程序来实现多线程。这些库提供了创建、同步、调度与管理线程的所有功能,无需操作系统特别支持。 由于对线程的所有操作都不涉及内核,因此,用户级线程的创建、结束、调度、现场保护与切换开销非常少。 与线程相关的控制结构TCB保存在目态空间并由运行系统维护,线程对操作系统不可见,系统调度仍以进程为单位。 * * 3.9 线程及其概念 1) 用户级线程 * * 3.9 线程及其概念 1) 用户级线程 用户级线程的优点在于: ① 线程不依赖于操作系统,可以采用与问题相关的调度策略,灵活性好; ② 同一进程中的线程切换不需进入操作系统,因而实现效率较高。 用户级线程的缺点在于: ① 同一进程中的多个线程不能真正并行; ② 由于线程对操作系统不可见,调度在进程级别,若某进程中的一个线程通过系统调用进入操作系统受阻,该进程的其他线程也不能运行。 * * 3.9 线程及其概念 2) 核心级线程 核心级线程是由操作系统支持实现的线程,操作系统维护核心级线程的各种管理表格,负责线程在处理机上的调度和切换,线程是CPU调度的基本单位。 操作系统提供了一系列系统调用界面,让用户程序请求操作系统进行线程创建、结束、同步等操作。 * * 3.9 线程及其概念 2) 核心级线程 * * 3.9 线程及其概念 2) 核心级线程核心级线程的优点是并发性好,在多CPU环境中同一进程中的多个线程可以真正并行执行。缺点是线程控制和状态转换需要进入操作系统完成,系统开销比较大 * * 3.9 线程及其概念 3) 混合级线程 用户利用多线程库提供的并行程序设计界面编写用户并行程序,可以根据用户应用并行度的需要产生足够的用户级线程。 核心级线程的操作系统调用界面只提供给多线库使用,用户可以完全不知多线程库使用了几个核心级线程,也可以通过多线库的接口申请更多的核心级线程。 所有核心级线程都由多线程库管理使用,由多线库选择用户级线程在哪一个核心级线程上运行。 * * 3.9 线程及其概念 3) 混合级线程 * * 第三章 进程管理与调度 3.1 中央处理器3.8 低级调度 3.2 中断3.9 线程及其概念 3.3 进程及其实现 3.10 Linux进程管理 3.4

文档评论(0)

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

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

1亿VIP精品文档

相关文档