Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1308421
  • 博文数量: 273
  • 博客积分: 5865
  • 博客等级: 准将
  • 技术积分: 3280
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-11 10:01
文章分类

全部博文(273)

文章存档

2015年(33)

2014年(11)

2013年(11)

2012年(136)

2011年(32)

2010年(50)

分类:

2010-11-16 17:27:16

转自:http://user.qzone.qq.com/87933909/blog/1277127868?ptlang=2052&ADUIN=253849411&ADSESSION=1277173167&ADTAG=CLIENT.QQ.2719_FriendTip_QzoneFolder.0

 

1. 首先熟悉 Linux
建议在 Windows 上安装 VMware Workstation 6.5.0(以下简称VM), 下载种子在 上找。
安装好 VM 后,在VM里安装 Linux Fedora core 4 或者最新的 Linux Fdrora 12, 下载网址:
在Winodws 上用开源的 putty, 或者 SecureCRT 通过SSH访问VM里的 linux. 
Winodws和Linux间copy文件可以通过开源的 Winscp,或者在VM里开启文件共享,或者在linux上开启SMB服务。

建议熟悉文本界面上常用的 shell命令。当然linux的图形界面也比较友好,在文本界面通过 startx 可以进入GUI。
这类书籍太多了,自己去找两本国外作者写的linux入门书。

2. 在Linux上,用C,C++做应用程序开发(服务器程序,即非GUI程序)。

建议看经典的书《Unix环境高级编程》,W.Richard Stevens著。网络编程可以看《TCP/IP详解》三卷书.
学习Makefile的写法。
我习惯在linux上启用 smb 服务,在windows xp上用 source insight 编辑C、C++代码,通过SecureCRT访问linux, 执行make命令,
整个工程自动生成。当然也有高手喜欢用VI, 我一般不用,除非没有可以选择的编辑器。
要是有VC的开发经验,学习起来很快,估计2周就能上手。

3. 进入 Linux 内核开发。
内核开发的学习难度要比 Linux 应用程序开发大 3倍左右。基本上,有一年的linux应用开发经验,就可以主动进入到linux 内核开发。
必 看的书籍;《Linux Device Drivers》,《Understanding TheLinux Kernel》,《Linux Kernel Development》(分别简称LDD,ULK, LKD)。LDD,ULK,我从卓越网或者当当网买了纸质版的。当然PDF格式的电子版也有,大家可以google.

学习编译内核,配置内核,用新内核启动系统.
学习写内核模块, 了解内核常用的API。
可以分析TCP/IP协议栈,网卡驱动等等。
例如TCP/IP协议栈,经典的书:
W.Richard Stevens著《TCP/IP详解》三卷书.
RFC文档。
lwIP,一个开源的TCP/IP协议栈,比Linux自己的TCP/IP协议栈要简单。
开源的协议分析工具:wireshark。
学习网络技术,可以参考我在VC版的贴子:

阅读(906) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~