网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式系统应用-Chapter14-嵌入式操作系统之任务管理调度.ppt

嵌入式系统应用-Chapter14-嵌入式操作系统之任务管理调度.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统应用-Chapter14-嵌入式操作系统之任务管理调度

嵌入式系统及应用 主要内容 任务 任务管理 任务调度 采用多任务的好处: 任务的规模较小 每个任务更容易编码和调试,其质量也更容易得到保证 不少应用本身就是由多个任务构成的 如一个应用可能需要进行以下任务的处理:计算、从网络获取数据和刷新显示屏幕 采用多任务的处理方式是应用问题的一个非常自然的解决方式 任务之间具有较高的独立性,耦合性小 通过增加新的任务就能方便的扩充系统功能 实时性强 保证紧急事件得到优先处理成为可能 在嵌入式实时系统中 任务(task)通常为进程(process)和线程(thread)的统称 任务是调度的基本单位 进程最初由Multics的设计者在60年代提出来的,主要包括以下内容: 一个正在执行的程序; 计算机中正在运行的程序的一个实例; 可以分配给处理器,并由处理器执行的一个实体; 由一个顺序的执行线程、一个当前状态和一组相关的系统资源所刻画的活动单元。 进程由代码、数据、堆栈和进程控制块构成。 进程控制块包含了操作系统用来控制进程所需要的信息: 进程状态 CPU寄存器 调度信息 内存管理信息 I/O状态信息等 早期的进程,包含了以下两个方面的内容: 资源。进程是资源分配的基本单位,一个进程包括一个保存进程映像的虚拟地址空间、主存、I/O设备和文件等资源。 调度执行。进程作为操作系统的调度实体,是调度的基本单位。 随着操作系统的发展,进程所包含的两个方面的内容逐渐被分开: 轻量级进程或线程:调度执行的单位 进程:资源分配的单位 线程是进程内部一个相对独立的控制流,由线程上下文和需要执行的一段程序指令构成 在进程中,所有线程共享该进程的状态和资源,可以访问相同的数据 使用线程的优势: 创建:在一个已有进程中创建一个新线程比创建一个全新的进程所需的时间开销少; 终止:终止一个线程比终止一个进程所花费的时间少; 切换:线程切换比进程切换所花费的时间少; 通信:使同一进程内部不同线程之间的通信效率得到显著提高。 在大多数操作系统中,不同进程之间的通信需要内核的干预,而同一进程内部不同线程之间则可直接通信。 引入线程的概念后,可把进程和线程的使用分为以下几种模型: 单进程/单线程模型(如MS-DOS):整个系统只有一个进程、一个线程 单进程/多线程模型:在单进程/多线程模型中,整个系统有一个进程、多个线程 多进程/单线程模型(如传统的UNIX):在多进程/单线程模型中,整个系统有多个进程,每个进程只有一个线程 多进程/多线程模型(如Windows NT、Solaris、Mach等):在多进程/多线程模型中,系统有多个进程,每个进程又可包含多个线程 大多数嵌入式实时内核:单进程/多线程模型,或简单地称为任务模型 把整个应用当作一个没有定义的进程来对待; 应用则被划分为多个任务的形式来进行处理。 适用于实时性要求较高的、相对简单的应用 也有一些嵌入式实时操作系统采用了多进程/多线程模型: 系统中包含多个进程,每个进程对应又包含多个线程 适合于处理复杂的应用 第一节 任 务 任务的定义及其主要特性 任务是一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位,具有以下特性: 动态性:任务状态是不断变化的。 一般分为就绪态、运行态和等待态。 在多任务系统中,任务的状态将随着系统的需要不断进行变化。 并行性: 系统中同时存在多个任务,这些任务在宏观上是同时运行的。 异步独立性: 每个任务各自按相互独立的不可预知的速度运行,走走停停。 任务的内容 任务主要包含以下内容: 代码:一段可执行的程序 数据:程序所需要的相关数据(变量、工作空间、缓冲区等) 堆栈 程序执行的上下文环境 任务通常包含一个具有无限循环的程序 任务的内容 任务与程序的区别: 任务能真实地描述工作内容的并发性,而程序不能; 程序是任务的组成部分 除程序外,任务还包括数据、堆栈及其上下文环境等内容; 程序是静态的,任务是动态的; 任务有生命周期,有诞生、有消亡,是短暂的;而程序是相对长久的; 一个程序可对应多个任务,反之亦然; 任务具有创建其他任务的功能,而程序没有。 任务上下文环境(context) 包括了实时内核管理任务、以及处理器执行任务所需要的所有信息。 任务优先级 任务的状态等实时内核所需要的信息 以及处理器的各种寄存器的内容(hardware context):程序计数器、堆栈指针、通用寄存器等的内容 任务的上下文环境通过任务控制块(Task Control Block,TCB)来体现。 任务参数 任务参数: 优先级(priority) 周期(period) 计算时间(computation time) 就绪时间(ready time) 截止时间(deadline) 任务的优先级 表示任务对应工作内容

文档评论(0)

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

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

1亿VIP精品文档

相关文档