linux网络问题

1. 可以是做系统集成公司,做项目的,譬如:集群,双机...
2. 可以是到某公司做linux网管,不过一般windows也需要有些能力的。
3. 可以去某公司些脚本搞运维的,一般为网游公司。
4. 可以去搞java等编程公司做编程。
5. 可以去搞单片机编程,譬如:电冰箱的芯片。
6. 可以去搞手机开发,譬如:山寨手机的系统盗版如盗版安桌系统,盗版wm系统据说米很多。

网络技术 网维 嵌入式

说内核经典书籍之前,我觉得应该先明确学习linux的方向。之前看到一篇关于linux学习方向的文章,觉得写的很有道理,他把学习linux分为这么几个方向:
桌面系统:应用,像XP
内核源代码学习:研究,爱好,研发
系统管理:工作
应用开发:研发
服务器领域:服务器应用
系统集成:这个不知道
方向选择的原则就是,根据用途和学习时间。下面说正事,关于linux内核方面的书籍。两年前买了几块的linux砖头内核的书籍,不分先后的读起来,激情磨灭了不少,有时候搞得一头雾水、很是懊恼。凡是分个循序渐进的好,呵呵!
Linux内核完全剖析,0.11版本内核,赵炯写的,觉得麻雀虽小,五脏具全。一本书中差不多包含了所有的代码,而且加了很多注释。分析的很透彻,不错的内核研度入门书。 深入理解LINUX内核第二版,关于2.4内核的,如果有一些linux操作系统的基础,读着相当爽, 内容全面,而且用大量数据结构、宏名和函数,贯穿其中。遇到重点时,又附以代码、图解,理解起来比较容易。其中有些概念不是很正统,可能是作者有意为之吧!第三版是关于2.6。
linux内核源代码情景分析 ,中国人写的,博大精深呀。经常在细节上深入进去,看的时候,要记得经常切换回来。不是很容易看懂。因为有太多细节,经常看着前面的,就忘了后面的,特别是函数、宏名,要是觉得自己内存堆栈空间够大的话。可以拿来试试。
Linux设备驱动程序,虽是挂着设备驱动,但是大多是讲内核,也讲了很多系统接口。
内核2.4版源代码分析大全,李善平写的,典型的中国人写的书,概念都很清楚,整体框架也不错。比较理解“中国国情”。
还有UC/OS_II,5000多行代码的嵌入式操作系统,也是开源的,有了任哲、邵贝贝的那两本书,足以搞定了。感觉比较适合本科操作系统课程的课程设计,可惜俺哪会还看到。




学习内核不是件容易事,前面有很多前续课程要读。

1.C语言,推荐 The programmgin c language被称为圣经的书,不过没有中文版,不过C语言不太难,而且读内核也不需要你对C有多深了解。学习到指针和结构体就够你用了。

2.数据结构,不懂

这个想学是不可能的,推荐《数据结构》C语言版本。

3.操作系统,任何一个大学的教科书都可以。一定要看,虽然是纯理论。但不看这个,想看懂内核,那是不可能的。

4.微机原理,内核和底层相关,不知道微机原理是不行的。我学的时候书上是以INTEL 8086为蓝本,非常简单。后来看内核时候,补充了 80386以后出现的保护模式,非常复杂。但还是先看下老版的微机原理,先从简单的下手。

5.linux系统管理,推荐《linux系统管理手册》,被linux的作者推荐的系统管理书籍。

6,终于到内核了,我看的是《Linux内核代码情景分析》虽然有点老。但结合新的源代码,在了解机制后,代码实现上差距不大。

是不是有点恐怖,要这么多前需知识,其实如果你是计算机专业的,那么除了5和6外,其它的课程你应该在学校里面学过了。







Linux内核书籍点评
从99年开始带学生分析Linux内核,一路走来,积累了不少资料,也编写和翻译了近10本相关书籍,一直在摸索怎样才能使大家尽快走入内核,但似乎没有捷径。尤其是内核版本的不断更新,更是不少内核爱好者无所适从。

