计算机操作系统 许曰滨版 第三节.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 宽松型的实时任务调度 宽松型实时任务要求的响应时间比较长,一般可达数百毫秒,甚至数秒钟。比如信息查询系统就属于此类任务。由于这类任务的要求差异很大,通常又有很多不同的处理。常见的算法有: (1)非抢占的HPF调度算法 (2)RR算法 此类任务既可以进入批处理系统按上面说的高优先级算法进行调度,也可以作为交互型的任务,通过终端提交给系统。按时间片实行RR调度 * 3.5.2 周期性任务调度 在一些信号检测和过程控制系统中,有许多任务呈现周期性的运行规律。比如,气象信息检测中每隔2小时要读取一次数据,我们将这类任务称为周期性任务。 一个周期任务A第i次运行前的剩余时间FA(i)的计算公式是: 式中,TA为任务A的周期长度;TSA为任务A的每次执行时间长度;t为系统的当前时间。 FA(i)越小,说明任务的截止时间离当前时间越近,就越迫切。系统可以按照最小FA(i)者优先原则进行调度,相应的算法称为SRT(最小剩余时间)调度算法。 * 下面来看一个例子。周期任务A的周期长度为50ms,执行时间为10ms/次,松弛时间为40ms。任务B的周期长度为80ms,执行时间为20ms/次,松弛时间为60ms。 * 两个周期任务的调度结果 周期任务的调度定理 对于单机系统中接收的n(n0)个周期任务,每个任务的周期长度为Ti,执行时间为Tsi。只有当下式成立时,系统有望实现调度: 该定理明,在只有1台处理机的系统中,所有任务的运行时间与滞留时间之比的总和不能大于等于1。推而广之,在包含N台处理机的系统中,所有任务的这种比例之和不能大于等于N。 3.6 线程(Thread) 3.1.1 为什么引入线程 在现代操作系统中,进程是一种庞大的结构型实体。其PCB结构包含的内容相当多。每当创建一个进程,系统无论在时间上或空间上都要花费较大开支。在管理和维护这些进程时,系统花费也不可忽视。另外,从运行角度看,当父进程将其子进程唤醒后,希望其子进程能立即运行,以完成交给的任务。而系统未必立即调度它,因为调度中采用的算法是从全局考虑的。这就使得进程对其子进程的运行完全不可预知。 为此,提出了“轻量级进程(Lightweight Process)”的概念。这就是线程。 在支持多线程的操作系统中,线程被定义为调度运行的基本单位,而进程仅仅是资源分配和占有的实体。 图3-16是P.Kron于1990年给出一个在OS/2中用线程实现编辑排版的例子。该例中,服务线程完成初始化工作并负责自动流程控制。事件处理线程是一个事件响应程序,用户的鼠标移动或者键盘打字信号,都会激活它。屏幕重画线程需要保存原屏幕和用户新定义的屏幕。 * 线程具有以下几个优点 提高运行效率和并发性。减少等待时间,加快响应时间,并使编程简化。 可以取消进程级的中断。让线程来处理中断,而不是直接中断一个进程。 线程的创建、终止、切换比进程的花费小。大部分情况下,前者的花费仅为后者的十分之一。 线程之间进行通信的操作更简单易行。 * 线程:多线程环境中的一个进程及其3个线程的模式。 线程有两种不同的类型:内核级线程(KLT)和应用级线程(ULT)。 3.6.3 内核级线程 采用内核级线程技术的好处是: ?? 内核级线程调度可以针对“对称多处理”(SMP,Symmetric Multiprocessing)结构,将同一个进程的多个线程同时调度到多台CPU上去并行运算。 内核级线程的管理和控制耗时较小。据T.Anderson等人1992年在单处理机VAX上运行Like-UNIX的测试结果,内核级线程的耗时平均比进程的低一到两个数量级(当然,它比用户级线程要高一个数量级)。 ??当一个线程执行了一个系统调度后被阻塞起来,同一进程中的其它线程仍会照常运行(这一点,在用户级线程中是做不到的)。 3.6.4 用户级线程 采用用户级线程的好处是: ?? 管理线程的数据结构都在用户地址空间中,线程的切换不需要内核访问特权。从而减少了在两种模式之间切换的开销。 ??? 各个应用程序可采用适合自己的专用线程调度算法,比如有的可能采用高优先级调度,而有的可能是简单的循环调度。这些算法仅适应应用程序而不会对内核中的进程调度产生影响。 ??? 用户级线程可以在各种操作系统中运行,只要装有一个可共享的应用级上的实用程序库——线程库就可以了。 本章结束 * * 6部分 * * M=M1*M2,M1内参数矩阵,M2外参数矩阵 * 根据P点的世界坐标系坐标(Xw,Yw,Zw)与象点p图象象素坐标(u,v)之间的关系,由得出的Z值,我们就可以计算得到P点的实际(X,Y,Z)3D坐标值 * 根据P点的世界坐标系坐标(Xw

文档评论(0)

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

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

1亿VIP精品文档

相关文档