Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1454467
  • 博文数量: 209
  • 博客积分: 464
  • 博客等级: 下士
  • 技术积分: 3772
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-24 18:25
个人简介

阿弥陀佛

文章分类

全部博文(209)

文章存档

2019年(3)

2018年(5)

2017年(6)

2016年(10)

2015年(9)

2014年(73)

2013年(90)

2012年(13)

分类: 架构设计与优化

2014-11-12 15:04:47

      每个程序在执行时都有eip,指向下一个即将执行的CPU指令。内核空间位于低地址部分,当用户在编辑文档的时候,CPU捕捉到了键盘的中断,然后进入了内核态,并根据中断向量,找到相应的handler_function,并执行内核的处理函数,当中断处理结束后,返回到用户态,由于之前中断前,这些eip都被保存到了stack上,所以每次切换都需要从内存的栈中pop出相应的eip。
     每个CPU只有一个eip(指令寄存器),所以如果线程很多,切换的时候,需要频繁的保存上下文,而保存上下文需要频繁的访问memory,开销自然很大。
阅读(2741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~