其实大家每时每刻都在使用着Linux系统,不过,你们对此并不知情而已。可以说Linux已经成为了我们生活中的一个基础,比如飞机的控制系统、银行的系统、手机的系统等等,你可以想象下没有以上的东西我们的生活将会怎么样,我们的生活、资金和生命都掌握在linux手中,它能够让我们生存,同样,它也可以让我们灭亡,所以Linux的重要性几乎令人难是置信,没有Linux的世界可能将会截然不同,或许,这样的世界会暗然失色,一片漆黑,而Linux将是那种世界不会继续存在的理由。
一开始很多人问用什么linux发行版好呢?其实都差不多,知识点大部分都是一样,我一开始用的是redhat感觉很好的,当然也可以用Ubuntu或者其他的发行版都是可以的。
需要掌握Linux基础知识。例如,Linux命令、磁盘管理、用户管理、文件权限等,强烈推荐大家阅读网友总结的《Linux入门学习笔记》。
Linux内核主要由进程管理、内存管理、设备驱动、文件系统、网络协议栈外加一个系统调用。
源码组织结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Fq5xDdh-1627907769813)(https://pic.leetcode-cn.com/1627906276-WUJAJY-image.png)]
内存管理
文件系统
进程管理
网络协议栈
设备驱动
书籍推荐
《Linux内核完全注释V3.0书签版》
《Linux命令行大全 - 绍茨 (william E.shotts)》
《Linux命令速查手册》
《Linux就该这么学》
《Linux性能优化大师》
《Linux环境编程:从应用到内核》
《Linux集群和自动化运维 余洪春》
《Linux驱动程序开发实例(第2版)》
《Linux高级程序设计(第3版)》
《构建高可用Linux服务器(第4版)》
《深入了解Linux内核》
我要根据自己的实际情况,挑选合适的书籍。例如自己是运维方面的,可以阅读《Linux集群和自动化运维 余洪春》、或者自己是想往Linux C/C++服务器开发的可以阅读《深入了解Linux内核》等等。
阅读文章
在学习的时候肯定会遇到一些书本内容难以理解等,这个时候我们需要借鉴一些大神的优秀文章,来帮助自己的掌握知识。
视频学习
在学习的时候,视频往往比文字资料来得更有效果。
1、Linux Kernel Network Drivers - Classification(Linux内核网络驱动程序)百度网盘:qdt5
2、Linux Kernel Development(Linux内核开发)百度网盘:vg1u
3、The mind behind Linux(Linux背后的思想)百度网盘:zgnu
4、Linux Systems Performance(Linux系统性能)百度网盘:9qom
5、Network Driver Interfaces(网络驱动程序接口)百度网盘:xpke
6、Selective module compilation in mainline kernel(在主线内核中编译可选模块):百度网盘:l56j
7、Linux System Programming 6 Hours Course(Linux系统编程6小时课程)百度网盘:hc2d
8、Threads and Thread Handing(线程和线程处理)百度网盘:erxm
9、Learning the Linux Kernel with tracing(通过跟踪学习Linux内核)百度网盘:066g
10、How to Apply a Patch to the Linux Kernel Stable Tree(如何将补丁应用到Linux内核稳定树)百度网盘:955e
11、Linux Kernel Programming(Linux内核编程- atomic_t数据类型-原子变量和api)百度网盘:njt0
12、Kernel Recipes 2017 - 性能优化大牛Brendan Gregg 百度网盘:lrex
内核项目
这些工具,也许能更好帮助我们学习、生产。
大佬论文
面试题往往能体现出这个体系里的重点知识,所以我们有必要阅读下面试题。如果自己正想找Linux相关你面试岗位,更加应该看看。
无论我们学习哪个知识,我们应该有章法、有计划、更加应该要有方法,这样的才能学好, 学透。当然,还要勤奋,我们做程序员的,本来就应该多敲代码,多思考。