欢迎来到天天文库
浏览记录
ID:18879657
大小:74.50 KB
页数:16页
时间:2018-09-26
《嵌入式操作系统深入分析new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式操作系统分析本文分为以下几部分:1.实时嵌入式系统2.中断机制3.任务调度与上下文切换4.进程间通信与同步5.嵌入式系统内存管理6.浅析动态内存分配及Malloc/free的实现实时嵌入式系统实时操作系统(RTOS)设计成提供一个对真实世界的事件的及时响应(timelyresponse)。出现在真实世界中的事件可能有一个时间限制(deadline),在此期限之前,实时/嵌入式系统必须确保在有限时间时间内对此事件做出相应的响应,根据相应事件的时间限制,嵌入式实时操作系统可以分为两类:1、硬实时嵌入式系统 此类实时系统必须保证在一
2、定的时间里,对一定的外部事件做出相应的响应,如果在一定时间里没有能够做出相应的响应,就会带来灾难性的后果,也即是说,此类系统对于时间的相应快慢有非常严格的要求,比如:电力监控系统等。2、软实时嵌入式系统 此类实时系统保证在一定的时间里,对一定的外部事件做出相应的响应,但是如果在一定时间里没有能够做出相应的响应,不会带来灾难性的后果,只是给用户带来一些不快乐的体验,比如:用户界面的显示。不同的系统,有不同实现方式,对于硬实时嵌入式系统,主要注重与实时性和可靠性,一般没有文件系统,虚拟内存管理等,主要用于实时监控等,典型的有:VxWor
3、ks,pSOS,uCOS-II等。软实时嵌入式系统注重实时性,也注重实用性,主要用于消费电子等,典型的有:嵌入式Linux。开源实时嵌入式系统:实时嵌入式操作系统在现在应用越来越多,其中大部分是商业的嵌入式操作系统,这些系统提高了丰富的开发工具和稳定的系统,很大的推动了嵌入式系统地发展,但是由于商业性,使我们很少有机会了解嵌入式操作系统的实现内幕。随着开源软件的兴起,使得我们有机会了解嵌入式操作系统的内部实现成为可能。 由于多年的嵌入式开发,对于嵌入式操作系统特别的感兴趣,趁春节的时间,想读读开源的嵌入式操作系统源码,大体比较一下
4、嵌入式操作系统的具体实现。 对于开源的嵌入式操作系统,现在比较流行的主要有:嵌入式Linux,uCOS-II,eCOS,FreeRTOS等,这里主要想以嵌入式Linux,uCOS-II为例,对嵌入式操作系统的一些基本概念及其实现方式进行一些比较。之所以选择这两操作系统,因为:1、嵌入式Linux是现在用得最多的软实时嵌入式操作系统,而且也是最著名的开源软件之一,2、uCOS-II是一用得较多的硬实时嵌入式操作系统,尽管商业应用需要Licence,对于科研等可以免费使用,而且许多爱好者已经把它移植到了各种硬件平台。3、尽管硬实时嵌入式
5、操作系统和软实时嵌入式操作系统有很大的区别,但是可以通过对他们的比较,使我们更容易了解实时嵌入式操作系统的基本概念和组成要素。 实时多任务嵌入式系统基本概念:对于嵌入式系统,不像通用的计算机,提供通用的软硬件平台,而是对于特定的需求定制的系统,一般要求便携化,资源少,利用比较少的资源配置来实现特定的功能。如何在较小尺寸,较少的资源情况下,快速相应外部多种特定的事件,成为嵌入式系统的主要需求。这就要求嵌入式系统要有以下的模块:1、中断处理在没有嵌入式系统之前,对于一般的工控,都是用前后台机制实现的,中断是整个系统的推动力。在嵌入式系统
6、相中,中断处理也是响应外部事件的主要途径。2、时间管理对于实时操作系统来说,时间管理是系统的核心,整个系统就是由一定间隔的时钟中断驱动的。在一般的实时操作系统中,主要有两种时间管理:OS定时器和RTC定时器。3、资源管理与资源共享由于有限的资源,在嵌入式系统中,资源的管理也非常的重要,CPU,IO,内存等是系统基本的资源,如何有效的应用和管理是一个很大的话题。同时如何共享,如何提供任务间资源的互斥,也是一稳定系统必不可缺的条件。4、多任务在嵌入式系统中,任务也可以叫进程,对于多任务系统,一般有多个任务同时存在于系统中,任务在嵌入式系
7、统中有各种各样的状态,比如:运行态,IDLE态等。5、任务的实时调度与切换 对于多任务的管理及其实时调度,决定了此系统的主要特征。任务的调度与如何切换,也是嵌入式多任务系统的一个基本问题。6、进程间(任务间)通讯对于不同任务间的通讯,在不同的系统中有不同的实现,大体与POSIX的IPC相似。但在硬实时嵌入式系统中,事件和消息用得较多。 对于LINUX系统,还有虚拟内存管理和文件系统管理,在硬实时嵌入式系统中,由于关注点不同,这方面的应用不多。中断机制1. 概述:中断控制是计算机发展中一种重要的技术。最初它是为克服对I/O接口
8、控制采用程序查询所带来的处理器低效率而产生的。中断控制的主要优点是只有在I/O需要服务时才能得到处理器的响应,而不需要处理器不断地进行查询。由此,最初的中断全部是对外部设备而言的,即称为外部中断(或硬件中断)。但随着计算机系统结构的不
此文档下载收益归作者所有