1.基础知识 一个操作系统可以简单的抽象为,引导程序+内核+文件系统。 vmlinuz是Linux 内核的镜像文件,可以被引导程序加载,从而启动Linux系统。 initrd的全称是boot loader initialized RAM disk,它是系统启动时所使用的根文件系统映像文件,这
offsetof(TYPE, MEMBER) 该宏在Linux内核代码(版本2.6.22)中定义如下:#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER); 分析:(TYPE *)0,将 0 强制转换为 TYPE 型指针,记 p = (TYPE *)0,p是指向TYPE的指针,它的值是0。那么
1. 原理 int a; int size = 8; <----> 1000(bin) 计算a以size为倍数的下界数: 就让这个数(要计算的这个数)表示成二
最近翻阅了一些linux网络协议方面的资料,发现在sk_buff的相关结构上有些细节上的不一致。于是,埋头啃代码,整理相关细节如下。(内核版本2.6.22) 根据sk_buff结构和__alloc_skb(),sk_buff结构及数据内存区初始状态为: __alloc_skb()的功能和参数为 /** * __alloc_skb -&nb
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号