对于Linux操作系统的学习,我们将其比较为一个爬坡,每上一个阶段,就会有一段新的收获

我们将整体氛围了六个阶段,那么我们简单的说一下

1.熟练使用Linux命令行工具

对于linux,我们应该熟练使用命令行+文件的模式

我们无论做什么事情,都有对应的吗命令工具,对于这些工具,一般在bin或者sbin目录下

我们需要对这些命令行工具需要了解,常见的有sed awk,正则表达式 grep bash等

我们利用这些处理文件和数据

对于这一阶段的全面学习,推荐鸟哥的私房菜

2.利用系统调用或者glibc,进行程序设计

尝试自己去设计程序,

但其中会遇到调用的复杂度,每个函数都极其的复杂,传入的参数,返回值都有讲究

如果试用命令行是吃馒头,那么些操作命令行就是做馒头

在其中,我们需要学习进程树 fork等知识,还有网络应用层Socket等知识

在这一阶段的学习,推荐UNIX环境高级编程

3.了解Linux内核机制

查看系统调用内部的流程

就好比,蒸馒头久了,想要学习如何蒸出更好吃的馒头

Linux也是如此,先了解一下Linux的内核机制

对于其中涉及的分配内存,内存映射涉及的文件关联,反复对照,缕清即可

对于此阶段,推荐 深入理解Linux内核

4,阅读Linux内核,聚焦核心逻辑和场景

我们在其中需要了解阅读远吗了,这一阶段需要注意,不要计较与一城一池的得失,而是聚焦于核心逻辑和使用场景

这一阶段还有这场景相关分析的学习,创建进程 分配内存 打开文件 读写文件 收发网络包

对于此阶段的,推荐 Linux内核源代码场景分析

5.客制化Linux组件,成为内核工程师

就好比蒸馒头,准备修改面粉的生产流程

Linux有源代码,可以客制化自己的模块,比如实现一个设备驱动程序,一个自己的文件系统

图片

6.面向真实的场景,实践无终点

对于此,我们要面向实际的场景开发,需要考虑各种的因素,并发,并行,锁 保护

扩展性 兼容性

最后总结一下:

图片

发表评论

邮箱地址不会被公开。 必填项已用*标注