利用python进行数据分析_利用实时内核开发嵌入式多任务程序

更新时间:2014-04-14 来源:个人总结

利用python进行数据分析_利用实时内核开发嵌入式多任务程序

摘要:嵌入式系统应用日益复杂化,传统的前台/后台程序开发机制已经不能满足需求,目前更多地采用抢占式实时内核开发嵌入式多任务系统。实时内核为多任务应用程序提供最基本和最重要的服务。本文介绍实时内核和多任务,并提出利用实时内核进行系统开发时,根据系统功能合理构成任务的方法。

    关键词:实时内核 多任务 任务构造 嵌入式系统

随着嵌入式系统的广泛使用,传统的前台/后台程序开发机制已经不能满足日益复杂和多样化的嵌入式应用需求,因而常常采用嵌入式实时操作系统内核(简称实时内核)开发实时多任务程序。嵌入式实时内核提供多任务、任务管理、时间管理、任务间通信和同步、内存管理等重要服务,使嵌入式应用程序容易设计和扩展。内核是管理微处理器或者微控制器时间的软件,确保所有时间关键的事件尽可能高效地得到处理;允许将系统分成多个独立的任务,每个任务处理程序的一部分,从而简化系统的设计过程。

一、非抢占式内核和抢占式内核

实时内核分为两种:非抢占式内核和抢占式内核。这两种内核都由中断服务例程(ISR)处理异步事件。在非抢占式内核中,一个ISR使优先级更高的任务就绪,并不立即将CPU控制权交给优先级高的任务,而是返回到被中断的当前任务。只有当前任务执行某种操作明确放弃CPU时,优先级高的新任务才得到CPU控制权。非抢占式内核对实时事件的响应时间不确定,因而极少在实时应用中使用。图1所示为非抢占式内核程序流程:①低优先级任务(LPT)执行;②低优先级任务被中断;③执行中断服务例程,使高优先级任务(HPT)就绪;(范文先生网www.fwsir.com收集整理)④中断服务例程返回到被中断的低优先级任务;⑤低优先级任务继续执行;⑥低优先级任务放弃CPU;⑦高优先级任务运行。

目前在大多数嵌入式实时多任务系统应用中,对系统实时响应要求很高,因此采用抢占式内核确保时间关键的任务最先执行,使优先级最高的就绪任务总是最先得到CPU控制权。优先级低的当前任务能够被优先级更高的任务抢占,暂时挂起执行,将CPU控制权交给优先级高的任务。图2所示为抢占式内核程序流程:①低优先级任务执行;②异步事件使任务中断;③响应异步事件,运行中断服务例程,使高优先级任务就绪;④中断服务例程返回到高优先级任务;⑤高优先级任务执行,直到它被中断转向执行优先级更高的任务;⑥高优先级任务结束,内核切换到低优先级任务;⑦低优先级任务继续执行。

二、多任务

利用实时内核开发嵌入式多任务系统程序,要根据明确的设计目的确认系统功能,将系统功能合理分解,构造不同的任务,使每个任务负责完成应用要求的一部分功能;并根据任务相对于其他任务的重要性决定其优先级。多个任务彼此独立运行,具有独立的私有堆栈空间,在被其他进程抢占时能够保持任务执行线程的上下文。

1.任务

任务是单线程序列指令形成的一个无限循环,在系统程序中用函数表示(如下)。任务执行时要调用内核提供的服务,以等待某个事件发生。事件可以是定时间,或者是另一个任务、一个中断服务例程发出事件通知。

Void Task (void)

{

While (true) {

Run Application-specific codes;

Wait for event by calling a service provided by the kernel;

Run Application - specific codes;

}

}

2.任务管理

每个任务有5种状态;休眠、就绪、运行、等待、中断。图3所示为任务之间的状态转换。休眠状态的任务驻留在存储器中,还未被内核使用;就绪状态的任务准备执行,优先级低于当前执行的任务,没有得到CPU控制权;任务得到CPU控制权后就处于运行状态;等待事件发生的任务处于等待状态,事件可以是I/O操作完成、利用实时内核开发嵌入式多任务程序

本文来源:https://www.lzjjdc.com/zongjiejihua/18278/

为您推荐

发展对象个人小结

  党员发展对象是指对经过一年以上培养教育和考察、基本具备党员条件的入党积极分子,在听取党小组、培养联系人、党员和群众意见的基础上

2023-08-18 16:22:14  

义务兵个人总结500字范文六篇

总结是事后对某一阶段的工作或某项工作的完成情况,包括取得的成绩、存在的问题及得到的经验和教训加以回顾和分析,为今后的工作提供帮助和借鉴的一种书面材料。以下是小编整理的义务兵个人总结500字范文六篇,仅

2023-08-15 17:57:19   义务兵个人总结5000字   义务兵个人总结500字怎么写  

数控个人总结400字【汇编八篇】

忙碌的工作已经结束。回顾过去的工作,我们收获良多。让我们整理一下过去的工作,写一份工作总结。以下是为大家整理的数控个人总结400字【汇编八篇】,欢迎品鉴!

2023-08-10 20:50:28  

生产部个人总结300字范文(精选七篇)

总结就是把一个时间段取得的成绩、存在的问题及得到的经验和教训进行一次全面系统的总结的书面材料,通过它可以正确认识以往学习和工作中的优缺点,不如我们来制定一份总结吧。以下是小编整理的生产部个人总结300字范文(精选七篇),仅供参考,希望能够帮助到大家。

2023-08-10 20:50:23  

银行信贷员的个人总结(锦集6篇)

信贷是指以偿还和付息为条件的价值运动形式。通常包括银行存款、贷款等信用活动,狭义上仅指银行贷款,广义上同“信用”通用。以下是小编收集整理的银行信贷员的个人总结(锦集6篇),仅供参考,希望能够帮助到大家。

2023-08-10 20:50:18