Kernel
共 23 篇标「Kernel」的文章。
-
Apple M2+QEMU/HVF平台上OpenHarmony OS无法正常启动的解决方案与调试心得
只需要解决方案的读者请直接跳转至第六节TLDR,本文正文部分将以调试者的视角,从只有一个地址开始,抽丝剥茧、条分理析,发掘出所有问题的根本原因。
-
【Linux】内核番外篇(一)——内核编译和链接
万丈高楼平地起,内核的映像再复杂,也是由一个一个的文件编译、组装而成的,只不过其中的门道要比作业和Lab里的技术复杂太多了。本篇将对内核编译作一个简单的探索。
-
【Linux】网络专题(六)——网络栈重传时机梳理
在上一节中我们从tcp_ack自顶向下分析,找到了网络栈的重传入口——__tcp_transmit_skb,本节我们会尽可能全面地梳理该函数是从哪条路径被调用到的。
-
【Linux】网络专题(四)——核心数据结构sock族类和net_device
本篇介绍网络栈中使用的核心数据结构sock和net_device,从而帮助我们更快更透彻地理解网络栈的实现细节。
-
【Linux】网络专题(五)——TCP拥塞控制
一般而言,拥塞的时候会出现很多问题,其中尤为频发的是报文段丢失和乱序。丢失的可能原因有不少,例如路由器转发队列满时丢弃,甚至可能是随机早期丢弃(RED);乱序就是到达先后顺序颠倒,乱序的报文可能走过了不同的转发路径,其转发排队时间、链路传播时间等都可能不一样,进而抹平乃至逆转了发送的先后时差。
-
【Linux】网络专题(二)——核心数据结构sk_buff
本篇介绍网络栈中使用的核心数据结构sk_buff,从而帮助我们更快更透彻地理解网络栈的实现细节。
-
【Linux】网络专题(三)——L4/L3数据通路
有了对sk_buff、sock和net_device的了解,我们接着介绍传输层数据通路,这里将以TCP为例。本节只介绍数据通路,要讲协议本身又需要很大篇幅,需要另开一篇文章。
-
【Linux】网络专题(一)——应用层与套接字层数据通路
本篇是Linux网络专题的开篇,这一系列将会自上而下梳理清楚,当我们调用应用层的接口发送报文时,操作系统里到底发生了什么事情。其参考文献放在前面:[译] Linux 网络栈监控和调优:发送数据(2017),有时间和精力的读者可以参考阅读。
-
【Linux】内核学习笔记(十三)——进程地址空间
本篇是《Linux内核学习笔记》系列的第十三篇,讲解内存管理系统另一重要概念:进程地址空间。这是操作系统虚拟化的重要实现部分。
-
【Linux】内核学习笔记(十二)——虚拟文件系统
本篇是《Linux内核学习笔记》系列的第十二篇,讲解另一个重要的子系统——虚拟文件系统VFS。