自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 调度程序schedule()注释

调度时机:  1、进程终止、睡眠,这些通常是进程自身行为,当然也有运行异常;  2、时间片用完时,而时间片更新是在时钟中断驱动下完成的;  3、设备驱动程序;  4、进程从异常、中断、及系统调用返回的时候会进行need_resched()检测,会触发调度。问题:多cpu下,时钟中断如何处理的?时钟中断应该是只被一个cpu捕获并处理,那么其他cpu靠什么来驱动

2015-10-30 10:28:24 797

原创 中断与异常详解(五)

随着看的东西的增多,之前不明白的地方也开始有了眉目,所以更新前几节的东西,欢迎指正。想想马上就中断返回,进入进程描述了,还是挺激动的呢。不得不推荐一篇写得很好的文章《spinlock的剖析与改进》http://www.searchtb.com/2011/06/spinlock%E5%89%96%E6%9E%90%E4%B8%8E%E6%94%B9%E8%BF%9B.html

2015-10-30 10:27:28 284

原创 中断与异常详解(四)

这节主要说软中断,书中注释相对少点,理解困难点,后面有些问题需要大家帮忙,感激不尽。2.4以前的内核采用bh(bottom half)机制,来避免中断关闭时间太长而丢失重要中断。因为bh机制实际上是调用bh_base[32]中的某一项来完成,所以后文用bh_base来代替。由于bh_base设计的是单cpu不可重入,在SMP系统中,即使其他CPU空闲也无法执行bh_ba

2015-10-30 10:26:37 398

原创 中断与异常详解(三)

再次梳理会用到的一些数据结构和名词中断向量表(中断描述符表)idt_table全局,8字节64位,从低到高位16位段选择符,32位偏移量,16位状态信息256项起始地址在内核数据节的idt中用于寻找各种门,门的作用是防止用户程序访问陷阱门、中断门等特殊资源,出于安全考虑,linux为用户留有3,4,

2015-10-30 10:25:34 270

原创 中断与异常详解(二)

中断或异常发生之前当 CPU 执行了当前指令之后,CS 和 EIP 这对寄存器中所包含的内容就是下一条将要执行 指令的逻辑地址。在对下一条指令执行前,CPU 先要判断在执行当前指令的过程中是否发生 了中断或异常。如果发生了一个中断或异常那么 CPU 将做以下事情• 确定所发生中断或异常的向量i(在 0~255 之间)。• 通过 IDTR 寄存器找到 IDT

2015-10-30 10:24:07 413

原创 中断与异常详解(一)

Intel x86共有256种异常或者中断,也就是常说的中断向量,分别有对应的中断类型码,分布如下0-31异常和非屏蔽中断32-47由I/O设备引起的屏蔽中断,书中所讲为8259A单片机来处理响应34号中断外的其他中断48-255标识软中断,linux系统只使用了128号即0

2015-10-30 10:21:49 478

原创 c语言const、volatile问题小结

之前百度面试的时候被volatile虐了,内核中很多地方也会用到,这个面试的时候出现概率太大了,所以搜集了一些结果供大家参考,大部分是百度到的,说得挺明确的,以后读代码的时候遇到了再更新。百度知道有人提如下问题:#include "stdio.h"int main(void){ const char i = 1; char * j = (char *)&i;

2015-10-30 10:18:47 309

原创 linux 2.4.16 内核 strcmp详解

linux内核2.4.16中strcmp汇编实现详解

2015-10-30 09:58:42 1190

原创 进程切换switch_to()注释

进程切换前需要做准备工作,其中对于内核进程和用户进程在切换地址空间中的处理方式是不同的,主要因为内核进程只使用内核地址空间,而linux的内核地址空间是固定的,但用户进程就不一样了,而内核会借用用户的地址空间,mm_struct中的页表信息在tlb中是有缓存的,这一块儿的刷新问题必须保持一致性,推荐两篇文章,写得很好,对这个问题说得很清楚。《Linux TLB 刷新的懒惰模式》http:/

2015-10-29 01:25:19 754

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除