
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
rbtree是linux内核红黑树实现。一般在struct中嵌套struct rb_node作为树节点:1.2 初始化根将struct rb_root赋值为RB_ROOT:1.3 插入节点先通过rb_link_node插入节点,再通过rb_insert_color重新平衡红黑树:1.4 移除节点通过rb_erase移除节点:注:该API会重新平衡红黑树通过rb_entry可将节点转为具体类型:..
kref是linux内核用于原子引用计数的数据结构一般在结构体中嵌套struct kref:1.2 初始化在结构体初始化过程对refcount初始化:
了解rcu前,先引入一个问题:当多个读者在访问一个全局指针的时候,假设一个写者给全局指针设置了一个新的值,同时需要对旧的指针指向的内存进行销毁。这个时候写着在销毁旧指针的时候,读者可能还在访问该全局变量。为了解决这个问题,可以通过加锁,或引用计数方式去实现。前者性能不佳;后者会有环形引用的风险;而RCU机制恰到好处。RCU通过机制将写者销毁旧数据的时机延迟到所有读者结束,它具备如下特点:注:str
引言Android从8.0推出Treble计划后,提供了namespace机制。了解容器的同学,便会想到容器的隔离机制就是利用Linux的namepsace,但是此namespace是非彼namespace。Android的namepace是其系统加载so的一种隔离机制,它属于其Linker功能的一个特性。今天抽空总结下Android的namepace相关技术,本次技术分享只涉及到版本10.0及.