跳至内容

博客

为佛家的“色即是空,空即是色”正意

#生活

“色即是空,空即是色”这句佛经名言,包含着很深的哲学思想,一般人包括文人 们喜欢以此开玩笑,认为色就是指女人,空就是虚无或乌有.说和尚看破红尘,把女人 看做是虚无或乌有,便出家做和尚了.其实色并非女色,空也非虚无乌有.要认识此言 的真正含义,还得从佛教的基本教义说起. 佛教的教义,主要是所谓的"四谛",即 苦、集、灭、道。苦、集二谛阐明人生的本质及形成原因;灭、道二谛指明人生解 脱的归宿和解脱之路。

阅读更多

April 7, 2009

使用proc来写GPIO驱动

#linux#开源#kernel

这是写的一个gpio的驱动,测试完,提好的。

阅读更多

March 31, 2009

截获Linux系统调用

#kernel

#include <linux/kernel.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/unistd.h> #include <linux/init.h> #include <asm/ptrace.h> #define NRB 2 typedef asmlinkage int (*__routine)(struct pt_regs); __routine old, new; unsigned long *sys_call_table = 0; static int counts = 0; unsigned long* find_sys_call_table(void) { struct { unsigned short limit; unsigned int base; } __attribute__ ( ( packed ) ) idtr; struct { unsigned short offset_low; unsigned short segment_select; unsigned char reserved, flags; unsigned short offset_high; } __attribute__ ( ( packed ) ) * idt; unsigned long system_call = 0; // x80中断处理程序system_call 地址 char *call_hex = "\xff\x14\x85"; // call 指令 char *code_ptr = NULL; char *p = NULL; unsigned long sct = 0x0; int i = 0; __asm__ ( "sidt %0": "=m" ( idtr ) ); idt = ( void * ) ( idtr.base + 8 * 0x80 ); system_call = ( idt->offset_high << 16 ) | idt->offset_low; code_ptr = (char *)system_call; for(i = 0;i < ( 100 - 2 ); i++) { if(code_ptr[i] == call_hex[0] && code_ptr[i+1] == call_hex[1] && code_ptr[i+2] == call_hex[2] ) { p = &code_ptr[i] + 3; break; } } if ( p ){ sct = *(unsigned long*)p; } return (unsigned long*)sct; } asmlinkage int audit_sys_call(struct pt_regs regs) { int ret = 0; counts++; printk("audit_sys_call!\n"); printk("call %ld sys_call! times: %d\n", regs.ax, counts); ret = ((__routine)old)(regs); return ret; } int mysys_init ( void ) { if (( sys_call_table = find_sys_call_table())) { printk( "sys_call_table = %p\n", sys_call_table ); old = (__routine)sys_call_table[NRB]; new = &audit_sys_call; sys_call_table[NRB] = (unsigned long)new; } return 0; } void mysys_exit ( void ) { printk("keep back the sys_call_table \n"); sys_call_table[NRB] = (unsigned long)old; } module_init(mysys_init); module_exit(mysys_exit); MODULE_LICENSE("GPL2.0"); MODULE_AUTHOR("Helight.Xu"); 看完本文有收获?请分享给更多人 关注「黑光技术」,关注大数据+微服务

阅读更多

March 31, 2009

我的毕设定题

#个人日记

不知不觉之间研究生生活已经过去了一大半了,也到该准备研究生毕业设计的时候 了。年前回家之前给陈老师说我想做嵌入式设备的远程监控,陈老师也没有说什 么,其实我是知道了,老师一直想我在内核上有所发展。而我却一直彷徨在浮世喧 哗之下无法深入到内核之中。 自从上周老师跟我谈过系统安全之后,我的心为之一动。后来再一想,我现在所说 的那个远程监控对于一个研究生来说也确实有点太简单了,

阅读更多

March 14, 2009

我的毕设定题

#life

不知不觉之间研究生生活已经过去了一大半了,也到该准备研究生毕业设计的时候了。年前回家之前给陈老师说我想做嵌入式设备的远程监控,陈老师也没有说什么,其实我是知道了,老师一直想我在内核上有所发展。

阅读更多

March 13, 2009

使用valgrind检测内存泄露

#valgrind#tools#linux