我们初次接触的内核资料是“The Linux Kernel”( https://www.360docs.net/doc/0e10918577.html,),介绍的是Linux2.0,尽管其中的内容过于概略,但其引导性的全面概述,使我们逐步找到了进入内核的入口。

依然记得“Concrete Architecture of the Linux Kernel”这篇文章,当我在网上查到这篇文章时,一遍遍的阅读之后,虽然还是朦朦胧胧的感觉,但这种高屋建瓴式的对内核的整体性把握,使得内核这个庞然大物有了骨架,这也符合了从整体入手,各个击破的思维模式。这篇文章对内核的分析采用了反向工程中自顶向下和自低向上的策略,对内核这样一个没有起点,也没有终点的圆球,首先得找一个入口点。也许大家认为从进程入手是个不错的选择,但我们啃的第一块硬骨头是“Unix下保护模式的编程”,主要阅读其中的第四章,关于保护模式。

另外,我们经常阅读的资料还有Linux Kernel howto。其实,最直接的资料还是源代码以及其中的doc。我经常访问的源代码网站是lxr.linux.no,其进行了较大的调整,不仅有内核的每一版本的源代码,而且增加了不少的文档。

我们的第一本书《Linux操作系统内核分析》在2000年出版后,很多读者给予认可。我想这可能是因为,在本书的编写过程中,我们没有拘泥于任何框框,只是把我们在分析2.0内核时,阅读的相关资料以及自我认识,比较原始的展现出来。尽管书所涵盖的内容远非我们曾经设想的,但对入门而言,可以让读者少走不少弯路。



本书之后,我们翻译了内核红宝书《Understanding The Linux Kernel》(已经出版了三版),在本书的翻译过程中,我时不时有插入源代码的愿望,也就是说,本书的原理和叙述比较顺畅,但如果没有源码在手,有时如坠雾里。因此建议,本书的阅读,尽量要与源码结合。

在这之后,在《Linux操作系统内核分析》基础上,对2.4版的内核进行分析。 当我着手《深入分析Linux内核源代码》这本书的编写时,看到了毛德操、胡希明 著的《Linux内核源代码情景分析》一书。厚厚的两大本,完全是娓娓道来。本书作者以英语情景会话的方式,对阅读内核代码路途中遇到的几乎每个函数,都一一说明。但是,因为内核代码的深层次嵌套,如果你在阅读的过程中,没有做好返回“现场”这样的准备,很可能走入某条小径后不知返回的路途在哪里了。但是,如果你有时间,而且有耐心,仔细阅读本书,应该说可以全景式掌握Linux内核。

在此说明,《深入分析Linux内核源代码》是针对Linux 内核2.4的,本书编写过程中,依然遵循了“Concrete Architecture of the Linux Kernel”一文的从顶向下的思路,同时还不断的比较2.2与2.4内核在开发驱动程序方面的差异。总体感觉,新版本对内核函数进行了较好的封装,让内核接口变得越来越容易。

《Linux kernel development》一书(中文名“Linux内核设计与实现”,已出两版,2.6内核),又一本口碑较好的Linux内核书籍。当我们费劲翻译完这本并不厚的书时,才感觉其涵盖信息量之大,相比《Understanding The Linux Kernel》,可以说,如果没有内核的基础知识,阅读之后,大有不知所以然之感。尽管这本书深得读者喜欢,我们的翻译也得到读者的极大认可,但还是建议读者有一定内核基础知识之后再去读这本书。

《The Linux® Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures》,我们翻译的另一本2.6内核书籍,本书的作者在IBM呆过多年,有开发经验。书中对涉及到的代码逐行给予了解释,因此,在一定程度上适合于初学者。

在翻译和编写了以上书籍之后,我们为清华大学出版社编写了《Linux操作系统原理与应用》一书,本书的侧重点不在逐行分析源代码,而是对部分源代码有所了解后,让读者能够动手进行内核模块的编写,每章后面的例子有一定的难度,但是,动手之后,再去了解内核相关内容就具有针对性了。

以上对内核书籍的简评,只限于我们编写和翻译的,像《Linux Device Driver》也是经典内核书籍,并没有给予说明,但建议想进行驱动程序开发的读者最好去阅读。






由于本人是做lin

ux培训的,所以对于初学linux系统的朋友接触的比较多,对于初学linux时遇到的问题了解的也够深刻;

以下言论有不周到的地方望朋友们指出:

首先说明希望学linux的朋友能够忘记windows,最起码忘记windows下的盘符、应用程序等基础的东西,其次要深刻明白linux和windows是2个不同的系统平台,可以去对比着学习,但不要直接拿windows那套东西直接套用到linux学习中。

学习方向:

一、桌面系统,就是系统安装好后的视窗系统,在windows下叫windows,在linux下叫 X Windows,其实只是名字不一样而已(ps:看看红旗做的桌面,真是跟windows要做象有多象,真 晕,这样虽然有助于linux桌面的使用,但对于linux系统的推广真是没什么好处)

很多初学linux人的安装好linux后,进入其 X windows桌面,兴奋不已,以为大工告成,linux自己会了,这种想法是很可怕的;如果我告诉你linux的X windows环境不是linux 系统,它只是在linux下面运行的应用程序(类似于在windows下运行office2000),你是怎么想的?

windows下的应用程序几乎是不能直接在linux系统下安装和使用,学编程的应该明白,所以不要去找windows工具盘安装你的RAR,QQ,realone等常用工具,你是装不上的。

你可以尝试去安装你硬件的最新驱动程序,安装linux下的常用工具,做一些linux简单的汉化,你就会理解经常在论坛里问这方面问题的朋友的困难了。

总之,学桌面,不是学linux系统。


二、内核源代码学习。跟unix操作系统一样都是用C语言编写。

去买正版的linux系统(不是很贵),会附带一张或者2张linux源代码盘,
linux程序员从这里开始,是起点也是终点~~~~
c就是比较NB,所以本人放弃~~~不是那块料啊!!!!

很羡慕能经常写些读核日记的朋友,强啊!支持你们~~~~~~~~~
有兴趣的朋友可以尝试~~~从身边做c的朋友那里看到,以后会受益终身的!


三、系统管理

也就是管理linux系统环境:SHELL、图形、系统服务、硬件驱动等等。

系统管理LINUX跟UNIX类似(是看了些unix系统管理才这样说的),基本上都是通过命令----->配置文件----->脚本文件。

初学这建议从这里开始,不要一味去安装Xwindows,这个X windows环境只要你尽量保持经常使用,相信学会是自然而然的事情.(感觉那真实没什么好学的,只要计算机应用在1年以上的朋友,应该都能在上面操作吧)


四、应用开发

在linux应用上,LINUX确实跟它的竞争对手WINDOWS相比还有一定的差距.(大家都用的饿是盗版啊,如果都用正版的系统,你看用linux的多还是用windows的多,开发 linux程序的人多还是开发windows程序的人多,钱在那里摆着呢)


不过在高端的应用上,linux的市场是越来越大,如:

linux内核开发;
----PDA个人掌上电脑;
----专用的网络设备;防火墙设备,VPN设备。。。我都见过,是用linux编写的,国产的,现在销售的十分不错;
----硬件驱动程序


linux网络编程:
----php编程,建立动态站点;
----jsp编程,
----perl,cgi编程;
linux系统下数据库的开发:
----my sql中小型数据库系统;
----oracle数据库
----DB2数据库,IBM数据库系统

五、服务器领域

一说linux,很多自然就想到了做服务器,但现在网络服务器方面,linux的市场占有率确实是第一的;


linux服务器领域:
----代理服务器,使用的是linux的iptables功能;
----电影服务器,使用的是linux的samba服务的功能,文件和打印共享服务器
----游戏服务器,cs服务器,在linux系统下使用cs的linux版本建立的服务器
----客户存档服务器,采用的linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的

----www服务器,使用的是linux下的apache服务器软件
----ftp服务器,下载服务器,使用的是linux下的wu-ftp,pro-ftp,vs-ftp软件
----mail服务器,采用的是linux下的sendmail,qmail软件
----dns服务器,使用的是linux下的bind软件
----数据库服务器,使用的是mysql或者oracle软件
----防火墙,软件防火墙服务器,使用的是linux的iptables功能建立的
----路由器,软路由器,使用的是linux下的routed软件建立的
----拨号服务器,vpn服务器等等


六、系统集成

范围太广,内容太多。相信IBM等建立的linux研发中心主要就是做这个的。

2006-12-27 22:48 回复
218.14.199.* 2楼

去买正版的linux系统(不是很贵)
这句话是有问题的。大家凑合着看了,不用我说原因了吧。

2006-12-27 22:52 回复
218.79.111.* 3楼

尚观Linux研究室 https://www.360docs.net/doc/0e10918577.html,

UNIX/Linux集群数据库专家ULP
Linux系统/安全/集群/调优
UNIX平台Oracle9i 10g RAC 集群
签订年薪5万北京就业协议
# 学员将亲手制作一个小型Linux系统,
# 正式添加 PHP MySQL 编程课程,
# 正式添加SELinux课程
# 正式添加开发方面知识,并且提供Linux内核移植培训
# 全套OCP 9i课程 包含SQL 基础I 基础II Oracle数据库调优
# OCA 10g课程

Linux内核/驱动/嵌入式专家ULP
Linux内核/驱动,Linux嵌入式开发方向
UNIX/Linux C开发 年薪5万北京就业协议
Linux系统、Shell编程、UNIX/Linux下C开发基础

UNIX/Linux系统程序开发 网络程序开发 案例实践

Linux内核结构 内核开发环境

Linux驱动程序开发 PCI USB 设备项目实践

还有很多Linux学习的课程,具体

还是要看网站去具体了解,
有什么疑问也可以联系我 ,我的邮件是qiongz@https://www.360docs.net/doc/0e10918577.html,
MSN:qiongqiong888888@https://www.360docs.net/doc/0e10918577.html,







学习方向:

一、桌面系统,就是系统安装好后的视窗系统,在windows下叫windows,在linux下叫 X Windows,其实只是名字不一样而已(ps:看看红旗做的桌面,真是跟windows要做象有多象,真 晕,这样虽然有助于linux桌面的使用,但对于linux系统的推广真是没什么好处)

很多初学linux人的安装好linux后,进入其 X windows桌面,兴奋不已,以为大工告成,linux自己会了,这种想法是很可怕的;如果我告诉你linux的X windows环境不是linux 系统,它只是在linux下面运行的应用程序(类似于在windows下运行office2000),你是怎么想的?

windows下的应用程序几乎是不能直接在linux系统下安装和使用,学编程的应该明白,所以不要去找windows工具盘安装你的RAR,QQ,realone等常用工具,你是装不上的。

你可以尝试去安装你硬件的最新驱动程序,安装linux下的常用工具,做一些linux简单的汉化,你就会理解经常在论坛里问这方面问题的朋友的困难了。

总之,学桌面,不是学linux系统。


二、内核源代码学习。跟unix*作系统一样都是用C语言编写。

去买正版的linux系统(不是很贵),会附带一张或者2张linux源代码盘,
linux程序员从这里开始,是起点也是终点~~~~
c就是比较NB,可以本人放弃~~~不是那块料啊!!!!

很羡慕能经常写些读核日记的朋友,强啊!支持你们~~~~~~~~~
有兴趣的朋友可以尝试~~~从身边做c的朋友那里看到,以后会受益终身的!


三、系统管理

也就是管理linux系统环境:SHELL、图形、系统服务、硬件驱动等等。

系统管理LINUX跟UNIX类似(是看了些unix系统管理才这样说的),基本上都是通过命令----->配置文件----->脚本文件。

初学这建议从这里开始,不要一味去安装Xwindows,这个X windows环境只要你尽量保持经常使用,相信学会是自然而然的事情.(感觉那真实没什么好学的,只要计算机应用在1年以上的朋友,应该都能在下面*作吧)


四、应用开发

在linux应用上,LINUX确实跟它的竞争对手WINDOWS相比还有一定的差距.(大家都用的饿是盗版啊,如果都用正版的系统,你看用linux的多还是用windows的多,开发 linux程序的人多还是开发windows程序的人多,钱在那里摆着呢)

不过在高端的应用上,linux的市场是越来越大,如:

linux内核开发;
----PDA个人掌上电脑;
----专用的网络设备;防火墙设备,VPN设备。。。我都见过,是用linux编写的,国产的,现在销售的十分不错;
----硬件驱

动程序


linux网络编程:
----php编程,建立动态站点;
----jsp编程,
----perl,cgi编程;
linux系统下数据库的开发:
----my sql中小型数据库系统;
----oracle数据库
----DB2数据库,IBM数据库系统

五、服务器领域

一说linux,很多自然就想到了做服务器,但现在网络服务器方面,linux的市场占有率确实是第一的;


linux服务器领域:
----代理服务器,使用的是linux的iptables功能;
----电影服务器,使用的是linux的samba服务的功能,文件和打印共享服务器
----游戏服务器,cs服务器,在linux系统下使用cs的linux版本建立的服务器
----客户存档服务器,采用的linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的

----www服务器,使用的是linux下的apache服务器软件
----ftp服务器,下载服务器,使用的是linux下的wu-ftp,pro-ftp,vs-ftp软件
----mail服务器,采用的是linux下的sendmail,qmail软件
----dns服务器,使用的是linux下的bind软件
----数据库服务器,使用的是mysql或者oracle软件
----防火墙,软件防火墙服务器,使用的是linux的iptables功能建立的
----路由器,软路由器,使用的是linux下的routed软件建立的
----拨号服务器,vpn服务器等等


六、系统集成

范围太广,内容太多。相信IBM等建立的linux研发中心主要就是做这个的。

相关主题
相关文档
最新文档