Blogs

链表的实现

由 admin0001-杨骏青转 | 2500字 | 阅读大约需要5分钟 | 归档于新手上路

2020年10月26日

抽象是软件设计中一项基本技术,如上所述,在众多数据结构中,选取双向链表作为基本数据结构,这就是一种提取和抽象

继续阅读

Linux内核网络数据包发送(三)——IP协议层分析

由 梁金荣 | 5800字 | 阅读大约需要12分钟 | 归档于内核网络

2020年10月26日

Linux内核网络 UDP 协议层通过调用 ip_send_skb 将 skb 交给 IP 协议层,本文通过分析内核 IP 协议层的关键函数来分享内核数据包发送在 IP 协议层的处理,并分享了监控IP层的方法。

继续阅读

Linux文件系统(二)-为仁由己

由 admin001 | 2700字 | 阅读大约需要6分钟 | 归档于走进内核

2020年10月22日

Linux文件系统与儒家思想的统一

继续阅读

Linux文件系统(一)-群居和一

由 admin001 | 1100字 | 阅读大约需要3分钟 | 归档于走进内核

2020年10月22日

Linux文件系统与儒家思想的统一

继续阅读

Makefile的编写(上)

由 杨骏青 | 5700字 | 阅读大约需要12分钟 | 归档于新手上路

2020年10月13日

本篇文章主要讲了Makefile的一些优点、必要性、以及编写的时候的需要遵守的一些规则,可以帮助我们更好的掌握Makefile的编写

继续阅读

电子杂志第二期——I386的体系结构(下)

由 梁金荣整理 | 3700字 | 阅读大约需要8分钟 | 归档于电子杂志

2020年10月12日

上半期我们一起学习了 I386 体系结构,下半期我们的主要目标是实现一个能启动而且可以进入保护模式的简易操作系统。所以本期首先来分析一下计算机的启动流程,然后着手学习开发一个基于 I386 体系的可启动系统。

继续阅读

CMA机制

由 贺东升 | 1600字 | 阅读大约需要4分钟 | 归档于内存管理

2020年10月8日

当一些设备需要使用大块连续物理内存时,可以比较容易的申请到,而当这些设备不工作时,这些内存又可以当做普通的内存那样被系统其他模块申请使用。引入CMA就是为了解决这个问题的,定义为cma区域的内存,也是由操作系统来管理的,当一个驱动模块想要申请大块连续内存时,通过内存管理子系统把CMA区域的内存进行迁移,空出连续内存给驱动使用;而当驱动模块释放这块连续内存后,它又被归还给操作系统管理,可以给其他申请者分配使用

继续阅读

Ubuntu下bpf纯c程序的编写与运行

由 梁金荣 | 3600字 | 阅读大约需要8分钟 | 归档于eBPF

2020年10月7日

编写纯c的bpf程序主要编写或修改三个文件。第一个是编写bpfname_kern.c文件,这是需要被llvm编译为目标码而注入内核的代码。第二个是编写bpfname_user.c文件,它主要用来将目标码安全的注入内核,并通过bpf的map机制来做数据处理,是和bpfname_kern.c文件成对出现的。第三个就是修改Makefile文件,一般要修改三处,详细文中可见。最后编译生成可执行文件,就可在用户态下安全和高效的提取和处理很多内核数据。

继续阅读

Linux内核网络数据包发送(二)——UDP协议层分析

由 梁金荣 | 6800字 | 阅读大约需要14分钟 | 归档于内核网络

2020年10月6日

本文分享了Linux内核网络数据包发送在UDP协议层的处理,主要分析了 udp_sendmsg 和 udp_send_skb 函数,并分享了UDP层的数据统计和监控以及socket发送队列大小的调优。

继续阅读

linux中对Task_struct结构体的注释

由 陈小龙 | 6600字 | 阅读大约需要14分钟 | 归档于对内核结构体task_struct的了解及使用

2020年10月5日

本文主要对linux内核中的task_struct结构体进行成员的分析,主要包括调度的数据成员、进程队列指针、进程标识、进程队列的全局变量等13个部分。

继续阅读