- 博客(10)
- 资源 (19)
- 收藏
- 关注
原创 详解Linux内核双向循环链表算法的实现(下)
2、双向链表在Linux内核中的实现 Linux内核对双向循环链表的设计非常巧妙,链表的所有运算都基于只有两个指针域的list_head结构体来进行。 /* linux-2.6.38.8/include/linux/types.h */struct list_head { struct list_head *next, *prev;}; 链表的运算(源代码都在linu
2012-02-27 19:02:42 5957 2
原创 详解Linux内核双向循环链表算法的实现(上)
开发平台:Ubuntu11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 内核源码:linux-2.6.38.8.tar.bz2 据我们所知,单链表只有一个指向其直接后继的指针域,而且只能从某个结点出发顺着指针域往后寻查其他结点。若要寻查结点的直接前趋,则需要从头指针重新开始。为了克服单链表这种单
2012-02-27 18:44:29 4685
原创 例解单链表的基本运算(下)
(3)、插入 单链表的插入运算最主要的操作是获得插入结点,例子代码通过多分支选择结构同时支持按序号查找和按值查找。 参考代码如下: #define FIND_BY_NUM 0#define FIND_BY_KEY 1void insert_node_with_headnode(list_node_p head, list_node_p tmp, unsig
2012-02-25 21:24:37 1511
原创 例解单链表的基本运算(上)
本文所有代码采用C语言实现。 参考文献: 《数据结构(C语言版)》 严蔚敏 吴伟民 编著 开发平台:Ubuntu 11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 线性结构:在数据元素的非空有限集中,有且仅有一个开始结点(没有直接前趋)和一个终止结点(没有直接后继),除开始结点和终
2012-02-25 17:40:32 2029
原创 网络驱动移植之sk_buff结构体及其相关操作函数(下)
2、结构体相关操作函数 (1)、dev_alloc_skb 实际上,函数dev_alloc_skb最终是调用__alloc_skb函数来分配数据缓冲区和sk_buff结构体的,如下图: 从dev_alloc_skb到__alloc_skb所涉及的源代码如下: /* linux-2.6.38.8/net/core/skbuff.c */struct sk_b
2012-02-16 22:30:58 7310
原创 网络驱动移植之sk_buff结构体及其相关操作函数(上)
开发平台:Ubuntu11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 内核源码:linux-2.6.38.8.tar.bz2 struct sk_buff是Linux操作系统网络相关代码中最重要的结构体之一,用于管理已接收或正要传输的网络数据包。此结构体定义在include/linux/skb
2012-02-16 11:45:23 4188
原创 网络驱动移植之网络子系统设备处理层的初始化
内核源码:linux-2.6.38.8.tar.bz2 网络子系统设备处理层的初始化大致会完成以下各种任务: (1)、在/proc/net目录下创建四个proc条目(分别为dev、softnet_stat、ptype和wireless) /* linux-2.6.38.8/net/core/dev.c */static int __init dev_proc_
2012-02-15 10:36:42 2705
原创 通过proc文件系统输出必要的Linux内核信息(下)
3、使用seq_file接口的例子 本例通过/proc/seq_file_test文件输出Linux内核的十个随机数,并与printk打印的信息进行比较。 (1)、例子源代码 #include #include #include #include #include #include #include #include #include struct my
2012-02-05 21:13:47 2438 3
原创 通过proc文件系统输出必要的Linux内核信息(中)
2、使用旧式proc接口的例子 本示例比较简单,先通过kmalloc函数分配一段TANGLINUX_LEN大小的内存,然后通过tanglinux_read和tanglinux_write函数来实现对这段内存的读写操作。 (1)、例子源代码 #include #include #include #include #include #include
2012-02-05 15:39:23 2677
原创 通过proc文件系统输出必要的Linux内核信息(上)
开发平台:Ubuntu 11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 内核源码:linux-2.6.38.8.tar.bz2 proc是基于内存的文件系统,用来实现外界与Linux内核的信息交互(通过/proc目录下的各种文件)。 1、proc文件系统的初始化 proc文
2012-02-05 13:24:46 4908
qBittorrent.zip
2020-09-10
TR2011-688.pdf
2019-11-26
vlc-2.2.8-win32.zip
2018-04-18
iputils-s20121221.tar.bz2
2013-03-08
u-boot和Linux内核镜像以及制作好的文件系统
2011-12-07
tiff源码包
2011-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人