linux学习中
发布时间:2013-11-05 15:30:17
内核随记(二)——内核抢占与中断返回1、上下文一般来说,CPU在任何时刻都处于以下三种情况之一:(1)运行于用户空间,执行用户进程;(2)运行于内核空间,处于进程上下文;(3)运行于内核空间,处于中断上下文。应用程序通过系统调用陷入内核,此时处于进程上下文。现代几乎所有的CPU体系结构都支持中断。当外部设备.........【阅读全文】
发布时间:2013-11-05 15:29:15
内核随记(一)——理解中断(3)4、下半部在中断处理过程中,不能睡眠。另外,它运行的时候,会把当前中断线在所有处理器上都屏蔽(在ack中完成屏蔽);更糟糕的情况是,如果一个处理程序是SA_INTERRUPT类型,它执行的时候会禁上所有本地中断(通过cli指令完成),所以,中断处理应该尽可能快的完成。所以Linux把中断处理分为.........【阅读全文】
发布时间:2013-11-05 15:27:07
内核随记(一)——理解中断(2)3、内核的中断处理3.1、中断处理入口由上节可知,中断向量的对应的处理程序位于interrupt数组中,下面来看看interrupt:341 .data #数据段342 ENTRY(interrupt)343 .text344345 vector=0346 ENTRY(irq_entries_start) 347 .rept&.........【阅读全文】
发布时间:2013-11-05 15:21:21
内核随记(一)——理解中断(1)一直认为,理解中断是理解内核的开始。中断已经远远超过仅仅为外围设备服务的范畴,它是现代体系结构的重要组成部分。1、基本输入输出方式现代体系结构的基本输入输出方式有三种:(1)程序查询:CPU周期性询问外部设备是否准备就绪。该方式的明显的缺点就是浪费CPU资源,效率低下。但是.........【阅读全文】
发布时间:2013-11-05 15:19:24
linux 中断机制浅析广义上的中断可以分为外部中断和内部中断(异常)中断是由外部事件引起的,一般分为可屏蔽的中断与非可屏蔽的中断,所谓可屏蔽就是可以通过设置CPU的IF标志位进行屏蔽,而非可屏蔽的是一些非常紧急的事件,往往IF对其不起作用。异常是由于内部事件造成的,比如说缺页异常,系统调用等.........【阅读全文】