用户态切换到内核态 —— 硬件的五个步骤
概要:梳理用户态切换到内核态的三种触发场景(系统调用、硬件中断、程序异常),并详细拆解 CPU 硬件自动完成的五个步骤:查 IDT、特权级安检、切栈、压栈保存现场、跃迁切换。
概要:梳理用户态切换到内核态的三种触发场景(系统调用、硬件中断、程序异常),并详细拆解 CPU 硬件自动完成的五个步骤:查 IDT、特权级安检、切栈、压栈保存现场、跃迁切换。
概要:介绍定位“栈”的一对寄存器 %ss(堆栈段寄存器)与 %esp(栈指针寄存器):各自的字长与作用、x86 栈向下生长的反直觉设计,以及 SS:ESP 组合在函数调用、局部变量分配和中断切换中的隐式配合。
概要:介绍任务段(TSS)的作用:当发生特权级切换时,CPU 如何通过 TSS 找到内核栈,以及 xv6 用一个 TSS 配合动态修改 ESP0 实现多进程内核栈切换的巧妙设计,并梳理中断发生时硬件自动完成的完整流程。
概要:讲解 CPU 运行程序时栈(Stack)的三大作用:记录函数调用的返回地址、存储局部变量和参数、以及中断/异常时保存现场(trapframe),并说明栈“后进先出”特性与这些作用的联系。
面向第一次使用 DeepSeek Harness(简称 dsh)的新手。跟着下面 5 步走,约 10~20 分钟即可跑起来。