美文网首页
肝了三个月Linux内核,面试薪资直接翻番,我才明白TA的重要性

肝了三个月Linux内核,面试薪资直接翻番,我才明白TA的重要性

作者: 面试题小能手 | 来源:发表于2020-07-07 14:21 被阅读0次

    目录

    一、学习操作系统(Linux内核)的重要性

    二、Linux内核的组成部分

    三、Linux内核源码组织结构

    四、Linux内核需要重点学习的知识点

    五、如何开启你的Linux内核学习之路

    -----------------------------------------------------------------------------------------------

    一、学习操作系统(Linux内核)的重要性

    为什么要学习Linux内核,这个问题我相信很多人都不一定答得上来。只是从技术层上讲,对内核的研究会加深我们的技术的理解,更多的理解源码,是从思想和思考方式上的优化。而在一般的敲代码过程中对于它的实际使用场景并不多。用一句很吊的话说,不懂内核你可以成为一名优秀的码农,但是成不了一名优秀的程序员。

    那回到为什么要学的问题上来。

    现阶段国内大学的计算机教学情况是不容乐观的,教材过时或者实战性不够成为通病,而且大多是理论的灌输,并没有对计算机的原理和机制进行深入的解析,我们并没有真正理解操作系统的工作原理。而当下企业互联网公司中运用的计算机技能和知识远远要比学校授予学生的知识要专业,前沿,更佳商业化,所以有时候你会感受到,刚毕业的科班程序员很难适应工作中的节奏与内容。

    而对操作系统(Linux内核)的学习就会有助于帮助我们深入理解计算机原理,为后续的学习和工作提供学习方法与思路。

    二、Linux内核的组成部分

    Linux内核主要由进程管理、内存管理、设备驱动、文件系统、网络协议栈外加一个系统调用

    在纯技术层面上,内核是硬件与软件之间的一个中间层。其作用是将应用程序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

    从应用程序的视角来看,内核可以被认为是一台增强的计算机,将计算机抽象到一个高层次上。例如,在内核寻址硬盘时,它必须确定使用哪个路径来从磁盘向内存复制数据,数据的位置,经由哪个路径向磁盘发送哪一条命令,等等。另一方面,应用程序只需发出传输数据的命令。实际的工作如何完成与应用程序是不相干的,因为内核抽象了相关的细节。应用程序与硬件本身没有联系,只与内核有联系,内核是应用程序所知道的层次结构中的最底层,因此内核是一台增强的计算机。

    四、Linux内核需要重点学习的知识点

    关于Linux内核的学习完全可以根据内核的组成部分区块学习。

    内存管理

    l 内存原理

    l 虚拟内存

    l 内存系统调用

    文件系统

    l 虚拟文件系统VFS

    l 磁盘文件系统

    l 用户空间系统

    进程管理

    l 进程基础

    l 进程调度

    网络协议栈

    l 网络基础架构

    l 网络协议栈

    l 系统API调用

    设备驱动

    l 设备子系统

    l Linux设备模型

    l 字符设备驱动

    l 网卡设备驱动

    l 块设备驱动

    l 蓝牙子系统

    自我感觉搞懂这些基本差不多了。

    五、如何开启你的Linux内核学习之路

    先谈谈我自己为什么要学习Linux内核吧

    第一个是我自己比较喜欢开源的东西,现在已成老油条, 但每当有搞不懂的问题, 通过翻看源代码解决了这个问题, 我都会很庆幸自己的选择。 开源对程序员的影响是巨大的。

    第二个是我感觉自己操作系统方面的知识太欠缺了,虽然是科班出身,但大学对于专业学科并没有很重视,只懂C语言, 所以基础的东西必须恶补回来。 所以我选择从一个具体的系统入手,资料和书籍也多, 源码也开放, 是学习的不二选择。现在Linux越来越火, 在服务器和嵌入式等领域风生水起, 也让我坚信学好Linux对自己的职业生涯肯定是有百利而无一害。

    第三个是我喜欢它, 想搞清楚他的原理, 而且也愿意花时间去研究。 兴趣是最好的老师。

    1.电子书推荐:

    l 《Linux内核完全注释V3.0书签版》

    l 《Linux命令行大全 - 绍茨 (william E.shotts)》

    l 《Linux命令速查手册》

    l 《Linux就该这么学》

    l 《Linux性能优化大师》

    l 《Linux环境编程:从应用到内核》

    l 《Linux集群和自动化运维 余洪春》

    l 《Linux驱动程序开发实例(第2版)》

    l 《Linux高级程序设计(第3版)》

    l 《构建高可用Linux服务器(第4版)》

    l 《深入了解Linux内核》

    2. 项目学习

    相关文章

      网友评论

          本文标题:肝了三个月Linux内核,面试薪资直接翻番,我才明白TA的重要性

          本文链接:https://www.haomeiwen.com/subject/ywcccktx.html