首页教程软件资讯正文

龙芯搭建linux,要依据什么原则设计开发嵌入式系统

发布时间:2024-05-29 17:16:04 来源:其它 作者:未知

1,要依据什么原则设计开发嵌入式系统

1,要依据什么原则设计开发嵌入式系统

你认为中国在这一块是一块空白?那龙芯的操作系统是咋回事?

就基于Linux的系统,中国也出了不少

如果说基于Linux的系统不算,那么Android也应该不算

如果要完全跳出Linux的系统,中国也不是没人做,就去年我还在CSDN看到有人开放了代码,像个DOS一样的系统,没有漂亮的Shell,但是能够调度任务和分配内存,基本的驱动也有,他是按照MenuetOS的理念模仿做的系统,真要弄出个Shell也非难事,因为MenuetOS也是开源的,而且也有个类似Windows的Shell,而且还有一个汇编编译器,可以在系统中用汇编写应用程序,应用程序的接口全是直接调用系统中断来实现,汇编看起来都很漂亮,但MenuetOS还是用了不少Windows的理念进去,比如文件系统就用了FAT32

一个全新的操作系统意味着什么东西都没有,包括编译器难道自己写交叉编译器?要知道编译器和系统是挂钩的,是先写编译器还是先写系统?要改多久才能改好一套基本能用的编译器和系统?除此之外还有那么多驱动要写,那么多架构要搭建,那么多工具要开发,不是一个精良的大型团队根本无法完成,就现代的应用程序来说,要搞明白那么多系统接口都很多,何况是没有储备资源的这么全部重头写即使写出来了还要让人去适应,最主要的还不兼容现有系统,因为理念全是新的填补这样的空白付出的代价不是普通企业能接受的,个人就更不可能

Linu

x,Windows之所以能发展到今天,也是重Uinu

x,Dos这样从古代慢慢过度过来的,如果没有能超出现代或替代现代的产品出现,难道还想让人回去石器时代?这不会有人能接受吧除非你有办法挖一群这样的人来搞,依靠他们的储备去完成这样的工作,否则单靠自己有点小技术是根本不现实的事情

要把软件做得非常灵活又要便于维护是一个很困难的事情灵活的软件他的结构就复杂,维护起来就困难有得必有失,关键就在于如何处理这两者,使得大于失软件的设计开发应遵循以下六大原则:

1.ocp

全称:open-closedprinciple开放-封闭原则

说明:对扩展开放,对修改关闭

优点:按照ocp原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性,灵活性,稳定性都比较好当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试

如何实现开-闭原则

在面向对象设计中,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层换言之,定义一个一劳永逸的抽象设计层,允许尽可能多的行为在实现层被实现

解决问题关键在于抽象化,抽象化是面向对象设计的第一个核心本质

对一个事物抽象化,实质上是在概括归纳总结它的本质抽象让我们抓住最最重要的东西,从更高一层去思考这降低了思考的复杂度,我们不用同时考虑那么多的东西换言之,我们封装了事物的本质,看不到任何细节

在面向对象编程中,通过抽象类及接口,规定了具体类的特征作为抽象层,相对稳定,不需更改,从而满足对修改关闭;而从抽象类导出的具体类可以改变系统的行为,从而满足对扩展开放

对实体进行扩展时,不必改动软件的源代码或者二进制代码关键在于抽象

2.lsp

全称:liskovsubstitutionprinciple里氏代换原则

说明:子类型必须能够替换它们的基类型一个软件实体如果使用的是一个基类,那么当把这个基类替换成继承该基类的子类,程序的行为不会发生任何变化软件实体察觉不出基类对象和子类对象的区别

优点:可以很容易的实现同一父类下各个子类的互换,而客户端可以毫不察觉

3.dip

全称:dependenceinversionprinciple依赖倒置原则

说明:要依赖于抽象,不要依赖于具体客户端依赖于抽象耦合

抽象不应当依赖于细节;细节应当依赖于抽象;

