普通的用户态下的C编程,估计很多人都可以熟练编写掌握。但是跨入内核层之后,用户态的函数与头文件统统变了。
» Read more: 编写简单的HelloWorld Kernel Module
Archive for August, 2014
编写简单的HelloWorld Kernel Module
August 28th, 2014在塔式服务器中安装Debian 7.6
August 28th, 2014今天负责给实验室的server安装debian 7.6遇到很多问题,特在此小记一下。
由于塔式服务器不同于普通的pc,主板结构不同于pc的主板。
这个主板的特殊之处在于主板有两个cpu插槽,cpu是Intel Xeon E5530 4核八线程,如果插上两个cpu的话,可以拓展成为8核16线程。
Git标准开发模型
August 17th, 2014之前用了很长时间的git,最近才了解到git的正确用法。
正如Nicholas said:Using git is very easy but using git correctly is not easy!
git文件最好是以二进制的存在,这样比较容易对文件进行追踪。最好不要将binary文件add进来!doc?exe?No!
创建Git服务器
August 16th, 2014Memory Barriers 的一些思考
August 14th, 2014之前由于各种原因blog停更了半个月,现在回到正常环境下。
我们都知道在多处理器环境下,我们会遇到Memory Barriers,其实说白了,就是数据的不一致性,说的更加精确点,就是cache的不一致性,因为各种architecture 不同,x86与ARM不同,在x86下,Intel与AMD又不同,所以我们要搞清cpu与cache的不同结构,之前我们知道cache分为N路组相联(N-way set associative)。在取值的时候,中间位负责区分是哪一路,在这篇文章中讲的很详细:http://www.lizhaozhong.info/archives/580
不过x86的mb。x86 CPU会自动处理store顺序,所以smp_wmb()原语什么也不做,但是load有可能乱序!