3355|5

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

谈谈嵌入式操作系统的可移植性 [复制链接]


    许多操作系统夸耀自己的可移植性时,爱这样说:
    “超过xx%代码由C语言编写,只有xx个函数是汇编,移植时只有xx个函数需要修改”。他们所关注的不外乎是操作系统本身从一个硬件平台移植到另一个硬件平台的难易度,这根本就是舍本逐末的提法。试问,一个含嵌入式系统的产品中,操作系统重要还是应用程序重要?我们说嵌入式操作系统是嵌入式产业的核心,是针对整个产业来说的,毕竟,操作系统的装机量远大于任何一个运行于操作系统的应用程序。而对具体产品来说,则应用程序无论从哪个方面讲都远比操作系统重要。对一个企业来说,尤其如此,企业可能有非常多的衍生产品,他们同同一份操作系统拷贝,或者有许多产品系列,系列之间的操作系统也只是稍有不同。他们花在移植操作系统上的时间,远小于应用程序的工作量,甚至可以忽略不计。因此,操作系统的可移植性,应该把重点放在协助应用程序移植上,那才是可移植性的精髓所在。
    djyos在这方面是非常出色的,举个例子,如果某企业有两个相似产品,产品L不需要显示界面,产品H需要显示界面,其他功能相同,在的djyos下,你可以轻易做到:
    1、把软件分成两大块,一块是显示部分代码,称为模块A,另一块是显示无关代码,显示无关代码完成产品的整体功能,调用显示部分的功能实现界面显示,称为模块B。
    2、如果是si模式,A+B一起编译就是产品H,单独编译B就是产品L。编译产品L时连模块B中跟调用显示功能的代码都无需修改。
    3、如果在dlsp模式下,则把模块A编译成A.out,模块B编译成B.out,把A.out和B.out一起copy到autorun目录下就成了产品H,单独copy  B.out就成立产品L。
    djyos的各模块设置,无不是围绕方便应用程序移植来设计,多事件调度器、泛设备组件、异步信号同步功能、事件和事件类型同步、应用程序模块加载器等,都为此做了许多考虑。今天很累了,暂不细说,在接下来的一段时间里,我将系列化发帖,讲述djyos中如何协助应用程序可移植,以及软件可移植性与可靠性之间的关系。
    本系列文章的内容,都可以在《都江堰操作系统与嵌入式系统设计》一书中找到,欢迎访问:
www.djyos.com
你会有所收获的。

最新回复

不大明白, 感觉像是一个把OS和app混搅在一起的东西,  详情 回复 发表于 2009-1-10 12:21
点赞 关注

回复
举报

56

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
顶 楼主,祝你成功!我看了你的书,还是学到不少东西的,不过我建议你还是找一个赞助商,凭你一个人太单薄了。
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼主,正在看你的书,虽然我还是一个没入门的人,但我觉得你的想法很有新意。支持你!加油!我会继续关注
djyos的发展的!
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
用标准C写的应用程序,会有移植性问题么?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 yangb_soso 的回复:
用标准C写的应用程序,会有移植性问题么?

实际产品中,很难看到完全标准C的应用程序的。不管多少都会有别的库和函数的。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
不大明白,
感觉像是一个把OS和app混搅在一起的东西,
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表