搜索
bottom↓
回复: 0

谈谈嵌入式操作系统的可移植性【恢复】

[复制链接]

出0入0汤圆

发表于 2009-1-8 17:37:06 | 显示全部楼层 |阅读模式
    许多操作系统夸耀自己的可移植性时,爱这样说:

    “超过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

你会有所收获的。

本贴被 djyos 编辑过,最后修改时间:2009-01-08,17:43:28.

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 18:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表