2、开源,支持多平台,可以方便地移植,在pc上开发的,很容易移植到很多平台,包括嵌入式;
3、大量的开源软件,涵盖各行各业,资源及其丰富;
4、软件执行效率很高,对硬件要求极低;
5、系统安全,稳定性极好,windows 与它不是一个档次。
如果你深入调查,就会发现,windows 在科研方面没有任何优势,除非软件平台指定为 windows。
在linux下,与研究性开发的软件项目很多很多,比如,opencv ,开源的图像识别,开源的语音识别\合成,开源的机器人实验平台,开源的多媒体处理,图像处理,科学运算(比 matlab 性能好的多),视频编辑(效率比win的高很多倍),文档编辑(不用担心软件升级造成的兼容性问题),集群,开源的无线通讯(软件无线电,超强),甚至还有卫星信号的解码软件。
曾有这样的帖子,说,最先进的技术,首先是用在linux上的,这样是有根据的。
微软的创新是很有限的,unix 的创新是受商业限制的。
想想,winxp用了这么多年,近十年的新技术( *** 作系统方面的),都没有进入;win7,也是,一旦成型,就不会轻易加入新的技术。而linux,每天都在进步,
内核中,虚拟化技术,进程调度的不停改进,文件系统的开发,驱动程序的开发,支持最新的硬件规范,最新的硬件平台。
如果你留心,就会发现,从家用路由,到华为,思科高档商用路由,几乎全是linux系统;
mp3、mp4、手机、平板电脑,也是linux的主导;苹果的ios,是linux的兄弟;
每次超级计算机排名,用的还是linux;商用虚拟化,linux的天下;集群,win的效率远不及linux;商用视频及特效处理,各种服务器,linux占了大部分市场。
总之,可以得出这样的结论:如果最终目的是民用,而且需要运行在用户电脑上(如,绿坝),或者对 *** 作系统平台有要求,就使用windows;如果仅仅是为了研究,对 *** 作系统平台没什么要求,就用linux吧,它会给你带来意想不到的效果。
看方向如果选择嵌入式硬件开发,就不懂了
软件开发的话,分底层和应用层
我是从事wince驱动开发的(快满一年),
以wince为例,底层就是boot、bsp修改、驱动开发这几部分
学习路线:
1、买个开发板
2、按照开发板上的例子玩玩,ARM汇编稍微能看懂,写点简单的程序跑跑,对汇编有个大概的了解,bootloader等等会多少涉及点汇编的东西
然后就是开发板上的一些驱动玩玩。如果可以拿相似的BSP移植到开发板上就更好了,对BSP就有更多的认识了,学完以上可能可以找到工作,在工作中进一步加深理解
如果是应用的话,wince,我们写应用用的是VS2005,VC++,和PC的开发基本差不多
学完一个 *** 作系统,切换到另一个平台相对而言还是蛮快的,基本都是相通的
我之前的经验是,我买了开发板玩了ADS程序写了小型的程序,就是把LED啊、液晶屏啊、等等驱起来,然后,在linux下玩驱动,写了几个简单的流驱动,去应聘,鬼使神差被招进去玩wince驱动了,感觉差得不是很多,玩了2周就开始上手,2个月之后,底层这块就都扔给我了
以上,仅供参考(至于开发板,如果是消费电子类的,好像三星的S3C系列用的人比较多,开发板也很多,工业类的就不懂了。至于选哪家开发板厂家,百度google一下)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)