第9章 异常、IRQ 与时间:内核获得外部世界的节拍
第9章 异常、IRQ 与时间:内核获得外部世界的节拍内核版本:Linux 7.1.3架构:x86_64核心源码路径:arch/x86/kernel/traps.carch/x86/kernel/idt.carch/x86/kernel/irqinit.ckernel/irq/irqdesc.ckernel/time/tick-common.ckernel/time/timekeeping.ckernel/time/hrtimer.c9.1 没有中断和时钟,调度器只是摆好了桌子第 8 章结束时,内核已经有了页分配器、SLUB、vmalloc、percpu 等基础能力。第 6 章里start_kernel()随后调用sched_init(),调度器的数据结构也开始可用。但这还不等于系统已经能真正多任务运行。真正的多任务系统需要两个能力:CPU 能被外部事件打断:设备完成 I/O、网卡收到包、键盘输入、IPI、APIC timer。内核有时间基准:知道现在是什么时间、下一个 tick 什么时候到、定时器什么时候过期。