从研究生学习Linux 开始,陆陆续续已经快一年时间了。期间看了不少书,也看了不少的源代码, 但是终究没有经过实战,没有在实践中解决实际问题,没有编译过内核,没有真正的经过代码的锤炼,所以很多东西并不深入的理解,半瓶水瞎咣当。
我追被这一连个月好好的学习一下Linux方面的知识:
如何学习Linux呢?
学习Linux的命令。
在面试中很多会问到 Linux 的命令。
a. 与 进程相关的 (查看一个进程的状态,进程的调度,创建进程,子进程,进程间通信,进程占用了多少空间,)
b. 与网络相关的。(查看一个进程使用的网络端口,一个网络端口被那个进程使用等等)
c. shell 编程, awk与sed编程。
d.学习 Linux 系统调用
a. 如何实现一个 malloc / free
b. 进程间通信的方式,信号机制
c. 对文件的操作
d. 对socket 编程的理解
e. 与进程相关的内容
f. 实现过一些什么项目没有?
如何 学习Linux 的内核?
这是我接下来主要讲解的内容:
1. 首先不要深入细节,更不要为了理解Linux的方方面面而感觉到沮丧,没有任何一个人可以完全理解Linux 的。
避免体系结构无关的地方。
多去思考,多去提出问题,多去解决问题。
从掌握大的模块开始,当遇见不懂得事情时,尝试从代码中找出答案,多进行总结,只有不断地深入代码,才真的有可能一窥Linux内核的精髓。