抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

本文参考的内核源码版本为 5.15 在 linux 内核项目中,epoll 机制的实现只用了一个文件 fs/eventpull.c 不过这一个文件就有 2000+ 行代码 先从我们熟知的 epoll 系统调用开始分析,看看它们到底都做了些什么: epoll_create123456789101112131415161718192021222324252627282930313233343...

起因之前听到群里有人在问条件变量的实现,发现自己对这方面一无所知。 先复习一下 xv6内核中用到了两种锁,自旋锁和睡眠锁。 自旋锁先看看实现 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354// Acquire the lock.// Loop...