要针对接口编程,不针对实现编程

优点:使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性

怎样做到依赖倒置?

以抽象方式耦合是依赖倒转原则的关键抽象耦合关系总要涉及具体类从抽象类继承,并且需要保证在任何引用到基类的地方都可以改换成其子类,因此,里氏代换原则是依赖倒转原则的基础

在抽象层次上的耦合虽然有灵活性,但也带来了额外的复杂性,如果一个具体类发生变化的可能性非常小,那么抽象耦合能发挥的好处便十分有限,这时可以用具体耦合反而会更好

层次化:所有结构良好的面向对象构架都具有清晰的层次定义,每个层次通过一个定义良好的,受控的接口向外提供一组内聚的服务

依赖于抽象:建议不依赖于具体类,即程序中所有的依赖关系都应该终止于抽象类或者接口尽量做到:

1,任何变量都不应该持有一个指向具体类的指针或者引用

2,任何类都不应该从具体类派生

3,任何方法都不应该覆写它的任何基类中的已经实现的方法

4.isp

全称:interfacesegregationprinciple接口隔离原则

说明:使用多个专一功能的接口比使用一个的总接口总要好从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的过于臃肿的接口是对接口的污染,不应该强迫客户依赖于它们不用的方法

优点:会使一个软件系统功能扩展时,修改的压力不会传到别的对象那里

如何实现接口隔离原则

不应该强迫用户依赖于他们不用的方法

1,利用委托分离接口

2,利用多继承分离接口

5.carporcrp

全称:composite/aggregatereuseprinciple合成/聚合复用原则orcompositereuseprinciple合成复用原则

说明:如果新对象的某些功能在别的已经创建好的对象里面已经实现,那么尽量使用别的对象提供的功能,使之成为新对象的一部分,而不要自己再重新创建新对象通过向这些对象的委派达到复用已有功能的

简而言之,要尽量使用合成/聚合,尽量不要使用继承

优点:

1)新对象存取成分对象的唯一方法是通过成分对象的接口

2)这种复用是黑箱复用,因为成分对象的内部细节是新对象所看不见的

3)这种复用支持包装

4)这种复用所需的依赖较少

5)每一个新的类可以将焦点集中在一个任务上

6)这种复用可以在运行时间内动态进行,新对象可以动态的引用与成分对象类型相同的对象

7)作为复用手段可以应用到几乎任何环境中去

缺点:

就是系统中会有较多的对象需要管理

6.lodorlkp

全称:lawofdemeter迪米特原则orleastknowledgeprinciple最少知识原则

说明:对象与对象之间应该使用尽可能少的方法来关联,避免千丝万缕的关系

如何实现迪米特法则

迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点:

1)在类的划分上,应当创建有弱耦合的类类之间的耦合越弱,就越有利于复用

2)在类的结构设计上,每一个类都应当尽量降低成员的访问权限一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性

3)在类的设计上,只要有可能,一个类应当设计成不变类

4)在对其它对象的引用上,一个类对其它对象的引用应该降到最低

还有个单一职责原则:

srp简介(srp--single-responsibilityprinciple):就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因所谓职责,我们可以理解他为功能,就是设计的这个类功能应该只有一个,而不是两个或更多也可以理解为引用变化的原因,当你发现有两个变化会要求我们修改这个类,那么你就要考虑撤分这个类了因为职责是变化的一个轴线,当需求变化时,该变化会反映类的职责的变化使用srp注意点:

1,一个合理的类,应该仅有一个引起它变化的原因,即单一职责;

2,在没有变化征兆的情况下应用srp或其他原则是不明智的;

3,在需求实际发生变化时就应该应用srp等原则来重构代码;

4,使用测试驱动开发会迫使我们在设计出现臭味之前分离不合理代码;

5,如果测试不能迫使职责分离,僵化性和脆弱性的臭味会变得很强烈,那就应该用facade或proxy模式对代码重构;srp优点:消除耦合,减小因需求变化引起代码僵化性臭味