Valgrind是x86架构Linux上的多重用途代码剖析和内存调试工具。但它的主要功能还是对内存的调试,默认工具也是启动 memcheck。用户可以在它的环境中运行程序来监视内存的使用情况,比如C语言中的malloc和free或者C++中的new和delete。

阅读更多

February 27, 2009

Xnotebook文本资料管理软件

#linux#开源#tools

Xnotebook是一款用gtk+开发的文本资料管理软件,它主要用于个人文本资料的分类管理。

阅读更多

February 26, 2009

Http协议分析

#linux#开源#http

最简单的例子,就是你的浏览器与网页服务器之间使用的应用层协议。虽然官方文档说HTTP协议可以建立在任何可靠传输的协议之上,但是就我们所见到的,HTTP还是建立在TCP之上的。

阅读更多

February 17, 2009

写在回家之前的话

#个人日记

有是一年春节了,话题还是一样。对于这样在外飘荡的人来说,没有什么能比回家更让人坐立不安了。常常也是这样的,其实回家也就是那么几天,见见父母,见见亲戚朋友。聊聊家常,扯扯蛋。呵呵,生活好像就是这样--中国人的过年情节。 当然回家了,也总要安排点事在家里,导师说要看看内核什么的书,好好扎实一下功底。其实我也想到了,但是还是想先把LDD3看完了在说,说来也挺有点对不起王老师的,

阅读更多

January 16, 2009

我的二十年感言

#个人日记

【回忆1989年以前】 那个时候,我在看西瓜,我在跟着小姑姑放羊,跟着小叔叔放牛,在屋后的小河里捞小鱼。。。据我妈说我小时候那是坏的不得了,而且嘴馋。人家刚种的萝卜我会给他拔出来。还隐约记得有个老太太住在一见黑乎乎的屋子里,她可喜欢我了,老是带我去她的黑屋子,然后给我方块糖吃。 【回忆1990年】 这一年开始上学了,学前班的,上了就一学期。记得教室门前有一课好大好大的杏树,下课后最爱绕着它做游戏,

阅读更多

January 15, 2009

我的二十年感言

#life

【回忆1989年以前】 那个时候,我在看西瓜,我在跟着小姑姑放羊,跟着小叔叔放牛,在屋后的小河里捞小鱼。。。据我妈说我小时候那是坏的不得了,而且嘴馋。人家刚种的萝卜我会给他拔出来。还隐约记得有个老太太住在一见黑乎乎的屋子里,她可喜欢我了,老是带我去她的黑屋子,然后给我方块糖吃。

阅读更多

January 15, 2009

写在回家之前的话

#life

又是一年春节了,话题还是一样。对于这样在外飘荡的人来说,没有什么能比回家更让人坐立不安了。常常也是这样的,其实回家也就是那么几天,见见父母,见见亲戚朋友。聊聊家常,扯扯蛋。呵呵,生活好像就是这样。

阅读更多

January 15, 2009

又是一个岁终年末的随想

#life

依我个人的观点看,往往岁终年末是一年之中比较乱乱的时候。人们的心情 开始慌乱,急躁。毕竟要过年了。好像是劳累的一年了,也应该休一下了。对待工 作生活是不是开始怠慢了呢?呵呵!! 也是阿,又是一年的岁终年末了。

阅读更多

December 25, 2008

又是一个岁终年末的随想

#个人日记

依我个人的观点看,往往岁终年末是一年之中比较乱乱的时候。人们的心情 开始慌乱,急躁。毕竟要过年了。好像是劳累的一年了,也应该休一下了。对待工 作生活是不是开始怠慢了呢?呵呵!! 也是阿,又是一年的岁终年末了。 今晚实验室又是我一个人,把音像声音放的大一点。声音在空旷的空间里回 荡,刚觉很不错。有点喜欢这样的感觉了。这几天在实验室效率是出奇的好!我一 个月前无法解决的问题,这两天居然都顺利的搞定了。

阅读更多

December 24, 2008

Linux内核中的P,V操作之P

#linux#开源#kernel

最近作辅导讲到了P,V操作,我就在内核中看了一下Linux中的P,V操作的实现。很真是,理解比本科学习的时候深多了。操作系统中的P操作在Linux内核中对应的是down函数,V操作对用up函数。

阅读更多

November 29, 2008