文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>中断处理时的堆栈切换

中断处理时的堆栈切换

时间:2006-06-06  来源:chouqiu

 x86中进入中断时如果需要切换堆栈(由于运行级的差别), 则从TSS中装入新运行级的栈指针, 并将原栈指针暂存到TSS中, 在进入新栈后, 将原栈指针保存到新栈底部, 作为以后切回原运行级的依据. 这一过程主要指从用户栈向系统栈的切换, 反向则不须保存系统栈指针, 因为一旦返回用户态, 系统栈就被清空, 其栈底也可通过struct task_struct求出, 所以不需要保存. 同时, 利用这一点, 内核在进行进程切换时在系统栈底部保存了完整的用户态现场, 代替了TSS的作用, 但需要注意的是, 对x86CPU, 每次进行不同运行级的切换时硬件会自动从当前TSS中取新运行级的栈指针, 为了满足这点小小的要求, 内核在进行任务调度时会将新任务的系统栈指针更新到全局TSS中. 
相关阅读 更多 +
排行榜 更多 +
空中跑酷汉化版

空中跑酷汉化版

赛车竞速 下载
修仙传说

修仙传说

角色扮演 下载
魔界零之迷宫

魔界零之迷宫

冒险解谜 下载