本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。
简单实现posix中规定的memcmp函数
简介 memcmp函数的功能非常简单,传入两个指针s1和s2,以及要比较的字节大小n,比较这两块内存的值的差异 …
高效的无锁引用计数结构:lockref
lockref lockref是将自旋锁与引用计数变量融合在连续、对齐的8字节内的一种技术。 lockre …
DragonOS中的READ_ONCE()宏和WRITE_ONCE()宏
DragonOS中实现了与Linux相似的READ_ONCE()宏以及WRITE_ONCE()宏,主要目的在于 …
USB:根据制造商id及产品id获取产品名
相信很多人都有一个疑问,就是:电脑是怎么知道插入电脑的usb设备的产品名的?其中一种方法就是,根据usb设备的 …
关于进程的Sleep,你所不知道的事情
关于进程sleep的两种实现方式,我称之为:中断型sleep和spin/rdtsc型sleep。 本视频介绍了 …
DragonOS的MMIO地址空间自动分配
代码 本文涉及到的代码,可查看对应的版本的链接:https://github.com/fslongjin/Dr …
【转载】Linux中匿名页的反向映射
本文转载自:http://liujunming.top/2017/09/03/Linux%E4%B8%AD%E …
Linux PCI驱动程序之MSI-X实现分析
由于实在找不到MSI-X在x86上实现的教程或文档,只能分析Linux的PCI驱动程序了。希望能得到一些启发。 …
MSI-X的介绍(1)
本文将更偏向于具体编程实现的角度来介绍MSI-X,阅读本文需要有PCI总线以及MSI的基本前置知识。 MSI- …