工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

什么是嵌入式系统

作者:fanxiaoxi时间:2023-01-03

嵌入式系统简介
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可缩扩的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统;主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成。
与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。
嵌入式系统应用广泛: 几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等
嵌入式系统中操作系统介绍
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。目前RTLinux以免费软件的特点越来越被大家重视。
就市场占有率总体说来,目前国内以在嵌入式领域主要使用的操作系统有PSOS、VxWorks、LynxOS、WinCE、Linux、PalmOS。目前VxWorks、WinCE、PalmOS在嵌入式领域中市场占有率比较高。但是大多数人认为未来的主流将是Linux,毕竟它式免费的,这里有一份CCID的调查,在这份关于未来三年嵌入式领域首选操作系统的调查中,Linux以54.8%排在各操作系统的首位。
嵌入式系统及操作系统重要概念
上下文切换(Context Switching)
多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件,当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。上下文的内容依赖于具体的CPU。
确定性(Deterministic)
实时操作系统中,在一定的条件下,系统调用的运行时间可以预测。这并不是指所有系统调用都总是执行一个固定长度的时间,而是指不论系统负载如何,系统调用的最大执行时间可以确定。
硬实时(Hard Real-Time)系统
硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就会引起系统崩溃或致命的错误。
中断延迟(Interrupt Latency)
中断延迟是指从硬件中断发生到开始执行中断处理程序第一条指令之间的这段时间。
互斥(Mutual Exclusion)
互斥是用来控制多任务对共享数据进行串行访问的同步机制。在多任务应用中,当两个或多个任务同时访问共享数据时,可能会造成数据破坏。互斥使它们串行地访问数据,从而达到保护数据的目的。
抢占(Preemptive)
抢占是指当系统处于核心态运行时, 允许任务的重新调度。换句话说就是指正在执行的任务可以被打断,让另一个任务运行。抢占提高了应用对异步事件的响应性能力。操作系统内核可抢占,并不是说任务调度在任何时候都可以发生。例如当一个任务正在通过一个系统调用访问共享数据时,重新调度和中断都被禁止。
优先级驱动(Priority-Driven)
优先级驱动是指多任务系统中,当前运行任务总是具有最高优先级的就绪任务。
优先级反转(Priority Inversion)
优先级反转是指一个任务等待比它优先级低的任务释放资源而被阻塞,如果这时有中等优先级的就绪任务,阻塞会进一步恶化。优先级继承技术可用来解决优先级反转问题。
优先级继承(Priority Inheritance)
优先级继承可用来解决优先级反转问题。当优先级反转发生时,优先级较低的任务被暂时地提高它的优先级,使得该任务能尽快执行,释放出优先级较高的任务所需要的资源。
实时执行体(Real-Time Executive)
实时执行程序包括一套支持实时系统所必需的机制。如多任务支持,CPU调度,通信和存储分配。在嵌入式应用中,这一套机制被称为实时执行体或实时操作系统内核。OS就是一个实时执行体。编程者以实时执行体为基础来构造自己应用。
重调度过程(Rescheduling Procedure)
重调度过程是判定任务优先级和执行状态的过程。OS的系统调用引起任务状态变化时,就会执行这个过程。如果当前运行任务不是最高优先级的就绪任务,重调度过程就会发生。
调度延迟(Scheduling Latency)
调度延迟是指当一个事件引起更高优先级的任务就绪到这个任务开始运行之间的时间。即一个任务被触发后,由就绪到运行的时间。
可剪裁的体系结构(Scalable Architecture)
可剪裁的体系结构是指一个软件系统能够支持多种应用而无需在接口上做很大的变动。因此, 开发出成本低、品种多的产品。
任务(Tasks)
任务是OS中独立运行的单元。
任务上下文(Task Context)
任务上下文是指任务运行的环境。例如,针对x86的CPU,任务上下文可包括程序计数器、堆栈指针、通用寄存器的内容。



评论

技术专区