核心,是一个作业系统的核心。是基于硬体的第一层软体扩充,提供作业系统的最基本的功能,是作业系统工作的基础。实时嵌入式核心是指嵌入系统中要求核心具有较强实时性约束,能对快速处理外部请求,并在规定时间内对请求做出回响。
基本介绍
- 中文名:实时嵌入式核心
- 外文名:real-time embedded kernel
- 学科:计算机
- 定义:核心具有较强实时性约束
- 有关术语:核心
- 领域:嵌入式系统
简介
实时嵌入式核心是指嵌入系统中要求核心具有较强实时性约束。嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。近年来,随着可穿戴式设备的套用越来,嵌入式系统套用也越来越广泛,其中对实时性要求也越来高,例如健康类可穿戴式设备。
实时性
嵌入式计算机运行时有很强的实时性约束。嵌入式计算机大多从感测器接收输入信号,经处理后,其输出信号用于驱动各种执行机构,或显示出来供实时决策参考。实时性有多种划分标準,例如按周期性来划分和对截止时间的要求来划分。
周期性来划分
(1) 周期性实时任务。外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
(2) 非周期性实时任务。外部设备所发出的激励信号并无明显的周期性,但都必须联繫着一个截止时间(Deadline)。它又可分为开始截止时间(某任务在某时间以前必须开始执行)和完成截止时间(某任务在某时间以前必须完成)两部分。
对截止时间的要求来划分
(1) 硬实时任务(Hard real-time Task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
(2) 软实时任务(Soft real-time Task)。它也联繫着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
嵌入式系统
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以套用为中心,软硬体可裁减的,适应套用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的套用软体与硬体于一体,类似于PC中BIOS的工作方式,具有软体代码小、高度自动化、回响速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬体、嵌入式作业系统及套用软体系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数位电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统的硬体部分,包括处理器/微处理器、存储器及外设器件和I/O连线埠、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬碟那样大容量的存储介质,而大多使用EPROM、EEPROM或快闪记忆体(Flash Memory)作为存储介质。软体部分包括作业系统软体(要求实时和多任务操作)和应用程式编程。应用程式控制着系统的运作和行为;而作业系统控制着应用程式编程与硬体的互动作用。
核心分类
微核心
微核心结构由一个非常简单的硬体抽象层和一组比较关键的原语或系统调用组成;这些原语,仅仅包括了创建一个系统必需的几个部分;如执行绪管理,地址空间和进程间通讯等。
微核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模组化的用户态伺服器用于完成作业系统中比较高级的操作,这样的设计使核心中最核心的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,核心需要做的,仅仅是重新启动这个组件,而不必影响其它的部分
微核心将许多OS服务放入分离的进程,如档案系统,设备驱动程式,而进程通过讯息传递调用OS服务。微核心结构必然是多执行绪的,第一代微核心,在核心提供了较多的服务,因此被称为'胖微核心',它的典型代表是Mach,它既是GNU HURD也是Mac OS X的核心,可以说,蒸蒸日上。第二代微核心只提供最基本的OS服务,典型的OS是QNX,QNX在黑莓手机BlackBerry 10系统中被採用。
混合核心
混合核心它很像微核心结构,只不过它的的组件更多的在核心态中运行,以获得更快的执行速度。
混合核心实质上是微核心,只不过它让一些微核结构运行在用户空间的代码运行在核心空间,这样让核心的运行效率更高些。这是一种妥协做法,设计者参考了微核心结构的系统运行速度不佳的理论。然而后来的实验证明,纯微核心的系统实际上也可以是高效率的。大多数现代作业系统遵循这种设计範畴,微软公司开发的Windows作业系统就是一个很好的例子。另外还有XNU,运行在苹果Mac OS X上的核心,也是一个混合核心。
混合核心的例子: BeOS 核心 ,DragonFly BSD,ReactOS 核心
Windows NT、Windows 2000、Windows XP、Windows Server 2003以及Windows Vista等基于NT技术的作业系统。
外核心
外核心系统,也被称为纵向结构作业系统,是一种比较极端的设计方法。
它的设计理念是让用户程式的设计者来决定硬体接口的设计。外核心本身非常的小,它通常只负责系统保护和系统资源复用相关的服务。
传统的核心设计(包括单核和微核)都对硬体作了抽象,把硬体资源或设备驱动程式都隐藏在硬体抽象层下。比方说,在这些系统中,如果分配一段物理存储,应用程式并不知道它的实际位置。
而外核的目标就是让应用程式直接请求一块特定的物理空间,一块特定的磁碟块等等。系统本身只保证被请求的资源当前是空闲的,应用程式就允许直接访问它。既然外核系统只提供了比较低级的硬体操作,而没有像其他系统一样提供高级的硬体抽象,那幺就需要增加额外的运行库支持。这些运行库运行在外核之上,给用户程式提供了完整的功能。
理论上,这种设计可以让各种作业系统运行在一个外核之上,如Windows和Unix。并且设计人员可以根据运行效率调整系统的各部分功能。