Blogs

内核模块编程之入门(一)-话说模块

由 helight0 | 1100字 | 阅读大约需要3分钟 | 归档于内核模块

2020年12月5日

模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上层的功能。本文将实现一个简单的hello world内核模块作为入门教程

继续阅读

Linux内核代码赏析与应用(一)-链表之衍生

由 admin001-由梁鹏转 | 1000字 | 阅读大约需要2分钟 | 归档于走进内核

2020年12月4日

在Linux内核代码中,常常会看到一些经典的实现机制和策略,犹如在万花丛中看到一枝枝特立的花红,惊艳而又令人玩味。

继续阅读

OS课程与Linux内核相结合之同步实例(一)

由 访客-由梁鹏转 | 600字 | 阅读大约需要2分钟 | 归档于走进内核

2020年11月27日

学生们最近在学进程的同步,去他们的博客看了看,欣喜!他们把OS的原理与Linux内核相结合,写出了具体的实例

继续阅读

简单字符设备驱动程序

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

2020年11月23日

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

继续阅读

虚拟内存管理实例

由 梁鹏整理 | 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日

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

继续阅读