linux系统相关
nj_sky
无
展开
-
Linux关键数据结构
Linux网络子系统中存在一些很重要的数据结构,贯穿整个子系统,主要有以下两个: struct sk_buff:数据封包结构。所有的网络分层都会使用这个结构来存储其报头、有关用户数据,以及协调其他工作的其他内部信息。 struct net_device:在Linux内核中,每种网络设备都用这个数据结构表示,包括软硬件的配置信息。原创 2015-12-30 16:16:23 · 612 阅读 · 0 评论 -
用户空间和内核的接口
内核和用户空间的信息交互主要有如下接口:1. procfs (/proc 文件系统) 这是一个虚拟文件系统,挂载在/proc目录下。允许内核以文件的形式向用户空间输出内部信息,这些文件并不实际存在于磁盘上,但可以通过cat或more以及‘>’shell重定向字符予以写入。2. sysctl (/proc/sys目录) 此接口允许用户读取或修改内核原创 2016-01-04 13:45:32 · 3906 阅读 · 0 评论 -
中断和网络驱动程序
内核准备处理进入l2层的帧之前,必须先处理精妙而复杂的中断系统,设立中断系统,才可以每秒处理成千的帧。网络设备与内核通信有两种方式:轮询:不断读取设备的一个内存寄存器,或当一个定时器到期后检查那个内存寄存器,从而获取设备状态,是否有需要处理的网络数据包。这种方式看起来会比中断浪费很多系统资源,但当中断过于频繁,系统需要不断切换进程上下文时,反而是一种非常好的方式。中断:原创 2016-04-27 09:03:01 · 2006 阅读 · 0 评论