Blogs

简单字符设备驱动程序

由 孙张品 | 3800字 | 阅读大约需要8分钟 | 归档于linux

2020年11月23日

本文主要讨论操作系统究竟如何与设备进行通信,以编写一个字符驱动程序为主线,从用户进程–>系统调用–>文件系统–>驱动程序–>设备控制器–>设备这几个方面,结合程序何内核源码,探索操作系统与驱动程序的奥秘。

继续阅读

虚拟内存管理实例

由 admin001—梁鹏转 | 1600字 | 阅读大约需要4分钟 | 归档于走进内核

2020年11月23日

本文是关于虚拟内存管理的一个实例,通过我们写入的字符来调用不同的处理函数,打印不同的信息

继续阅读

Linux内核网络数据发送(六)——网络设备驱动

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

2020年11月23日

本文主要介绍设备通过 DMA 从 RAM 中读取数据并将其发送到网络,主要分析dev_hard_start_xmit 通过调用 ndo_start_xmit来发送数据的过程。

继续阅读

Linux内核网络数据发送(五)——排队规则

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

2020年11月9日

本文将分析通用的数据包调度程序(generic packet scheduler)的工作过程,通过分析 qdisc_run_begin()qdisc_run_end()__ qdisc_run()sch_direct_xmit() 函数,了解内核如何一层层将数据传递给驱动程序,最后进行了监控和调优。

继续阅读

动态链接与静态链接

由 孙张品 | 5600字 | 阅读大约需要12分钟 | 归档于内存管理

2020年11月2日

本文对内存管理一章学习内容进行补充和记录,包括进程地址空间的分配、与撤销(mmap,munmap),动态链接与静态链接的区别,静态链接简单实验。

继续阅读

Linux内核网络数据包发送(四)——Linux netdevice 子系统

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

2020年11月2日

本文主要分析 dev_queue_xmit 发送数据包的过程,并进行调优。

继续阅读

链表的实现

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

2020年10月26日

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

继续阅读

带参数的中断程序实例

由 helight0 陈小龙转 | 400字 | 阅读大约需要1分钟 | 归档于走进内核

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文件系统与儒家思想的统一

继续阅读