内核分析
文章平均质量分 75
无敌大饺子
这个作者很懒,什么都没留下…
展开
-
Linux启动内存分配器
Linux启动内存分配器是在伙伴系统、slab机制实现之前,为满足内核中内存的分配而建立的。本身的机制比较简单,使用位图来进行标志分配和释放。 一、数据结构介绍 1,保留区间 因为在建立启动内存分配器的时候,会涉及保留内存。也就是说,之前保留给页表、分配器本身(用于映射的位图)、io等得内存在分配器建立后,当用它来分配内存空间时,保留出来的那些部分就不能再分配了。linux中对保转载 2014-07-20 17:24:53 · 585 阅读 · 0 评论 -
Linux 2.6 内核阅读笔记 中断和异常
2014年7月24日 中断门、陷阱门及中断门 中断是可以禁止的,可以通过告诉PIC停止对某个中断的发布。被禁止的中断是不会丢失的,在解除禁止后又会发送到CPU上。 禁止中断和屏蔽(mask)中断的不同之处是屏蔽是忽略掉某个中断,而禁止相当于延迟发送。 Intel提供了三种类型的中断描述符:任务门、中断门及陷阱门描述。linux使用与inten稍有不同的细分分类和术语,把他们进行如下分类:原创 2014-07-24 22:52:47 · 768 阅读 · 0 评论 -
Linux 2.6 内核阅读笔记 内核同步
2014年7月26日 内核抢占和内核控制路径的设计 内核抢占的一种定义:如果进程正在内核态执行内核函数时,允许发生内核切换(就是被替换的进程是内核函数所在进程),这个内核就是抢占的。 linux内核提供了内核抢占的开启和关闭功能,在current_thread_info的preempt_count字段大于0时,内核就是不能抢占的。可以通过preempt_disable和preempt_原创 2014-07-26 22:49:12 · 727 阅读 · 0 评论 -
Linux 2.6 内核阅读笔记 信号
2014年8月3日 信号处理程序调用过程 当一个进程接收到一个信号时,需要暂停进程执行转去执行专门的信号处理函数(如果定义了这个信号的专门处理函数的话),然后再继续执行进程代码。 所有的信号处理都是通过内核函数do_signal进行的,do_signal如果发现需要处理的信号,并且这个信号有专门的处理函数,就需要调用这个用户态的函数,这是通过handle_signal来处理的。执行信号处理函数原创 2014-08-03 18:33:37 · 1003 阅读 · 0 评论 -
Linux 2.6 内核阅读笔记 时间度量
2014年7月27日原创 2014-07-27 17:14:18 · 601 阅读 · 0 评论