近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产 品等方面。今天嵌入式系统带来的工业年产值超过了1万亿美元。当前嵌入式操作系统有数百种。比較流行的有Nucleus Plus。QNX。Lynx OS,Psos,VRTX,VXWorks。Windows CE等。

它们各有特色,用户能够依据自身的软硬件环境的要求,选择合适的操作系统。本文介绍了实时多任务嵌入式操作系统Nucleus
PLUS。

(一)Nucleus内核

Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的。因此很便于移植并可以支持大多数类型的处理器。Nucleus PLUS 的RTOS内核可支持例如以下类型的CPU:x86,68xxx,68HCxx,NEC V25, ColdFire, 29K,i960, MIPS, SPARClite, TI DSP, ARM6/7, StrongARM, H8/300H, SH1/2/3, PowerPC,
V8xx, Tricore, Mcore, Panasonic MN10200, Tricore, Mcore等。能够说NUCLEUS+是支持CPU类型最丰富的实时多任务操作系统。

针对不同的CPU类型,Nucleus 还提供编译器、动态连接库、多任务调试器等对应的工具来配置用户的开发环境。值得提出的是ATI公司近期还发表了基于Microsoft Developers Studio的嵌入式集成开发环境-NUCLEUS EDE。

从而领先将嵌入式开发工具与Microsoft的强大开发环境结合起来。提供给project师们强大的开发手段。

(二)Nucleus PLUS的特点:

1、源码开放

Nucleus PLUS 凝视严格的C源级代码。用户能深入了解底层内核运作方式、进行 RTOS 的学习和研究、调试方便。依据需求裁剪内核、节省费用。用户全然能够控制内核而不必操心操作系统中可能的异常任务导致系统崩溃。

2、性价比高

先进的微内核 ( Micro-kernel ) 技术使得Nucleus PLUS在任务优先级安排、任务调度和切换等方面都有优势。另外,对C++语言的全面支持又使得Nucleus PLUS 的 Kernel 成为名副事实上的面向对象的实时操作系统内核。然而。其价格却比較合理。所以,easy被广大的研发单位接受。

3、功能模块丰富

Nucleus PLUS 除提供功能强大的内核操作系统外,还提供种类丰富的功能模块。比如用于通讯系统的局域和广域网络模块、支持图形应用的实时化Windows 模块、支持Internet网的WEB 产品模块、工控机实时 BIOS 模块、图形用户接口以及应用软件性能分析模块等。用户能够依据自己的应用来选择和裁剪。

(三)Nucleus PLUS系统架构:

从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中运行。

在典型的目标环境中。Nucleus PLUS 核心代码区一般不超过20K字节大小。

Nucleus Plus内核(Kerne1)的主要目的是管理实时多任务的竞争执行(共享CPU),为应用提供各种便利、高速响应外部事件。因此Nucleus Plus 提供实时、抢占式多任务管理、多种任务间通信和同步手段、动态和分区内存(Dynamic/Partition Memory)两种存储器管理机制。

Nucleus Plus还提供定时器(Timer)来处理周期性事件和任务的睡眠和挂起超时。Nucleus Plus的系统结构如图1所看到的。

source=wax&u=http%3A%2F%2Fwww.dzjs.net/upimg/allimg/0807/1_17082737.JPG&wsi=2d4e4070911efd06&ei=iI0_Tqxj55OZBaDF_NIH&wsc=tf">

从Nucleus的系统结构框图能够看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件组和信号实现任务间的同步。

Nucleus PLUS系统採用软件组件的形式构成以添加系统的代码清晰性、可靠性和可重用性,使系统模块化、易于维护。Nucleus PLUS由多个软件组件构成。每一个组件通常由两个头文件和几个C、汇编语言源程序构成,提供清晰的外部接口,对组件的引用就是通过这些接口完毕的。除了少数一些特殊情况外。不同意从外部直接訪问组件内的全局变量。这样的组件架构使得Nucleus PLUS的每一个软件组件能够被轻松的替换和重用。

Nucleus PLUS 採用了软件组件的方法。每一个组件具有单一而明白的目的。因为採用了软件组件的方法,Nucleus PLUS 各个组件很易于替换和复用。Nucleus PLUS 的组件包含任务控制、内存管理、任务间通信、任务的同步与相互排斥、中断管理、定时器及I/O驱动等16个组件。

针对各种嵌入式应用,Nucleus PLUS 还提供对应的网络协议(如TCP/IP,SNMP等)。以满足用户对通讯系统的开发要求。另外,可重入的文件系统、可重入的C函数库以及图形化界面等也给开发人员提供了方便。

(四)Nucleus的应用领域和国内外用户

