新闻分类
Android
嵌入式Linux
Symbian
WinCE
 
 
首页 >> 嵌入式Linux >>
 
  嵌入式Linux人才的发展方向  
 

作者: Sakiulagi


【1】 linux的发展方向和主要应用领域
企业级
不同类型服务器的细分, 其实就是安装了不同的服务, 然后针对这个服务对系统性能进行有针对性的调整。
集群/大规模的科学运算
Linux的优点: 低成本,高可靠性; 缺点: 专业人才少。
桌面产品
发展方向: 办公,政府,大公司采购
Microsoft的主要竞争对手, 政府策略
嵌入式系统
消费领域
电子消费产品
 
【2】 需要的技术型人才
设备驱动
Linux对各种设备的支持仍然落后于MS。 这个很多因素造成的,不过也留下了一个很大的缺口。
网络安全
大量的网络服务器的应用对安全的要求,包括服务器本身和其他的网络设备如路由器,防火墙。
OA
办公产品的开发,设计
系统管理
Linux服务器的日常维护,性能调整,系统架设
嵌入式开发
各种嵌入式系统上的开发。
 
【3】关注的基础知识
-操作系统 / Linux内核 的基础知识
基本的概念是最重要的,比如很多网友问我的机器变慢怎么办?其实就是你的某些资源被消耗殆尽了,不外乎是首先检查瓶颈,比如那个应用把系统内存吃光了。如果操作系统好好学习一下,很容易理解Linux,甚至是一般的操作系统的很多看起来很深刻的东西。 内核不是什么高深的东西。 你在操作系统课上学的pv操作都可以看到,一些UNIX的基础知识也很重要,比如什么是文件系统,什么是mount,什么是设备文件,甚至什么是linux?分发版?还是内核?如果我说我的系统是Linux 9.0的,这个说法确切么?
 
很多东西没有那么神秘的,关键是你的基础是不是够好。
 
-数据结构和算法
这个对开发人员尤其重要。不要管什么C/C++, java, 等等…… 语言不是最重要的,工具也不是最重要的,关键是你的思想。 如果你是一个开发人员, 那么这个基础就更是你的必修课了。因为学习数据结构和算法的过程就是培养一个人逻辑思维的过程, 我在这里不讲软件工程什么的,如果你的数据结构和算法都学不好,还怎么学习Design Pattern呢?
管理人员也是一样, 比如一个管理员不懂数据结构,可能只能依靠benchmark来了解文件系统性能,否则根据reiser4的dancing tree算法, 我们又可以多了一些根据来判断, 这个设计到底好在哪里?我相信任何一个Administrator都不会拒绝对自己的系统有更深入的理解的。

-C/汇编编程
在编程的思想和算法都已经学好的前提下,由于历史上UNIX和Linux都是用C写的。 大家也只好多学习一些C和汇编了。 如果Linux是用另一个语言写的,并且这个语言很流行,那么我可能就推荐另一个语言了。 这个是最基本的工具,能把你的思想变成现实的工具。是你和Linux系统的交流的共同语言。
即使是管理人员也要用, 总不能所有的软件都用rpm装吧? 再说对任何一件事物, 多了解一些内部的运行机制可以更好的理解它, 这一点大家可以同意吧?另外,如果没有一点编程知识的话,我觉得要维护一个安全的系统也是有一些难度的,如果了解了系统内部运作的机制,才能更好知道你的系统的漏洞在哪里,最简单的例子,一点编程不学,恐怕很难理解什么是buffer overflow. 而且在没有任何编程基础的情况下, 要理解操作系统的很多知识也是会遇到困难的。
 
-图形界面开发(Java, GTK+, QT)
随着Linux向桌面应用的发展,图形界面编程的人才将会有更大的需求。无论是用java还是用C/C++, 其实很多时候二者是结合的。
 
-网络
现在的社会,单独的一台计算机是没有多少用处的,所有的计算机都在网络上。现在这么多作网络安全的机会, 如果要是把网络, 比如tcpip的基础知识好, 不但有利于自己的进一步的学习, 同时对自己的职业前途也不能不说是一个很好的推动。
 
-日常使用和维护
至少会用vi吧? 至少会一点简单的shell编程吧? 无论你是用命令行,还是用图行界面, 只要用的熟练, 能解决问题,就可以了。 否则日常的工作怎么开展?
 
-HA/HP 集群
如果有条件可以看一下,这个是Linux的另一个很好的应用方向。
 
-个人能力
分析问题,解决问题。(这个在下面还会谈)。
 
-语言能力
总要看英文资料的,能看多少看多少,不能逃避啊。 很多人讲英文我不行, 谁帮我翻译成中文的。 这样一个比去新东方上课便宜的多的, 对你的英文阅读能力很有帮助的机会被浪费了……
 
(上面讲的这些不只是针对还在读书的同学们说的, 即使是已经工作了的网友,如果有志于开始学习Linux的话,那么我觉得很多的基础知识都有必要好好读一下。在这里之所以强调基础知识的重要性,是因为现在的令人眼花缭乱的新技术太多,其实万变不离其宗,最终还是要依靠这些最经典的知识基础。我前两天又看了一下UNIX第三版的白皮书,是70年代发表的。里面定义了什么是一个目录,这个定义和我们通常的定义有些区别,但是对理解文件系统的结构却有着很好的帮助。我不是搞学术研究的,和很多朋友一样,我也只能业余时间看看这些基础的东西,但是仍然觉得很有帮助。)

【4】 简单谈一下linux的学习方法
 
-看书
了解基础知识以后才有交流的基础。大家可以先到网上找些电子书。不过我个人更推荐买一本便宜的纸板书看看,对保护视力有好处。越是开始的时候,越要多看一些书,千万不要看到超过一页的文章就放弃了,很多厚书反复读过和实践过之后,就会成为你能力飞跃的第一动力。
 
-善用网络资源,学会搜索。
遇到问题先google一下,通常都会有收获。另外,网络上的手册很多。大家只要好好看一看,就方便的多。经常有朋友问很多操作上的问题,以我用的最多的Redhat为例,官方网站上有全套的安装,使用,定制,各种指南。如果通读一次,至少是日常的使用不会有什么太大的问题。同时还能对redhat linux有一个很好的理解。 
 
-多多动手,多多实践
我在开始学习的时候,把系统里所有的可执行文件的manual page都看一遍,然后把每个能试验的命令都运行一次。 我觉得只有试验才能得到第一手的资料。
 
-认真学习英文
中英文的资料各有各的有缺点,但有一点是肯定的。多看懂一些资料总是好的。而且很多时候还是英文的资料更全面,更丰富一些。比如关于多系统引导, GNU的网站上grub的手册是还是比较全面而细致的,语言也简练的很。GNU网站上的其他资料也很丰富。国内也由一些中文手册的翻译计划。

 
咨询电话
QQ在线课程咨询
QQ在线课程咨询
  MSN在线课程咨询
 
订阅新闻邮件
 
欢迎订阅3G杂志!