linux内核结构体数组,linux内核中的hlist_head、list_head、hlist_node结构体

在linux内核中经常会看到这几个结构体:

struct list_head;

struct hlist_head;

struct hlist_node;

在linux内核源代码中对这三个结构体的定义如下:

struct list_head

{

struct list_head *prev;

struct list_head *next;

}

struct hlist_node

{

struct hlist_node **prev;

struct hlist_node *next;

}

struct hlist_head

{

struct hlist_node *first;

}

这三个结构体在内核中的作用:

struct list_head 用于在内核中构建双链表。在进程的进程描述符struct task_struct 中就包含了这个结构体,用于将内核中的进程描述符组成进程链表来管理系统中的所用的进程。

struct hlist_head 和 struct hlist_node 用于构建内核中的散列表;有这两个这两个结构体的名字可以知道,struct hlist_head 是用于指向散列表的头部,而struct hlist_node是散列表数组中的元素,它的后面会挂在一个链表来来存放使用相同的hash index的进程描述符的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值