Linux 内核编程
文章平均质量分 90
不会游泳的鱼star
目前从事网络安全行业,Linux C/Rust开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kmalloc kzalloc vmalloc malloc 和get_free_page()的区别
一、简述 1、 kmalloc申请的是较小的连续的物理内存,虚拟地址上也是连续的。kmalloc和get_free_page最终调用实现是相同的,只不过在调用最终函数时所传的flag不同而已。除非被阻塞否则他执行的速度非常快,而且不对获得空间清零。 2、get_free_page()申请的内存是一整页,一页的大小一般是128K。 3、kzalloc 先是用 kmalloc() 申请空间 ,原创 2013-12-30 17:28:22 · 5625 阅读 · 0 评论 -
Linux netlink机制介绍
一、简介 Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_US转载 2013-12-25 16:12:55 · 1953 阅读 · 0 评论 -
alloc_skb申请函数分析
alloc_skb()用于分配缓冲区的函数。由于"数据缓冲区"和"缓冲区的描述结构"(sk_buff结构)是两种不同的实体,这就意味着,在分配一个缓冲区时,需要分配两块内存(一个是缓冲区,一个是缓冲区的描述结构sk_buff)。 首先看alloc_skb static inline struct sk_buff *alloc_skb(unsigned int size,原创 2013-12-26 18:23:39 · 12148 阅读 · 0 评论 -
Linux协议栈skb操作函数介绍
接字缓冲区函数 函数名 功能 函数形成 参数 描述 skb_queue_empty 检查队列是否为空 int skb_queue_empty (struct sk_buff_head * list) list为队列头 如果队列为空返回真,否则返回假 skb_get转载 2013-12-27 10:23:24 · 6682 阅读 · 0 评论
分享