2011年11月20日

摘要: Xenoprof是HP公司针对OProfile工具开发的一个接口,它使得OProfile能够适用于基于Xen的虚拟环境,从而能够对内核、应用程序等的性能信息进行监控,在官网http://xenoprof.sourceforge.net/上有详细的介绍。Xenprof的原理是:在基于Xen的虚拟环境下,可以使用Xenoprof建立一个profile的session,在这个session里可以有选择性地对多个虚拟机进行profile(包括半虚拟化安装的Linux以及以全虚拟化安装的Windows或OpenSolaris),以获取内核或应用程序的性能信息(如Cache miss, TLB miss, 阅读全文
posted @ 2011-11-20 01:19 墨海 阅读(921) 评论(0) 推荐(0) 编辑
 

2011年11月19日

摘要: --------------------------CONST---------------------------------------const应用:一、对于基本声明 const int r=100;//标准const变量声明加初始化,编译器经过类型检查后直接用100在编译时替换。 二、对于指针 1. int x=10; const int *r=&x; //指针指向的内容是常量,r指向的内容不能够通过r改变,但如果是非const,内容可以通过自己改变,而且r指针可以改变,可以指向其它的整形. //*r=*r+1;NO //x++;YES //r=&y;YES 2. in 阅读全文
posted @ 2011-11-19 13:41 墨海 阅读(639) 评论(0) 推荐(0) 编辑
 
摘要: 文件中的#ifndef头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:#ifndef <标识> #define <标识>...... ......#endif<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把 阅读全文
posted @ 2011-11-19 13:40 墨海 阅读(728) 评论(0) 推荐(0) 编辑
 

2011年9月2日

摘要: 我是经常看到unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq)这个函数,不知其为何物,搜了一下,看到gsi原来是全局中断号,遂把这篇文章转过来~以作备份,看硬件不多的人伤不起啊~还是看看x86架构这几个概念经常把人搅晕掉,下面的内容经常要用到它们,还是先说清楚为妙。IRQ是PIC时代的产物,由于ISA设备通常是连接到固定的PIC管脚,所以说一个设备的IRQ实际是指它连接的PIC管脚号。IRQ暗示着中断优先级,例如IRQ0比IRQ3有着更高的优先级。当前进到APIC时代后,或许是出于习惯,人们仍习惯用IRQ表示一个设备的中断号,但对于16以下的IRQ,它 阅读全文
posted @ 2011-09-02 10:44 墨海 阅读(3258) 评论(0) 推荐(1) 编辑
 

2011年8月30日

摘要: 1. Ctrl+左键 和F3这个是大多数人经常用到的,用来查看变量、方法、类的定义跳到光标所在标识符的定义代码。当按执行流程阅读时,F3实现了大部分导航动作。2 Ctrl+Shift+G在工作空间中查找引用了光标所在标识符的位置。可以说是与F3相反的快捷键。当按类定义进行阅读时,可以迅速找出当前类方法在被哪些类调用了。3. Ctrl+O查看一个类的纲要,列出其方法和成员变量。提示:再多按一次Ctrl+O,可以列出该类继承的方法和变量。助记:"O"--->"Outline"--->"纲要"4 F4打开继承树。显示当前类所在的 阅读全文
posted @ 2011-08-30 10:46 墨海 阅读(21783) 评论(0) 推荐(8) 编辑
 

2011年8月18日

摘要: 用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符变量;以下则可行:typedef char* PCHAR; PCHAR pa, pb; 用途二:用在旧的C代码中,帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名对象名,如:struct tagPOINT1{ int x; int y;};struct tagPOINT1 p1;而在C++中,则可以直接写:结构名对象名,即:tagPO 阅读全文
posted @ 2011-08-18 09:55 墨海 阅读(520) 评论(3) 推荐(0) 编辑
 

2011年8月13日

摘要: 1 Linux时区设置[debian:~#]# tzselectPlease identify a location so that time zone rules can be set correctly.Please select a continent or ocean.1) Africa2) Americas3) Antarctica4) Arctic Ocean5) Asia6) Atlantic Ocean7) Australia8) Europe9) Indian Ocean10) Pacific Ocean11) none - I want to specify the tim 阅读全文
posted @ 2011-08-13 12:19 墨海 阅读(1731) 评论(0) 推荐(0) 编辑
 

2011年8月7日

摘要: 安装步骤安装dvmm以debian lenny为例:准备工作: 源列表deb http://debian.cn99.com/debian/ stable main non-free contrib安装debian package: [gcc,gawk,libc6-dev,libncurses5-dev,libssl-dev,libx11-dev,gettext,python2.5-dev,zlib1g-dev] 安装dev86 http://homepage.ntlworld.com/robert.debath/dev86/Dev86src-0.16.17.tar.gz 从源代码安装dev8. 阅读全文
posted @ 2011-08-07 10:48 墨海 阅读(3686) 评论(0) 推荐(0) 编辑
 
摘要: \#============================================================================Python configuration setup for 'xm create'.This script sets the parameters used when a domain is created using 'xm create'.You use a separate script for each domain you want to create, oryou can set the par 阅读全文
posted @ 2011-08-07 09:43 墨海 阅读(467) 评论(0) 推荐(0) 编辑
 

2011年7月22日

摘要: 讨论AT&T的汇编语法,以及GCC的内嵌汇编语法。0.3.2Syntax 1.寄存器引用引用寄存器要在寄存器号前加百分号%,如“movl%eax, %ebx”。80386有如下寄存器:8个32-bit寄存器%eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp;8个16-bit寄存器,它们事实上是上面8个32-bit寄存器的低16位:%ax,%bx,%cx,%dx,%di,%si,%bp,%sp;8个8-bit寄存器:%ah,%al,%bh,%bl,%ch,%cl,%dh,%dl。它们事实上是寄存器%ax,%bx,%cx,%dx的高8位和低8位;6个段寄存器:% 阅读全文
posted @ 2011-07-22 15:28 墨海 阅读(1536) 评论(0) 推荐(0) 编辑