1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的软实时则只要按照任务的优先级,尽可能快地完成操作即可。
我们通常使用的操作系统在经过定改变之后就可以变成实时操作系统。
实时操作系统是保证了在定时间限制内完成特定的功能。
例如,在个生产线上可以为确保生产线上的机器人能获取个物体而设计个操作系统。
在硬实时操作系统中,如果不能在允许时间内完成使物体可获得的计算,操作系统将因而结束。
但是在软实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。
这就是软实时与硬实时的主要区别。
洛阳理工学院毕业设计论文前后台系统的比较从以上二者的工作原理及其优缺点可知实时性要明显高于传统意义是的前后台操作系统,并且实时操作系统的具有多种时间同步机制。
为各个任务之间的通信和同步都带了极大的方便。
同时也使程序的设计显得更为方便和容易。
当然实时操作系统比前后台操作系统要占用更多的内存。
所以要为实时操作系统预留部分的内存空间。
这也是使用实时操作系统进行开发设计首先考虑的。
对于前后台系统而言,在实时操作系统里我们可以使用信号量简单的实现两个任务的同步,并且利用邮箱机制可以很容易实现任务之间的信息的安全实时的传递而在传统的前后台任务中我们就需要考虑各个子模块之间的有效通信的细节问题,考虑各个任务执行的时间会不会影响要求具有高实时任务的运行,必要的时候还可能用到多个中断来提高任务的实时性,并对各个模块进行有效的组织和安排才能达到设计要求。
相反,在实时操作系统中我们只需要处理好各个任务的子模块,然后只需要将各个任务划分为不同的优先级就能保证工作在高优先级的任务具有更高的实时性。
另外,实时操作系统如提供了内存管理及其事件标志管理功能,这样我们就可以很方便的通过的几个函数简单向里面传递几个参数很容易的实现多个事件的同步和复杂的内存操作与管理,所有的这些都简化了应用程序的设计,缩短了工程项目的开发时间,同时也提高了工作效率。
最重要的是基于程序设计也使整个系统实时性和可靠性得到了明显的提高。
从长远意义上来讲,嵌入式系统的软件开发过程已经日趋工程化,要求产品进入市场时间不断缩短,也迫使管理人员寻找种有利于程序继承性标准化多人并行开发的管理开发模式。
出现和推广能够带来嵌入式系统软件工业更有效更专业化的分工,减少社会重复劳动提高劳动生产率,这些也是嵌入式系统今后发展的必然趋势。
所以实时操作系统的发展对嵌入式软件编程具有重大的意义。
洛阳理工学院毕业设计论文论及总结谈到这里,相信对于选用理由也明朗了,接下来的工作才有了在现实中进行应用的意义。
我们在进行嵌入式开发设计时首先需要选择个开发平台,结合上述两种平台的对比分析,我们选用作系统,那么我们接下来就要考虑到作系统的移植问题了,所以在下面几章里将详细介绍了将植到核的处理器。
有了这样个平台为基础我们就可以进行应用程序的设计了。
洛阳理工学院毕业设计论文第章时操作系统概述发展史前身是早出自于年美国嵌入式系统专家嵌入式系统编程杂志的月和月刊上刊登的文章连载,并把源码发布在该杂志的上。
是专门为计算机的嵌入式应用设计的,绝大部分代码是用语言编写的。
与件相关部分是用汇编语言编写的总量约行的汇编语言部分被压缩到最低限度,为的是便于移植到任何种其它的。
用户只要有标准的交叉编译器,有汇编器连接器等软件工具,就可以将人到开发的产品中。
有执行效率高占用空间小实时性能优良和可扩展性强等特点,最小内核可编译至现在经移植到超过多种微处理器上,并通过美国航空航天管理局检测,可以用于极度苛刻环境中。
源代码的形式发布,但并不意味着它是免费软件。
你可以将其用于教学和私下研究但是如果你将其用于商业用途,那么你必须通过得商用许可。
介种可移植的,可植入,可裁剪的,抢占式的,实时多任务操作系统内核。
严格地说是个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。
没有提供输入输出管理,文件系统,网络等额外的服务。
但由于好的可扩展性和源码开放,这些非必须的功能,完全可以由用户自己,根据需要分别实现。
最多可以支持个任务,分别对应优先级,其中为最高优先级。
为最低优先级,系统保留了个最高优先级的任务和个最低优先级的任务,所以用户可以使用的任务数有个。
洛阳理工学院毕业设计论文供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。
系统初始化时会自动产生两个任务个是空闲任务,它的优先级最低,该任务仅给个整形变量做累加运算另个式系统编程杂志的月和月刊上刊登的文章连载,并把源码发布在该杂志的上。
是专门为计算机的嵌入式应用设计的,绝大部分代码是用语言编写的。
与件相关部分是用汇编语言编写的总量约行的汇编语言部分被压缩到最低限度,为的是便于移植到任何种其它的。
用户只要有标准的交叉编译器,有汇编器连接器等软件工具,就可以将人到开发的产品中。
有执行效率高占用空间小实时性能优良和可扩展性强等特点,最小内核可编译至现在经移植到超过多种微处理器上,并通过美国航空航天管理局检测,可以用于极度苛刻环境中。
源代码的形式发布,但并不意味着它是免费软件。
你可以将其用于教学和私下研究但是如果你将其用于商业用途,那么你必须通过得商用许可。
介种可移植的,可植入,可裁剪的,抢占式的,实时多任务操作系统内核。
严格地说是个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。
没有提供输入输出管理,文件系统,网络等额外的服务。
但由于好的可扩展性和源码开放,这些非必须的功能,完全可以由用户自己,根据需要分别实现。
最多可以支持个任务,分别对应优先级,其中为最高优先级。
为最低优先级,系统保留了个最高优先级的任务和个最低优先级的任务,所以用户可以使用的任务数有个。
洛阳理工学院毕业设计论文供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。
系统初始化时会自动产生两个任务个是空闲任务,它的优先级最低,该任务仅给个整形变量做累加运算另个是系统任务,它的优先级为次低,该任务负责统计当前利用率。
时间管理是通过定时中断来实现的,该定时中断般为毫秒或毫秒发生次,时间频率取决于用户对硬件系统的定时器编程来实现。
中断发生的时间间隔是固定不变的,该中断也成为个时钟节拍。
求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数,例如中断级的任务切换函数,系统时间函数。
内存方面,在中是使用个函数来动态分配和释放内存。
但在嵌入式实时系统中,多次这样的操作会导致内存碎片,且由于内存管理算法的原因,执行时间也是不确定。
把连续的大块内存按分区管理。
每个分区中包含整数个大小相同的内存块,但不同分区之间的内存快大小可以不同。
用户需要动态分配内存时,系统选择个适当的分区,按块来分配内存。
释放内存时将该块放回它以前所属的分区,这样能有效解决碎片问题,同时执行时间也是固定的。
本次设计没有设计到内存的管理,所以这部分就只做简单的介绍。
通信方面,对个多任务的操作系统来说,任务间的通信和同步是必不可少的。
提供了种同步对象,分别是信号量,邮箱,消息队列和事件。
所有这些同步对象都有创建,等待,发送,查询的接口服务函数用于实现进程间的通信和同步。
内核调度部分,用的是可剥夺型实时多任务内核。
可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。
任务调度是完全基于任务优先级的抢占式调度,也就是最高优先级的任务旦处于就绪状态,则立即抢占正在运行的低优先级任务,获取使用权。
为了简化系统设计,定所有任务的优先级不同,因为任务的优先级也同时唯标志了该任务本身。
洛阳理工学院毕业设计论文第章时操作系统简要深入分析码结构图象的列出了核代码的分布。
图核文件结构整个内核代码从上至下,共分为三部分除去标号方框,这部分是用户的应用程序,。
标号方框内是主要用来配置系统和裁剪系统的大小,可以删除些在具体的设计中不需要的代码,以节省系统的空间。
标号部分是系统核心的服务代码,包括系统工作的代码的定义,比如完成系统初始化,系统任务之间的调度,创建任务事件,系统算法等等。
标号部分代码与具体息相关,是本课题研究的核心内容移植部分,通过改写它们来实现具体的联系。
主要工作就是中断和任务切换过程中,现场的保护和恢复。
洛阳理工学院毕业设计论文任务管理和调度在进入真正移植之前,首先需要明白系统是如何工作的,即任务是如何被系统管理和调度。
源个任务使用的资源是任何实体。
因此,个资源可以是设备,比如打印机键盘显示器,或者个变量结构或者数组。
任务处理多任务处理是在几个任务之间进行调度和切换过程单个的几个任务之间转换其注意力。
多任务处理像前后台系统样,带有多个后台。
多任务处理能够最大程度地利用且也提供应用程序的模块化构造。
多任务处理中,最重要的特点之就是它可以让编程人员来管理实时应用程序中的内在复杂性。
如果使用了多任务处理,应用程序通常更容易设计和维护。
务个任务可以把它看成是个完全占有源的简单程序。
对于实时应用程序,这个设计过程就包括了把问题分割成为若干部分,每部分由相应的任务进行处理。
对每个任务分配个优先级,它拥有组且拥有堆栈区如图任务处理。
洛阳理工学院毕业设计论文„„„„„任务堆栈任务堆栈任务状态控制块任务控制块任务控制块优先级状态级状态级内存寄存器环境图任务处理每个任务通常是个可以包含如下五个状态的无穷循环即睡眠状态就绪状态运行状态等待状态,或者态如图对应于个任务的睡眠状态,是指该任务驻留在内存中但是不能够使用多任务内核。
当个任务可以被执行但是它的优先级低于当前处于运行状态的任务时,该任务就处于就绪状态。
个任务控制处于运行状态。
当个任务需要其他事件的发生才能被激活时,该任务就处于等待状态。
最后,洛阳理工学院毕业设计论文当个中断发生时,该任务就处于态,于响应这个中断请求的过程中。
图显示了由供的些函数,这些函数可以让个任务由个状态转换为另个状态。
图务状态境转换或者任务切换当个多任务处理内核决定运行个不同的任务时,它将
