Archive for December, 2013

Linux进程调度

December 29th, 2013

进程分为I/O消耗性和处理器消耗性进程。Linux为了保证交互式应用,对进程响应做了优化(缩短响应时间),倾向于优先调度i/o消耗性进程。
Linux实现了一种基于动态优先级的调度方法,一开始,先设置基本的优先级,然而它允许调度程序根据需要加减优先级,如果进程在IO等待上小号的时间杜宇其运行时间,那么该进程属于IO消耗性进程。动态优先级会动态提高,如果一个进程的全部时间片一下子被耗尽,那么该进程属于处理器消耗型进程,动态优先级会被动态降低。 » Read more: Linux进程调度

Kernel中定时器与时间管理

December 24th, 2013

linux kernel时钟就是系统定时器以某种频率自行触发,当时钟中断发生时,内核就通过一种特殊的中断处理程序对其进行处理。 » Read more: Kernel中定时器与时间管理

SystemTap Kprobe原理

December 18th, 2013

想写这篇文章好长时间了,一直没有来得及总结,今天我把这个坑填上!

Systemtap是一种动态调试内核的工具,可以极大地方便内核开发人员对于内核的调试,过去,内核想要调试,必须在源码中打入print()然后进行编译,安装内核重启,这个导致内核调试复杂。 » Read more: SystemTap Kprobe原理

内核开发特点&进程管理(读书笔记)

December 11th, 2013

在看内核编程前,几点重要的建议: » Read more: 内核开发特点&进程管理(读书笔记)

存储器层次结构(读书笔记)

December 10th, 2013

最近在看存储器层次结构,之前知道各级存储器为了弥补速度上的巨大差距,开发出了cache来提高命中率,加快取指运算的速度。

这对我们编写代码来说有非常重要的影响,因为许多程序具有局部性,包括时间局部性与空间局部性。

在现在CPU中,往往具有多级cache L1 L2 L3 ,在i7处理器中,L1 的数据cache 指令cache为每个核私有,L2 cache连接L1上面的两个cache,L3为所有核共享。

cache与主存连接的方式有多种:直接映射高速缓存,组相连映射高速缓存。 » Read more: 存储器层次结构(读书笔记)