摘要:
从 Cache 说起 如今的多核计算机往往包含多个 CPU 核心,其中每个 CPU 有自己独立的 Cache L1、Cache L2,同时多个 CPU 共享主存。 由于 CPU 获取指令数据的速度远快于主存,所以通过一级缓存、二级缓存等等来降低 CPU 从主存获取数据的频率,提升性能。 CPU 不会 阅读全文
摘要:
Linux 虚拟网络设备 tun/tap 物理设备和虚拟设备的区别 Linux 内核中有一个网络设备管理层,处于网络设备驱动和协议栈之间,负责衔接它们之间的数据交互。 假设一个物理网卡 eth0,它的两端分别是内核协议栈和外部物理网络。从物理网络接收到的数据,会转发给内核协议栈,而应用程序从协议栈发 阅读全文
摘要:
硬中断和软中断 硬中断 由与系统相连的外部设备(网卡、硬盘等)产生,通知操作系统外部设备状态变更。比如当网卡收到一个数据包时,就会产生硬中断。 硬中断是外部设备对 CPU 的中断; 硬中断是由硬件产生的,比如网卡、磁盘、时钟等。 处于中断的驱动是需要运行在 CPU 上的,因此中断产生时 CPU 会中 阅读全文