《深入理解Linux内核》译者序
本文为陈莉君老师翻译的《深入理解Linux内核》一书中的译者序。阅读《深入理解Linux内核》,需要一份耐心,更需要一份执着。当你闯过一道道难关,阅读到本书的最后一章时,会有“蓦然回首,那人却在灯火阑珊处”的感觉!
本文为陈莉君老师翻译的《深入理解Linux内核》一书中的译者序。阅读《深入理解Linux内核》,需要一份耐心,更需要一份执着。当你闯过一道道难关,阅读到本书的最后一章时,会有“蓦然回首,那人却在灯火阑珊处”的感觉!
很多时候,我们喜欢东张西望,对眼边的东西不屑一顾,总觉得远处风景独秀,于是乎, 抛开身边的东西,尽力向远处奔去,到了那里一看,那风景的确秀美,但已属于别人,自己连观赏的地方都找不到了。自己也曾一路潇潇洒洒往前走,不曾留步,不曾看已经拥有了什么,总觉得还有那么多东西没有学到手,还有那么多岔路口没有去张望一下,于是大海捞针般去搜索,看还有什么宝能捞到手,结果…
如果说现实世界给了我们吃、住、行、玩的有限空间,那么,逻辑或者说虚拟世界就给了我们五彩缤纷的无限空间。一台现实中的计算机,总是只有一个CPU(不包括SMP),有限的内存,一台打印机只归我所用。可是,操作系统认为这样的世界太单调。
如果说操作系统是至高无上的管理者,那么另一方面,也可以说它是鞠躬尽瘁的丫环。只所以这么说是因为它见谁管谁,CPU、内存、外存、各种外设以及文件等等,无一不在它的管辖之下。但它并没有居功自傲,同时还卑微地为大家服务,不管让它干什么,都毫无怨言地一一去做,除非招惹了它,可能也罢工,甚至让整个机子瘫痪。
本文将编写一个简单的基于TCP协议的客户端和服务器端的实例,并使用wireshark工具捕获数据包。Wireshark是一款图形界面的网络嗅探器,支持多种平台,是网络流量分析的利器。
本文总结了Linux初学者系列文章,从安装Linux操作系统开始,搭建Linux环境,编写代码,使用工具,手把手带大家走进Linux内核的世界。文章也是作者初学内核时所写,难免有不周全之处,若有问题之处,大家可以联系作者。
Linux内核之旅开源社区是一个完全自由和开放的平台,创建于2004年,重构于2020年,社区以国际开源社区的方式运作,所有人都可以参与到Linux内核之旅开源社区的共建中,您是贡献者,也是受益者。社区由网站、公众号、慕课、Github和视频网站五大模块构成,为Linux内核爱好者提供丰富的学习资源,恳请你的参与。
本文主要介绍工作队列,并给出实例。工作队列(work queue)是另外一种将工作推后执行的形式 ,它和我们前面讨论的所有其他形式都有不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。
Linux操作系统的原理固然很重要,适量的代码实践则可以让你具体的了解内核。通过原理-实践-原理的过程,可以让我们不断的深入学习。本系列文章是以初学者的角度描写,每篇文章除了简单的分析相关原理外,还有完整的代码演示。
本文将以socket函数为例,分析它在Linux4.19内核中的实现,主要是函数调用关系和内核源码分析,下一篇文章将介绍socket编程实例和数据捕获工具的使用。
Copyright (c), linuxkerneltravel, all rights reserved. 【 陕ICP备17020329号-1 】
模板来自 Bootstrapious. 移植到 Hugo 来自 DevCows.