任务的定义及其主要特性: 任务是一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位,具有以下特性:1动态性:
任务状态是不断变化的。一般分为就绪态、运行态和等待态。在多任务系统中,任务的状态将随着系统的需要不断进行变化。
2并行性:系统中同时存在多个任务,这些任务在宏观上是同时运行的。3异步独立性:
每个任务各自按相互独立的不可预知的速度运行,走走停停。
任务的内容: **:一段可执行的程序;数据:程序所需要的相关数据(变量、工作空间、缓冲区等);堆栈;程序执行的上下文环境。
任务通常包含一个具有无限循环的程序
任务与程序的区别: 1任务能真实地描述工作内容的并发性,而程序不能;2程序是任务的组成部分3除程序外,任务还包括数据、堆栈及其上下文环境等内容;4程序是静态的,任务是动态的;5任务有生命周期,有诞生、有消亡,是短暂的;而程序是相对长久的;6一个程序可对应多个任务,反之亦然;7任务具有创建其他任务的功能,而程序没有。
任务的分类: 按照到达情况的可**性,任务可以划分为:1周期任务(periodic task)2非周期任务;按照重要程度,可分为:
1关键任务(critical task)2非关键任务(noncritical task
任务参数:1优先级(priority) 2周期(period) 3计算时间(computation time) 4就绪时间(ready time) 5截止时间(deadline)
任务管理:3个状态: 等待(waiting):任务在等待某个事件的发生;
就绪(ready): 任务等待获得处理器资源;
执行(running):任务获得处理器资源,所包含的**内容正在被执行。
任务控制块: 任务管理是通过对任务控制块(task control block,tcb)的操作来实现的。
任务控制块是包含任务相关信息的数据结构。
包含了任务执行过程中所需要的所有信息。
任务控制块大都包括以下信息:1任务的名字2任务执行的起始地址3任务的优先级4任务的状态5任务的硬件上下文(堆栈指针、pc和寄存器等)6任务的队列指针等内容
任务切换: 任务切换(context switching):保存当前任务的上下文,并恢复需要执行的任务的上下文的过程。
当发生任务切换时:1当前正在运行的任务的上下文就需要通过该任务的任务控制块保存起来;2把需要投入运行的任务的上下文从对应的任务控制块中恢复出来。
任务切换基本步骤: 1 保存任务上下文环境2 更新当前运行任务的控制块内容,将其状态改为就绪或等待状态3 将任务控制块移到相应队列(就绪队列或等待队列)4 选择另一个任务进行执行(调度)5 改变需投入运行任务的控制块内容,将其状态变为运行状态6 恢复需投入运行任务的上下文环境。
任务管理机制: 任务管理用来实现对任务状态的直接控制和访问。
内核的任务管理是通过系统调用来体现,主要包括任务创建、任务删除、任务挂起、任务唤醒、设置任务属性等内容。
任务管理功能:1 创建任务2删除任务3挂起任务4唤醒任务5设置任务属性6改变任务优先级7获取任务信息。
任务调度: 设计调度程序时,通常需要综合考虑如下因素:1cpu的使用率(cpu utilization)2输入/输出设备的吞吐率3响应时间(responsive time)4公平性5截止时间。
调度方法划分: 1离线(off-line)和**(on-line)调度2抢占(preemptive)和非抢占(non-preemptive)调度3静态(static)和动态(dynamic)调度4最佳(optimal)和试探性(heuristic)调度。
抢占式调度和非抢占式调度:任务在运行过程中能否被打断的处理情况。
抢占式调度:正在运行的任务可能被其他任务所打断。
非抢占式调度:一旦任务开始运行,该任务只有在运行完成而主动放弃cpu资源,或是因为等待其他资源被阻塞的情况下才会停止运行。
时间管理功能: 1维持日历时间; 2任务有限等待的计时; 3软定时器的定时管理; 4维持系统时间片轮转调度。
通常来说,实时内核提供以下主要与时间相关的管理: 1维持相对时间(时间单位为tick)和日历时间;2任务有限等待的计时;3定时功能;4时间片轮转调度的计时。
时间管理功能是通过tick处理程序来实现的。
嵌入式ARM嵌入式系统设计
摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...
嵌入式系统
期末作业考核。满分100分。一 判断题 每题3分,共30分 1.嵌入式系统中的软件系统主要由嵌入式操作系统和应用软件组成,其中嵌入式微处理器属于嵌入式软件系统的核心。答 错。2.运行在智能手机或平板电脑中的android系统是一种嵌入式操作系统。答 对。3.windriver公司所提供的软件开发包是...
嵌入式系统
关于嵌入式系统 献给热爱此道的初学者们前言。网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易 一 嵌入式系统的概念。着重理解 嵌入 的概念。主要从三个方面上来理解。1 从硬件上,将基于cpu的处围器件,整合到cpu芯片内部,...