📂 操作系统 - Operating System / Chapter II 虚拟化 / Section 1 CPU虚拟化 / 1-EX 额外:线程

内核级线程

2026-05-10
#OS
  • 内核级线程相较于用户级线程的区别

    • 内核管理TCB,内核负责切换线程
    • 一个线程不止需要一个栈,而是需要用户栈和内核栈(一套栈),TCB关联内核栈
    • 当内核级线程切换时,用户栈和内核栈会同时切换
  • 内核栈与用户栈

    1. 原先线程在用户栈运行,在发生中断(INT)后就会切换到内核栈
    2. 切换到内核栈时会将源SS(栈段寄存器)和源SP(栈指针寄存器)压栈,也就是指示出源用户栈的位置,以便还原;还会在内核栈将源PC(程序计数器)和源CS(代码段寄存器)压栈,指示出被中断程序的执行位置和返回地址
    3. 在内核栈执行完成后返回(IRET),就会回到用户栈