嵌入式实时操作系统.pdf
1嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统 C/OSC/OS-IIIIIIPendingDormantWaitingISRRTOSKernelRunning2Linux C/OSC/OS-II IIWinCE中国的嵌入式中国的嵌入式中国的嵌入式中国的嵌入式中国的嵌入式中国的嵌入式中国的嵌入式中国的嵌入式OSOS资料来源资料来源资料来源资料来源:电子产品世界电子产品世界电子产品世界电子产品世界2009年第年第年第年第1期期期期“2008年嵌入式应用调查报告年嵌入式应用调查报告年嵌入式应用调查报告年嵌入式应用调查报告627份调查问卷份调查问卷份调查问卷份调查问卷”VxWorkQnx其他其他其他其他3 C/OS C/OS 和和和和和和和和 C/OSC/OS-II IIJean J.LabrosseR&D Publications,Inc?最多可管理最多可管理最多可管理最多可管理最多可管理最多可管理最多可管理最多可管理6060个任务个任务个任务个任务个任务个任务个任务个任务?基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核基于优先级的可剥夺型内核(查表算法查表算法查表算法查表算法查表算法查表算法查表算法查表算法)?90%90%以上是硬件无关的以上是硬件无关的以上是硬件无关的以上是硬件无关的以上是硬件无关的以上是硬件无关的以上是硬件无关的以上是硬件无关的C C 代码代码代码代码代码代码代码代码?与与与与与与与与CPU CPU 有关的有关的有关的有关的有关的有关的有关的有关的 汇编和汇编和汇编和汇编和汇编和汇编和汇编和汇编和C C代码代码代码代码代码代码代码代码200 200 行行行行行行行行?可在可在可在可在可在可在可在可在PCPC环境下运行环境下运行环境下运行环境下运行,源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上环境下运行环境下运行环境下运行环境下运行,源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上源代码在书中所附的软盘或光盘上?可裁剪可裁剪可裁剪可裁剪、可固化可固化可固化可固化,绝大多数绝大多数绝大多数绝大多数可裁剪可裁剪可裁剪可裁剪、可固化可固化可固化可固化,绝大多数绝大多数绝大多数绝大多数CPUCPU相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载相关移植软件可从网上下载?书中有详细解释书中有详细解释书中有详细解释书中有详细解释,编程风格很专业编程风格很专业编程风格很专业编程风格很专业、漂亮漂亮漂亮漂亮书中有详细解释书中有详细解释书中有详细解释书中有详细解释,编程风格很专业编程风格很专业编程风格很专业编程风格很专业、漂亮漂亮漂亮漂亮4是很好的教材是很好的教材是很好的教材是很好的教材261261261261页页页页,含源代码约含源代码约含源代码约含源代码约100100100100页页页页Licensing:You do not need a license to use this code in your application,if your application is distributed in object format.You should however,indicate in your product literature that you are using C/OS,the Real Time Kernel.If you distribute C/OS in source code,you must obtain a license.第一本书第一本书第一本书第一本书第一本书第一本书第一本书第一本书5第二本书第二本书第二本书第二本书第二本书第二本书第二本书第二本书500500500500页页页页含含含含150150150150页源码页源码页源码页源码LicensingNo licensing is required if C/OS-II is used for education You must obtain an Object Code Distribution License to embedded C/OS-II in commercial product hat is sold with the intent to make profit6第二本书第二本书第二本书第二本书第二本书第二本书第二本书第二本书的中译本的中译本的中译本的中译本的中译本的中译本的中译本的中译本(20012001年年年年)年年年年)7The 2The 2The 2The 2ndndndndedit ofedit ofedit ofedit ofC/OSC/OSC/OSC/OS-IIIIIIII从从从从498498498498页增加到页增加到页增加到页增加到600600600600页页页页,将将将将150150150150页源码附在页源码附在页源码附在页源码附在光盘上光盘上光盘上光盘上从从从从12 12 12 12 章增加到章增加到章增加到章增加到 18 18 18 18 章章章章增加了增加了增加了增加了250250250250页新内容页新内容页新内容页新内容Meet Requirement for Safety-Critical SystemJune 2002第三本书第三本书第三本书第三本书第三本书第三本书第三本书第三本书8第三本书第三本书第三本书第三本书第三本书第三本书第三本书第三本书的中译本的中译本的中译本的中译本的中译本的中译本的中译本的中译本C/OS-IIV2.52Published in June 2003Graduated Students are encouraged to use it in their projects,by9授权许可授权许可授权许可授权许可授权许可授权许可授权许可授权许可 LicenseLicense?C/OS and C/OS and C/OSC/OS-II source and object code can be II source and object code can be used by accredited Colleges and Universities without used by accredited Colleges and Universities without requiring a license,as long as there is no commercial requiring a license,as long as there is no commercial application involved.In other words,no licensing is application involved.In other words,no licensing is required if required if C/OS and C/OS and C/OSC/OS-II is used for educational II is used for educational use.use.只要无牟利商业行为只要无牟利商业行为只要无牟利商业行为只要无牟利商业行为,只要无牟利商业行为只要无牟利商业行为只要无牟利商业行为只要无牟利商业行为,C/OS C/OS 和和和和和和和和 C/OSC/OS-II II 的源码和目标码可用的源码和目标码可用的源码和目标码可用的源码和目标码可用的源码和目标码可用的源码和目标码可用的源码和目标码可用的源码和目标码可用于正规大专院校的教学和科研于正规大专院校的教学和科研于正规大专院校的教学和科研于正规大专院校的教学和科研,无需授权无需授权无需授权无需授权。于正规大专院校的教学和科研于正规大专院校的教学和科研于正规大专院校的教学和科研于正规大专院校的教学和科研,无需授权无需授权无需授权无需授权。?You need to obtain an Object Code Distribution You need to obtain an Object Code Distribution License to embed License to embed C/OS or C/OS or C/OSC/OS-II in a product that II in a product that is sold with the intent to make a profit or if the product is sold with the intent to make a profit or if the product is not used for education or peaceful research.is not used for education or peaceful research.Please indicate the processor Please indicate the processor type(stype(s)you will be using)you will be using(i.e.68HC11,80 x86,AVR,etc.).(i.e.68HC11,80 x86,AVR,etc.).若将若将若将若将若将若将若将若将 C/OS C/OS 或或或或或或或或 C/OSC/OS-II II 嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售,而该产而该产而该产而该产嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售嵌入到意在牟利的产品中出售,而该产而该产而该产而该产品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究,必须得到授权许可必须得到授权许可必须得到授权许可必须得到授权许可,品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究品非用于教学及用于非和平类研究,必须得到授权许可必须得到授权许可必须得到授权许可必须得到授权许可,并请指出所用并请指出所用并请指出所用并请指出所用并请指出所用并请指出所用并请指出所用并请指出所用CPUCPU类型类型类型类型类型类型类型类型(如如如如如如如如68HC11,80 x86,AVR68HC11,80 x86,AVR等等等等等等等等)。10 C/OSC/OS-II II 中的任务调度算法中的任务调度算法中的任务调度算法中的任务调度算法中的任务调度算法中的任务调度算法中的任务调度算法中的任务调度算法Task Scheduling Algorithm Task Scheduling Algorithm?基于优先级的算法基于优先级的算法基于优先级的算法基于优先级的算法基于优先级的算法基于优先级的算法基于优先级的算法基于优先级的算法Priority based algorithmPriority based algorithm?CPU必须总是运行进入就绪态的任务中优先级必须总是运行进入就绪态的任务中优先级必须总是运行进入就绪态的任务中优先级必须总是运行进入就绪态的任务中优先级最高的那个任务最高的那个任务最高的那个任务最高的那个任务The CPU must always execute the highest priority task that is ready to run.?最大任务数最大任务数最大任务数最大任务数64个个个个?0优先级最高优先级最高优先级最高优先级最高;63 优先级最低优先级最低优先级最低优先级最低11 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(1)?(1)?C/OSC/OS-III III 允许任务使用同一优先级允许任务使用同一优先级允许任务使用同一优先级允许任务使用同一优先级,允许任务使用同一优先级允许任务使用同一优先级允许任务使用同一优先级允许任务使用同一优先级,对优先级相同的任务对优先级相同的任务对优先级相同的任务对优先级相同的任务,对优先级相同的任务对优先级相同的任务对优先级相同的任务对优先级相同的任务,C/OSC/OS-III III 支持支持支持支持支持支持支持支持时间片调度法时间片调度法时间片调度法时间片调度法时间片调度法时间片调度法时间片调度法时间片调度法。12 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(2)?(2)?C/OSC/OSC/OSC/OSC/OSC/OSC/OSC/OS-III III III III III III III III 允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置允许用户在程序运行中动态配置实时操作系统内核资源实时操作系统内核资源实时操作系统内核资源实时操作系统内核资源,例如例如例如例如、任务任务任务任务、任务任务任务任务实时操作系统内核资源实时操作系统内核资源实时操作系统内核资源实时操作系统内核资源,例如例如例如例如、任务任务任务任务、任务任务任务任务栈栈栈栈、信号量信号量信号量信号量、事件标志组事件标志组事件标志组事件标志组、消息队列消息队列消息队列消息队列、消息消息消息消息栈栈栈栈、信号量信号量信号量信号量、事件标志组事件标志组事件标志组事件标志组、消息队列消息队列消息队列消息队列、消息消息消息消息数数数数、互斥型信号量互斥型信号量互斥型信号量互斥型信号量、存储块划分和定时器存储块划分和定时器存储块划分和定时器存储块划分和定时器,数数数数、互斥型信号量互斥型信号量互斥型信号量互斥型信号量、存储块划分和定时器存储块划分和定时器存储块划分和定时器存储块划分和定时器,都可以在程序运行中变更都可以在程序运行中变更都可以在程序运行中变更都可以在程序运行中变更。这样这样这样这样,用户可以用户可以用户可以用户可以都可以在程序运行中变更都可以在程序运行中变更都可以在程序运行中变更都可以在程序运行中变更。这样这样这样这样,用户可以用户可以用户可以用户可以避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的避免在程序编译过程中出现资源不够分配的问题问题问题问题。问题问题问题问题。13 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(3)?(3)?C/OSC/OS-IIIIII中中中中,最多任务数为最多任务数为最多任务数为最多任务数为中中中中,最多任务数为最多任务数为最多任务数为最多任务数为6464个个个个(个个个个(V2.82V2.82以以以以以以以以后是后是后是后是后是后是后是后是256256个个个个)个个个个)?C/OSC/OS-III III 中中中中,用户可以有任意多的任务用户可以有任意多的任务用户可以有任意多的任务用户可以有任意多的任务、任任任任中中中中,用户可以有任意多的任务用户可以有任意多的任务用户可以有任意多的任务用户可以有任意多的任务、任任任任意多的信号量意多的信号量意多的信号量意多的信号量、互斥型信号量互斥型信号量互斥型信号量互斥型信号量、事件标志事件标志事件标志事件标志、意多的信号量意多的信号量意多的信号量意多的信号量、互斥型信号量互斥型信号量互斥型信号量互斥型信号量、事件标志事件标志事件标志事件标志、消息队列消息队列消息队列消息队列、定时器和任意分配的存储块容量定时器和任意分配的存储块容量定时器和任意分配的存储块容量定时器和任意分配的存储块容量消息队列消息队列消息队列消息队列、定时器和任意分配的存储块容量定时器和任意分配的存储块容量定时器和任意分配的存储块容量定时器和任意分配的存储块容量(仅受限于用户仅受限于用户仅受限于用户仅受限于用户(仅受限于用户仅受限于用户仅受限于用户仅受限于用户CPUCPU可以使用的可以使用的可以使用的可以使用的可以使用的可以使用的可以使用的可以使用的RAMRAM量量量量)。)。)。)。量量量量)。)。)。)。14 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(4)?(4)?C/OSC/OS-III III 增加了很多新功能增加了很多新功能增加了很多新功能增加了很多新功能,如如如如:增加了很多新功能增加了很多新功能增加了很多新功能增加了很多新功能,如如如如:?可嵌套的互斥型信号量可嵌套的互斥型信号量可嵌套的互斥型信号量可嵌套的互斥型信号量?可嵌套的任务挂起可嵌套的任务挂起可嵌套的任务挂起可嵌套的任务挂起?向无信号量请求的任务发送信号量向无信号量请求的任务发送信号量向无信号量请求的任务发送信号量向无信号量请求的任务发送信号量?向无消息队列请求的任务法消息向无消息队列请求的任务法消息向无消息队列请求的任务法消息向无消息队列请求的任务法消息?任务被内核的多个元素挂起任务被内核的多个元素挂起任务被内核的多个元素挂起任务被内核的多个元素挂起?为其他任务的状态或为其他任务的状态或为其他任务的状态或为其他任务的状态或“出错代码出错代码出错代码出错代码”服务的任务服务的任务服务的任务服务的任务?内在性能测试内在性能测试内在性能测试内在性能测试?防死锁机制防死锁机制防死锁机制防死锁机制?用户可定义的接口函数等用户可定义的接口函数等用户可定义的接口函数等用户可定义的接口函数等15 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(5)?(5)?除每个任务的最长关中断时间除每个任务的最长关中断时间除每个任务的最长关中断时间除每个任务的最长关中断时间,内在性能测试内在性能测试内在性能测试内在性能测试除每个任务的最长关中断时间除每个任务的最长关中断时间除每个任务的最长关中断时间除每个任务的最长关中断时间,内在性能测试内在性能测试内在性能测试内在性能测试允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间。允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间允许用户测得系统的最长关中断时间。?用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础用户在测得每个任务的最长禁止调度时间基础上上上上,可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间。上上上上,可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间可测得系统禁止任务调度的最长时间。?每次发出的信息都带有时间戳每次发出的信息都带有时间戳每次发出的信息都带有时间戳每次发出的信息都带有时间戳,用户也容易得用户也容易得用户也容易得用户也容易得每次发出的信息都带有时间戳每次发出的信息都带有时间戳每次发出的信息都带有时间戳每次发出的信息都带有时间戳,用户也容易得用户也容易得用户也容易得用户也容易得到任务级的响应时间到任务级的响应时间到任务级的响应时间到任务级的响应时间。到任务级的响应时间到任务级的响应时间到任务级的响应时间到任务级的响应时间。?性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任性能测试还包括任务切换次数计数器和每个任务的务的务的务的务的务的务的务的CPUCPUCPUCPUCPUCPUCPUCPU使用率等使用率等使用率等使用率等。使用率等使用率等使用率等使用率等。16 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(6)?(6)?C/OSC/OS-III III 设计成能方便地按照设计成能方便地按照设计成能方便地按照设计成能方便地按照设计成能方便地按照设计成能方便地按照设计成能方便地按照设计成能方便地按照CPUCPU架构优化架构优化架构优化架构优化架构优化架构优化架构优化架构优化。特别是其多数数据类型可按照特别是其多数数据类型可按照特别是其多数数据类型可按照特别是其多数数据类型可按照。特别是其多数数据类型可按照特别是其多数数据类型可按照特别是其多数数据类型可按照特别是其多数数据类型可按照CPUCPU能适应能适应能适应能适应能适应能适应能适应能适应的最佳位数宽度修改的最佳位数宽度修改的最佳位数宽度修改的最佳位数宽度修改。的最佳位数宽度修改的最佳位数宽度修改的最佳位数宽度修改的最佳位数宽度修改。?选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写,选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写选择和确定优先级的算法可以用汇编语言写,以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的以发挥一些有特殊指令的CPUCPU的优势的优势的优势的优势,如如如如:的优势的优势的优势的优势,如如如如:?置位和复位指令置位和复位指令置位和复位指令置位和复位指令?计数器计到零计数器计到零计数器计到零计数器计到零(CLZ)?找出第一个不为零位找出第一个不为零位找出第一个不为零位找出第一个不为零位(FF1)指令等指令等指令等指令等17 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(7)?(7)?C/OSC/OS-III III 有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结有很多数需要自行处理的内部据结构和变量构和变量构和变量构和变量,是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护构和变量构和变量构和变量构和变量,是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护是通过给调度器上锁的方式保护这些临界段代码的这些临界段代码的这些临界段代码的这些临界段代码的,不使用关中断的方式不使用关中断的方式不使用关中断的方式不使用关中断的方式,这些临界段代码的这些临界段代码的这些临界段代码的这些临界段代码的,不使用关中断的方式不使用关中断的方式不使用关中断的方式不使用关中断的方式,内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零。这就保这就保这就保这就保内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零内核关中断的时钟周期数几乎为零。这就保这就保这就保这就保证了证了证了证了证了证了证了证了 C/OSC/OS-III III 能够响应那些最快的中断源能够响应那些最快的中断源能够响应那些最快的中断源能够响应那些最快的中断源。能够响应那些最快的中断源能够响应那些最快的中断源能够响应那些最快的中断源能够响应那些最快的中断源。18 C/OSC/OS-III III 和和和和和和和和 C/OSC/OS-II II 有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同有什么不同?(8)?(8)?C/OSC/OS-III III 还支持内核觉察式调试还支持内核觉察式调试还支持内核觉察式调试还支持内核觉察式调试。用用用用还支持内核觉察式调试还支持内核觉察式调试还支持内核觉察式调试还支持内核觉察式调试。用用用用户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查、户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查户友好地使内置内核觉察调试器检查、显示显示显示显示显示显示显示显示 C/OSC/OS-III III 的变量的变量的变量的变量、数据结构数据结构数据结构数据结构,支支支支的变量的变量的变量的变量、数据结构数据结构数据结构数据结构,支支支支持持持持持持持持 C/Probe C/Probe 工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动工具在程序运行过程中动态显示修改各种变量态显示修改各种变量态显示修改各种变量态显示修改各种变量。态显示修改各种变量态显示修改各种变量态显示修改各种变量态显示修改各种变量。19 C/OSC/OS-III III 与与与与与与与与 VxWorksVxWorks?从小内核从小内核从小内核从小内核从小内核从小内核从小内核从小内核 C/OSC/OS-II II到到到到到到到到 C/OSC/OS-III III,很多性很多性很多性很多性,很多性很多性很多性很多性能在接近能在接近能在接近能在接近能在接近能在接近能在接近能在接近VxWorksVxWorks?Wind River 1981Wind River 1981成立成立成立成立成立成立成立成立,在在在在在在在在1515个国家有个国家有个国家有个国家有个国家有个国家有个国家有个国家有1,6001,600多员多员多员多员多员多员多员多员工工工工,工工工工,年收入年收入年收入年收入年收入年收入年收入年收入$3.6$3.6亿亿亿亿,主营主营主营主营亿亿亿亿,主营主营主营主营VxWorksVxWorks,用于网用于网用于网用于网用于网用于网用于网用于网络设备络设备络设备络设备、航天航天航天航天、国防等国防等国防等国防等络设备络设备络设备络设备、航天航天航天航天、国防等国防等国防等国防等?VxWorksVxWorks是是是是是是是是 公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式公认的最好的嵌入式RTOSRTOS,是完是完是完是完,是完是完是完是完整的整的整的整的、自成体系的软件包自成体系的软件包自成体系的软件包自成体系的软件包整的整的整的整的、自成体系的软件包自成体系的软件包自成体系的软件包自成体系的软件包?曾经靠曾经靠曾经靠曾经靠BSP支持的是黑盒子支持的是黑盒子支持的是黑盒子支持的是黑盒子?近些年来开始公开源码近些年来开始公开源码近些年来开始公开源码近些年来开始公开源码?价格贵价格贵价格贵价格贵、运行成本高运行成本高运行成本高运行成本高20Intel Intel 收购收购收购收购收购收购收购收购 Wind RiverWind River(2009.6.4.2009.6.4.)?Wind River Wind River 打算进一步转向打算进一步转向打算进一步转向打算进一步转向打算进一步转向打算进一步转向打算进一步转向打算进一步转向Linux Linux 用于用于用于用于用于用于用于用于ARM ARM 和和和和和和和和PowerPC PowerPC?Intel Intel 为支持为支持为支持为支持为支持为支持为支持为支持多核设计多核设计多核设计多核设计多核设计多核设计多核设计多核设计,打算发展软件打算发展软件打算发展软件打算发展软件,如嵌入式应用如嵌入式应用如嵌入式应用如嵌入式应用,打算发展软件打算发展软件打算发展软件打算发展软件,如嵌入式应用如嵌入式应用如嵌入式应用如嵌入式应用、LinuxLinux?面向可视电话面向可视电话面向可视电话面向可视电话、移动上网设备移动上网设备移动上网设备移动上网设备、车载娱乐车载娱乐车载娱乐车载娱乐面向可视电话面向可视电话面向可视电话面向可视电话、移动上网设备移动上网设备移动上网设备移动上网设备、车载娱乐车载娱乐车载娱乐车载娱乐/信息系统信息系统信息系统信息系统、航航航航信息系统信息系统信息系统信息系统、航航航航天天天天、国防等国防等国防等国防等天天天天、国防等国防等国防等国防等21 C/OSC/OS-II II 目前的商业模式目前的商业模式目前的商业模式目前的商业模式目前的商业模式目前的商业模式目前的商业模式目前的商业模式?1010101010101010人左右的团队人左右的团队人左右的团队人左右的团队人左右的团队人左右的团队人左右的团队人左右的团队,维护和发展内核维护和发展内核维护和发展内核维护和发展内核维护和发展内核维护和发展内核维护和发展内核维护和发展内核?和第和第和第和第和第和第和第和第3 3 3 3 3 3 3 3方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系方合作形成完整的软件包体系?GUI GUI GUI GUI?FS FS FS FS?TCP/IP TCP/IP TCP/IP TCP/IP?USB host&device)USB host&device)USB host&device)USB host&device)?CAN CAN CAN CAN?ModBusModBusModBusModBus?FlashLoaderFlashLoaderFlashLoaderFlashLoader?C/Probe?Building BlockBuilding BlockBuilding BlockBuilding Block?和自由软件的结合和自由软件的结合和自由软件的结合和自由软件的结合和自由软件的结合和自由软件的结合和自由软件的结合和自由软件的结合22MicriumMicrium 主页主页主页主页主页主页主页主页23思考与体会思考与体会思考与体会思考与体会思考与体会思考与体会思考与体会思考与体会?从从从从从从从从 C/OSC/OS发展到发展到发展到发展到发展到发展到发展到发展到 C/OSC/OS-IIIIII,经历了经历了经历了经历了,经历了经历了经历了经历了1717年年年年,从从从从年年年年,从从从从1 1个个个个个个个个小内核发展成为小内核发展成为小内核发展成为小内核发展成为小内核发展成为小内核发展成为小内核发展成为小内核发展成为1 1个可以和大的商业个可以和大的商业个可以和大的商业个可以和大的商业个可以和大的商业个可以和大的商业个可以和大的商业个可以和大的商业RTOSRTOS媲美的媲美的媲美的媲美的媲美的媲美的媲美的媲美的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的专门用于嵌入式系统的成熟的RTOSRTOS体系体系体系体系体系体系体系体系?不但开放源码不但开放源码不但开放源码不但开放源码,且出版图书且出版图书且出版图书且出版图书、教用户学习教用户学习教用户学习教用户学习、理解理解理解理解RTOS的商业模式的成功的商业模式的成功的商业模式的成功的商业模式的成功,说明开发源码是趋势说明开发源码是趋势说明开发源码是趋势说明开发源码是趋势?需要有团队维护需要有团队维护需要有团队维护需要有团队维护、发展发展发展发展?需要第需要第需要第需要第3方的支持方的支持方的支持方的支持?需要有与发展相适应的商业模式需要有与发展相适应的商业模式需要有与发展相适应的商业模式需要有与发展相适应的商业模式?是对是对是对是对VxWorks等大公司产品的冲击等大公司产品的冲击等大公司产品的冲击等大公司产品的冲击242009年年年年4月月月月7日日日日 Jean Labrosse 夫妇来清华访问夫妇来清华访问夫妇来清华访问夫妇来清华访问