内核
小紫怡宝宝
生命不息,奋斗不止
展开
-
int 0x13 中断理解
int 0x13中断向量所指向的中断服务程序实质上就是磁盘服务程序。 用途:将指定扇区的代码加载到内存的指定位置。 因此,在使用int 0x13中断时要将参数传递给服务程序: 例如:将指定扇区和加载的内存位置传递给服务程序 传递参数的方式:通过几个通用寄存器实现 oad_setup: mov dx,#0x0000 ! drive 0, head 0 mov cx原创 2016-08-24 15:00:58 · 1920 阅读 · 0 评论 -
内核代码宏中 do{...}while(0) 的作用
在内核空间非常有限的情况下,为什么还要在某些宏里增加 do{...}while(0) 这种“没用”的代码行呢? 带参数的宏定义的一般形式为: #define () :一个标识符 :参数可以是一个或多个。多个参数之间用逗号分隔 :被替换用的字符串,字符串是由参数表中的各个参数组成的一个或多个表达式原创 2016-10-09 16:51:09 · 266 阅读 · 0 评论 -
linux工作队列机制
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。 工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。 I、原创 2016-10-13 10:32:24 · 204 阅读 · 0 评论