Linux学习总结报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux学习总结报告
一、嵌入系统应用前景
Linux的应用领域不断扩展,从最早的Web、FTP、邮件服务开始,逐步扩张到个人桌面应用、网络安全、电子商务、远程教育、集群计算、网络计算、嵌入式系统等各个领域。更是吸引了想IBM、SUN、惠普这样的IT巨头积极参与到Linux应用的开发和推广中来。Linux之前主要应用于服务器及计算集群,未来应该该在个人计算机上有所发展,优化目前的图形化界面,以及加快桌应用的开发,以及在智能终端的应用。首先,微软不会甘心让出市场让Linux来壮大,所以Linux必须发挥其本身的优势,赢得更多的用户,已达到其能不断的开发和更新。再者,由于开源软件的商业模式及技术模式没有前例可循,注定了Linux的前路不会是一帆风顺的。我认为,当前Linux的发展主要面临以下几个问题:一是Linux企业众多但未形成规模,也还没有找到有效的赢利途径,并且版本繁多,互不兼容,削弱了竞争力;二是随着逐渐流行而引发的安全问题;三是人才不足的隐忧。Linux的最大优势在于它是开源的,也即开放的。但出于各自的商业利益,各企业分别在其发行的版本上加载各种不同的功能,彼此之间不兼容。这些不同的版本意味着厂商和用户测试的工作量加大,意味着硬件厂商需要为每一个版本的Linux提供驱动程序……这种情形目前正在削弱整个Linux的市场竞争力。安全方面,随着Linux越来越受欢迎,越来越多针对Linux的蠕虫、病毒和恶意软件也会层出不穷。虽然开放源代码社区都在及时响应并修补Linux上存在的漏洞,但Linux的非集中管理本质特性使Linux升级的发布和审查变得非常困难。一旦Linux 由于安全问题给用户特别是企业用户造成损失,其不良影响及对用户信心的打击是巨大的。当前制约着Linux发展的还有一个关键因素,那就是人才。相比前几年,国内懂Linux的技术人员已经多了很多。但是作为一个快速发展的产业,人才的广度和深度都远远不够。能够对内核有所研究的人才少之又少,多数都是一知半解。有限的人才又都集中在Linux厂商内,系统集成商、代理商、应用软件开发商等拥有的人才更少,制约着完整的Linux产业链的形成
二、研究方向
嵌入式的发展方向有很多,门槛高低不一样。具体来说:
1.单片机:工控程序(不跑os)--入门容易,无外乎就是掌握汇编和c,能够根据datasheet来写,发展前景一般,也没有太大的技术难度,除非你在算法上面有优
势,比如智能车会各种PID,模式识别上会神经网络,优化上会遗传算法等等,但是
这些复杂的控制一般就不会裸奔了(除非环境恶劣),肯定是处理器强悍,带os的;硬件制作--就是数字电路,涉及单片机的外设,感觉难度也不高,据我说知,只会单
片机无论硬件还是软件工资都不高,也没有特别大的技术含量,同时,单片机更新换
代特别快,你需要从大量的单片机中找寻适合产品的,看不同的datasheet。
2.ARM:这个搞的人很多,软件上就是 1.写底层驱动,这个入门,深入都不容易,需要对硬件及os有较深的了解,发展还是很不错;2.操作系统-比较复杂,linux,android等,你看现在很多手机厂商推出的操作系统也就是修改内核,换皮肤,就业还是很容易的;
3.应用程序,就是android开发或者Linux上应用开发(QT 等),做的人很多,就业容易待遇也不错,需要掌握c++/java。硬件上1.就像手机一样在处理器上做整体的电路,比单片机入门难的多,做成技术大牛了不缺钱。
2.soc,架构开发等后面会提到
3.FPGA:就是硬件编程,入门很简单,做深很难,要对时序有非常深的理解和大
量的项目开发经验,就算你做的特别好,前景还是不明确。FPGA近年的一大热门就是
软件无线电,成本还降不下去,同时AD采样速度目前不够,导致FPGA的应用有限,
一般公司都是把它作为一个验证工具比如IC设计上的验证。只会FPGA就业会很窄,
也不理想,建议作为工具学习。
4.DSP:就是算法,你需要一个名牌大学研究生以上学历,同时在算法和数学上有很强的能力。如果做不到,就不用搞了。
5.IC设计,做微处理器上的soc,前端后端,专用处理器(应该也属于嵌入式领域),入门难,成为牛人更难,对计算机体系结构,微处理器结构,集成电路等等有
比较深的认识,然后项目经验大大的有才行。不过国内行情一般,外企招人少,希望
今年开始国家的扶持政策能够发挥作用。
6.微处理器体系结构:偏理论,偏宏观,研究生能够对整个体系结构有个比较浅
的了解同时在局部上能够做一点设计工作,博士生能够对整个结构有较深的认识在局
部上能设计。现在搞的多的是高性能体系结构,低功耗结构,并行开发等等,因为功
耗和并行限制了目前处理器的速度,所以在低功耗和并行上开发有很大的前景,同时
基于神经网络的架构处理器,云计算处理器等专用处理器也是目前的一个热点。发展
前景很好,但是难度不是一般的大,从中国在架构上做出的贡献在世界上分量很少就
可以看出。
三、系统移植作用
随着各种芯片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。目前,
嵌入式产品应用领域涉及移动通信、汽车、医疗、家电等很多领域。而且,如今的嵌
入式硬件的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行操作系统就成
为了可能。一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软件产品。如果将这些优秀的软件应用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌
入式产品开发成本,提高软件稳定性和安全性的重要途径。
四、就业领域
嵌入式开发的门槛相对较高,对程序员的要求一般都是对底层感兴趣,学习能力、动手能力要强,对问题能够从全局和细节去把握,有很强的系统分析和设计能力。从
工程师起步,一般有几个发展方向,一个是成为技术方面的核心,领域内的专家;另
一个是从项目中锻炼起来,成为项目主管或是管理型人才;再有就是利用自己的技术
及行业经验去创业。
硬件和软件的发展方向是不同的。说说软件需要学习的知识。
虽然说搞嵌入式软件更多时候是在实际的工作中学习的,但一些重要的基础知识
不可或缺。
1.计算机组成/微机原理
主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一
些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2.操作系统
嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是
殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统
等几个重要的部分,因为这些在软件开发尤其是内核驱动开发时会用到。接下来可以
去熟悉至少一种主流的操作系统,Linux是一个很好的选择,去了解它的内核架构,
设备驱动架构,如何去编译,裁剪,编写应用程序,以及如何使用在具体的嵌入式产
品上。
3.数字电路