Nucleus主要应用领域在:网络、路由、桥接、Hubs、数据通讯、顶置盒、数字摄像机、ISDN、调制器、数字画图仪、GSM、蜂窝电话、PDA、打印机、GPS、无线通讯、汽车、医疗仪器、RAID、适配卡、智能卡、安全保密、工业控制、扫描仪、煤气分析仪、游戏机、多媒体、手持产品、消费产品、局域网、广域网、导航设备、卫星通信、自己主动提款机、视频产品、条码机、过程控制等等。

Nucleus部分典型的username单:

AT&T/Lucemt, Blaupunkt, Compaq Computer, Canon, Chrysler Technologies, Dassault SA, DOD, Draper Labs, Eastman Kodak, Ford Motor Company, General Motors, General Electric, GE Medical, Goddard Space Flight Systems, Fujitsu, Harris
Digital Phone, Hewlett Packard, IBM, IGT Interface Systems, Kenwood Corporation, Lucent ,Mannesmann Tally Corp, M.I.T., Motorola, NASA, NEC, Network Peripherals, Nippon Denso, MSA Baseline, Orbitel Mobile Comm, Psi Printer GmbH, Philips Semiconductor, Rockwell
International, Sagem SA, Samsung Electronics, Siemens, Sony Corp, Storage Technology, Texas Instruments, Takasago Corp, Toyota, Video Lottery, Video Guide, VLSI, Westinghouse, Xircom, Zitel。

国内部分用户:

航天部204所。邮电部数据所,北京卡斯特。航空部614所,中科院沈阳自己主动化所,北京千网数据公司,北京凌云公司,清华大学。长沙国防科技大学,复旦大学,华北电力大学,郑州信息project学院,烟台东方电子集团,深圳桑达,上海博达,深圳迈瑞。深圳天地通讯,铁道部大连内燃机车研究所,总參机要局,南京南瑞总公司,航天第二设计院。西安仪表。郎讯(中国)有限公司,海军计算所。恒基伟业,广州金鹏集团。杭州东方集团。福州新大陆,深圳康佳,西安东强,北京华大集成电路设计中心,广东信利集团,香港IDT,香港讯研,太原中航仪表集团,新科电子,上海中兴。上海广电,石家庄54所,总參56所,武汉邮科院,上海德理,上海贝尔,斯高柏(C-Cube)、航天部503所等等。

Nucleus PLUS简单介绍的更多相关文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  7. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  8. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

随机推荐

  1. 在k8s中的基本概念

    在k8s中的基本概念 一.Pod1. podk8s下最重要也最基本的概念,由一个根容器Pause和许多用户业务容器组成,是容器的载体. 2. pod的yaml定义格式及字段 apiVersion: v ...

  2. jQuery中的append()和prepend(),after()和before()的差别

    jQuery中的append()和preappend(),after()和before()的差别 append()和prepend() 如果 <div class='a'> //<- ...

  3. 南阳OJ 背包问题

     /*背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 如今有非常多物品(它们是能够切割的),我们知道它们每一个物品的单位重量的价值v和 重量w(1< ...

  4. DRUPAL性能优化【转】

    1.启用memcache代替Mysql的缓存表处理缓存数据. 2.添加一个opcode缓存可以让 PHP能够重用前面编译过的代码,这样就会跳过解析和编译.常见的opcode缓存有Alternative ...

  5. Linux-Nginx-关闭进程

    当然就仅仅是介绍一条命令了,就这么简单. nginx默认创建一个工作进程 root 2713 1 0 07:56 ? 00:00:00 nginx: master process ../sbin/ng ...

  6. AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)

    B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...

  7. 如何解决MySQL连接超时关闭

    最近做网站有一个站要用到WEB网页采集器功能,当一个PHP脚本在请求URL的时候,可能这个被请求的网页非常慢慢,超过了mysql的 wait-timeout时间,然后当网页内容被抓回来后,准备插入到M ...

  8. atitit.jquery tmpl模板总结 .doc

    atitit.jquery tmpl模板总结 .doc 1. atitit.动态模版解析1 1.1. Jquery.tmpl.js1 1.2. 比起anrular js方便啊.1 2. 动态模板引擎解 ...

  9. 所需即所获:像 IDE 一样使用 vim

    所需即所获:像 IDE 一样使用 vim 转载 yangyangwithgnu@yeah.net2015-11-08 10:05:53 谢谢 捐赠:支付宝 yangyangwithgnu@yeah.n ...

  10. log4j 具体解说(不能再具体了)

    日志是应用软件中必不可少的部分.Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache站点:jakarta.apache.org/log4j 能够免费下载到Log ...