网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
事实上,Benny Goodheart和James Cox在其书The Magic Garden Explained (该书解释了UNIX System V的内部实现机制)的序言中,早已对此做过说明(前文第二段引文)。当然,Linux肯定 也能让读者发疯!
内容提要
====
本书讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及虚拟文件系统,Ext 文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,本书借助内核源代码中最关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现Linux系统的魅力。
本书讨论了Linux内核的概念、结构和实现。各章分别介绍了下述主题。
==================================
由于篇幅限制小编,小编只在这里给大家展示目录及部分内容,有需要完整文档的程序猿(媛)可以帮忙转发+关注,添加下方VX即可
第1章简介和概述
========
概述Linux内核,讲述了内核的总体图景,后续章节则根据总体结构对内核进行更详细的研究。
第2章进程管理和调度
==========
讨论了多任务、调度和进程管理的基本知识,并分析了这些基本技术和概念抽象的实现方式。
第3章内存管理
=======
讨论了如何管理物理内存。本章既讨论了内核与相关硬件的交互,也讨论了内核内部通过伙伴系统和slab分配器来分配内存的方式。
第4章进程虚拟内存
=========
继续对内存进行讨论,讲解了用户空间的进程如何访问虚拟内存,以及在内核层面实现虚拟内存视图所需要的详细的数据结构和相关机制。
第5章锁与进程间通信
==========
介绍了保证内核能够在多处理器系统上正确运作所需的机制。此外,本章还介绍了进程如何相互通信。
第6章设备驱动程序
=========
引导读者理解如何编写设备驱动程序,使内核支持新的硬件。
第7章模块
=====
阐述了模块机制,该机制能够向内核动态添加新的功能。
第8章虚拟文件系统
=========
讨论了虚拟文件系统,这是内核中一个一般的间接层,能够支持各种各样的不同文件系统,包括物理文件系统和虚拟文件系统。
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!不会只有大纲和目录,有需要的程序猿(媛)可以帮忙转发+关注,文末获取
第9章Ext文件系统族
===========
讲解了Ext文件系统族,包括Ext2和Ext3文件系统,这是很多Linux系统安装的标准选项。
第10章无持久存储的文件系统
==============
继续讨论文件系统,包括procfs和sysfs。 这两个文件系统并非用来存储信息,而是向用户层提供关于内核的元信息。此外,本章阐述了一些减轻编写文件系统负担的方法。
第11章扩展属性和访问控制表
==============
给出了Ext文件系统属性和访问控制表的实现方式,这两者有助于提高系统的安全性。
第12章网络
======
讨论内核中网络的实现,内容集中于IPv4、TCP、UDP和netfilter。
第13章系统调用
========
介绍了系统调用的实现方式,系统调用是从用户层请求内核服务的标准机制。
第14章内核活动
========
对中断触发内核活动的方式进行了分析,并介绍了内核中将工作延迟至后续时间点执行的机制。
第15章时间管理
========
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!