2,什么电脑才是配置最终端的?

2,什么电脑才是配置最终端的?

超低价电脑层出廉价市场也应注重价值昨天,英特尔宣布,其将在2008年第三季度推出100美元的超低价台式PC平台Shelton当超低价的ClassmateP

C,EeeP

C,OLPC相继亮相后,很多人恨不能马上买到,但也有不少人持怀疑态度在大学计算机系毕业工作不久的小陈却认为,这只是一种冲动,很可能买完后就开始后悔其理由相当简单:功能应用不能满足需求

震撼:超低价电脑层出不久前,华硕在Computex展推出售价199美元的低价笔记本EeePC,引起轰动卷入超低价浪潮的还有英特尔,其超低价电脑名为ClassmatePC;还有美国麻省理工学院教授尼葛洛庞帝的OLPC(百元笔记本项目组),不过其价格现在也一升再升,目前售价399美元两台(其中1台必须捐给发展中国家的儿童)

国内的超低价电脑也早就面市,四川国芯以998元销售过国芯天恩GX-2,其一款笔记本电脑最低售价1998元江苏的国内首款龙芯电脑,售价仅为1599元

有电脑玩家详细解剖超低价电脑,认为EeePC配置最强,采用英特尔800MHz或900MHz的CeleronM处理器,Linux操作系统,搭载七英寸LCD屏幕,4GB固态硬盘(SSD,SolidStateDisk),512MB闪存;英特尔推出的MID(MobileInternetDevice)更像手持终端,4.8英寸的屏幕,搭载IntelA110CP

U,1GB/512MB内存,40GB硬盘,内建Wi-F

i,蓝牙和GPS

配置:瘦身太多销量低使用过时的处理器,硬盘太小或者屏幕太小都不是一个完整意义上的电脑有消费者认为,虽然可以利用网盘存储文件,但这有外泄危险,上网也不是特别方便太平洋电脑城一经销商告诉记者,在国内销售的低价电脑,虽然看起来价低,但经常不带显示器,配置又太低,销量并不好一般而言,入门级电脑应该在3000多元记者发现,低价电脑的配置基本都使用Linux操作系统

2005年国内第一份服务器操作系统整体拥有成本(TCO)研究报告指出,目前中国用户应用Linux面临高成本障碍,其总经理曲晓东指出:目前Linux的TCO要远高于Windows系统,有些甚至高出41.3%技术人员告诉记者,部署Linux或者从Windows向Linux转移所需成本四倍于Windows升级,而需要的时间则是Windows升级的3倍

游戏玩家E-BOY告诉记者,此前有人告诉他Linux不支持Word文档Windows是家庭,娱乐,居家必备的系统LINUX是所谓的电脑高手才能使用的,使用不是很方便观点:廉价市场也应注重价值低价电脑显然针对的并不是主流市场,比如学生市场和农村市场一位不愿透露品牌的厂家市场总监告诉记者,这种渠道建设对厂家就是一种考验,投入会很大

涉及到电脑维护,不管是学生用户还是农村用户,他们对电脑知识的缺乏势必加大电脑维护的频率,再加上低配置,需要维护的几率更高在城市中的学生市场还好一点,如果去到农村市场,交通不便,物流成本很高都会导致售后服务成本高,所以售后服务的难度非常大为每个需要者提供廉价的电脑为了这个目标,罗马尼亚政府专门成立了工作小组,希望早日为全国120万名中小学生每人配备一台百元便携电脑

关于发展廉价计算机的梦想,是要帮助发展中国家和地区的人们跨过数字鸿沟但不能违背一个基本的准则:计算机不能独立于基本的经济规律而存在它不仅仅是廉价,而应该是更有价值的产品两种观点都没错,就看你怎么选

文章TAG: 搭建 设计 嵌入式 开发 龙芯 linux 龙芯搭建linux

还没有评论,快来抢沙发吧!

最新发现

相关资讯

新闻热榜

热门游戏

精彩专题