搜索
bottom↓
回复: 5

djyos的可移植性(六)

[复制链接]

出0入0汤圆

发表于 2012-8-15 15:43:13 | 显示全部楼层 |阅读模式
4.     泛设备模型,解决移植问题    
与传统操作系统的设备驱动架构不同,djyos的设备驱动程序被赋予了更广泛的含义,它是被设计成功能模块间互相访问的接口,功能模块可能是硬件,也可能是软件,还可能是软硬件结合的模块,驱动程序不再仅仅是访问硬件的接口。从软硬件联合设计的角度,DJYOS系统并不区分软件模块还是硬件模块,如果完整产品由多个模块组成,任意一个模块在别的模块“眼里”都可以以设备的形式出现的,使用设备的模块并不知道该设备的实现细节,也不知道该设备是由硬件组成的还是由纯软件组成的。某一个功能由软件实现还是硬件实现并不重要,关键的是,它实现了需要的功能,并且为别的模块提供了相同的访问和操作接口。
    在软件开发领域,我们还会碰到以下2种尴尬:
1.         许多企业起步时往往都没有什么编程规范,软件一般由几个高水平的天才完成,往往是软件实现技巧非常高明,但由于缺乏规范和标准,但软件的接口往往不好。当企业发展壮大后,软件开发就会规范化,这些早期软件就显得有些非驴非马了。它一方面是老一代程序员的心血结晶,而且确实有很大的价值;另一方面,它又很难与新软件配合使用。把他们作为包袱背上吧,软件的规范性就会受到破坏,让系统很别扭;如果舍弃这些代码,实在有些可惜。
2.         很多企业开发产品时会利用开源代码或者购买商业化的中间件来加快产品开发,也确实有许多开源代码是非常优秀的,许多开源代码有一些组织在维护并不断升级。但是这些代码的书写格式以及编程规范往往与企业的规范和程序员的习惯不一致,如果直接与公司的其他代码揉在一起,势必会破坏代码的一致性,轻则导致书写风格的不统一,重则会使代码的接口规范遭到破坏,使其他代码削足适履地迎合这些开源代码。重写这些代码以使其符合规范也是不明智的,因为重写会导致潜伏bug,而且不能享受开源代码维护者升级的好处。
    上述问题,归根到底,是可移植性问题,就把旧的、不规范的软件整体移植到新的软件环境中的问题。
    在DJYOS操作系统中,利用泛设备驱动程序概念,很好地解决了上述问题。只要把这些“老”程序和开源程序统称为外来程序,象对待硬件模块一样,做个driver把这些模块封装起来,把这些外来程序当作设备来访问,其他模块就可以用标准的符合规范的方法访问这些“老”代码了。当然,软件模块之间使用driver,效率会有所降低,但当今电子技术的发展,一个产品中计算部分所占的成本已经越来越低了,提高运算系统的速度只需增加很少的成本,甚至有许多嵌入式系统根本就没有充分利用cpu的计算能力。

出0入0汤圆

发表于 2012-8-15 17:22:42 | 显示全部楼层
顶,,占个沙发

出0入0汤圆

发表于 2012-8-18 16:02:09 | 显示全部楼层
顶  板凳~~~~~~~~~

出0入0汤圆

发表于 2012-8-19 11:57:42 | 显示全部楼层
最近在研究操作系统,什么时候有空跟大侠讨教一二,:)

出0入0汤圆

 楼主| 发表于 2012-8-19 17:03:23 | 显示全部楼层
随时恭候啊,可以QQ我:531707437

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-20 05:12

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

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