摘要:
C++对象模型是个常见、且复杂的话题,本文基于Itanium C++ ABI通过程序实践介绍了几种 简单C++继承 场景下对象模型,尤其是存在虚函数的场景,并通过图的方式直观表达内存布局。 阅读全文
摘要:
本文将主要通过抓包并查看报文的方式学习TCP KeepAlive机制,以此加深理解。 阅读全文
摘要:
I/O多路复用 (I/O multiplexing),提供了同时监测若干个文件描述符是否可以执行IO操作的能力。select/poll/epoll 函数都提供了这样的机制,能够同时监控多个描述符,当某个描述符就绪(读或写就绪),则立刻通知相应程序进行读或写操作。本文将从内核源码(v5.2.14)入手,尝试简述 poll/select 机制的实现原理。 阅读全文
摘要:
本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环境的过程,并完成集群伸缩的实践。 阅读全文
摘要:
Linux内核设计了MMC子系统,用于管理MMC/SD设备。本文通过内核源码(Linux Kernel 5.2)对MMC驱动子系统进行简述,通过MMC驱动的实际案例说明MMC驱动编写的一般步骤,并分析驱动模型下完成驱动、设备绑定的过程。 阅读全文
摘要:
在Linux中,等待队列以循环链表为基础结构,包括两种数据结构:等待队列头(wait queue head)和等待队列元素(wait queue),整个等待队列由等待队列头进行管理。
本文将用内核源码(基于Linux kernel 5.2)对等待队列进行介绍,详细说明采用等待队列实现进程阻塞和唤醒的方法。 阅读全文
摘要:
Linux设备驱动模型包含设备(device)、总线(bus)、类(class)和驱动(driver),它们之间相互关联。其中设备(device)和驱动(driver)通过总线(bus)绑定在一起。本文将会用关键的内核源码(Linux 5.2.14 Kernel)说明驱动(Driver)和设备(Device)间匹配机制的实现。 阅读全文
摘要:
Redis 服务器日志函数解读 阅读全文