04 2018 档案
摘要:之前分析errno的实现时有讲过系统调用的实现, 但是写到一半烂尾了, 于是决定重新挖个坑(- -!). 假设我们调用了一个open(), 从pc指向open()入口到pc执行open()的后一条指令中间究竟发生了什么. 首先明确第一点, 当我们调用open()时并不是直接调用系统调用open, 而
阅读全文
摘要:刚来公司时候看到前人写的python脚本用来生成比较报告, 心中技痒. 正好服务器端没有BC, 脚本用不了. 于是东施效颦, 也写了一个.用的都是原生的svn命令, 自然效果是比不上用BC生成的报告(BC显示的是行内差异, svn只能比较行间差异).更新: 最近终于发现乱码的原因了, svn dif
阅读全文
摘要:关于rcu的内容本来想放在内核锁介绍里, 后来发现要解释的内容太多了, 索性就分成几章. 本章来分析rcu的实现. 5. rcu Added on 2017.12.20之前看rcu代码时一直没有弄明白rcu_node的分布, 直到最近看到https://lwn.net/Articles/305782
阅读全文
摘要:今天讨论下内核常见锁的机制与实现分析. 第一个问题内核何时会发生临界资源的竞争访问? 对于非抢占UP(uni processor)内核只有一种情况会发生竞争, 即高优先级异常/中断处理函数抢占内核线程的cpu并访问了临界资源. 如果内核开启抢占还会引发另一种可能, 即在中断返回或系统调用返回时另一线
阅读全文

浙公网安备 33010602011771号