硬件结构-中断 什么是中断?什么是软中断?如何定位软中断CPU使用率过高的问题?什么是同步?什么是异步? 软中断类型Linux中软中断包括:网络收发,定时,调度,RCU锁等类型。 cat /proc/softirq:观察软中断的累计中断次数; watch -d cat /proc/softirq:实时查看中断次数的变化率; 软中断CPU使用率过高问题 判断是否是软中断CPU使用率过高问题: 通过 top命令 2025-05-12 操作系统 > 硬件结构
硬件结构-缓存一致性 什么是缓存一致性?缓存一致性是怎么做到的?写传播/事务顺序性是用什么技术实现的?MESI协议是什么? 1. 什么是缓存一致性?2. 缓存一致性是怎么实现的?3. 什么是MESI协议?缓存一致性通过:写传播,事务串行化实现; 写传播,事务串行化通过MESI协议实现; 核心A对应线程a,核心B对应线程b; 当a,b两个线程同时加载相同的Cache Line,对应Cache Line被标记为 2025-05-11 操作系统 > 硬件结构
线程管理-线程调度 CPU根据什么来选择当前要执行哪个线程?Linux内核调度器工作流程?什么是用户态,什么是内核态?调度类?调度器?调度策略?怎么修改任务的优先级? 怎么修改任务优先级?任务通过挂载到任务队列上,通过调度器进行调度。任务队列分为: Deadline运行队列; 实时任务运行队列; CFS运行队列(普通任务); 不同任务队列的优先级不同,不同任务队列中的任务优先级按照Deadline>实时任务 2025-05-11 操作系统 > 进程管理
cpp-6-智能指针 智能指针模板类 智能指针 auto_ptr unique_ptr shared_ptr 以上三个智能指针模板都定义了类似指针的对象,可以将new获得的地址赋给这些对象。当智能指针过期的时候,其析构函数将使用delete来释放内存。 使用时可以将每一个智能指针都放在一个代码块内,这样当离开代码的时候,指针将过期,申请的内存也会被自动释放。 所有的智能指针都有一个explicit构造函数,该构造 2025-02-22 cpp