以下全部来自于http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html无任何个人意见。本文详细分析了2.6.x内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以
系统 2019-08-12 09:30:05 2692
前两天看Intel网站上贴了一篇关于设置HOOK的文章,讲到在多核CPU上,由于执行代码可能存在CPUCACHE里,因此当更改了函数起始6字节后,CPUCACHE里的对应内容并没有被修改,所以需要调用FlushInstructionCache()函数来更新CACHE。更新后的代码如下,增加的代码以粗体标出了。/**通过地址来设置某个函数的钩子函数@paramHANDLEhApiHook-由ApiHook_Init()函数生成的句柄@paramDWORDdw
系统 2019-08-12 01:32:34 2692
身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当。这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧。第一、cd指令,这个必会,不二话。第二、帮助指令,这个指令很复杂,可以用-help也可以用man,也可以用info,只是并不是所有的指令都可以使用-help,都可以使用man,所以必须要知道这点的区别。推荐文章:三个指令的区别第三、删除指令,rm必须要回啊~~第四、重命名指
系统 2019-08-12 01:32:17 2692
LinuxVPS新硬盘分区与挂载教程通过此教程对未启用的硬盘进行分区并挂载,可以确保通过DiyVM面板重装系统是不丢失挂载分区的数据!先通过fdisk-l查看目前磁盘分区状况[root@MyVPS~]#fdisk-lDisk/dev/xvda:8589MB,8589934592bytes255heads,63sectors/track,1044cylindersUnits=cylindersof16065*512=8225280bytesDeviceBoo
系统 2019-08-29 23:08:45 2691
近期開始看于渊的《自己动手写操作系统》这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊!如今都是U盘了,谁还用软盘。于是考虑用U盘。于是開始下面步骤:1、既然书上说给先要把软盘做引导盘,那我就相似地把U盘做成引导盘。在网上找了半天,发现USboot,于是就用它给自己的U盘做了一个引导盘。2、把编译后的boot.bin文件用绝对扇区工具写入U盘就万事大吉了。相同,在网上找到了winhex(还有ultraiSO,这个没有什么用),但是这个关键的一步
系统 2019-08-12 01:32:45 2691
学习过程中遇到一个对保护模式总结很好的Blog,转来分享一下。先说下特权级的概念,在保护模式下,系统依靠特权级来实施代码和数据的保护,相当于权限啦。特权级共有4个级别,0,1,2,3,数字越小表示权限越高。如图:较为核心的代码和数据放在较高(靠内)的层级中,处理器用此来防止较低特权的任务在不被允许的情况下访问处于高特权级的段。为了防止概念混淆,我们不用特权级大小来说明,改为内层(高),外层(低)来讲。特权级有3种:CPL,DPL和RPL,每个都是有4个等级
系统 2019-08-12 01:33:43 2690
http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.htmlLinux中find常见用法示例·findpath-option[-print][-exec-okcommand]{}\;find命令的参数;pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print:find命令将匹配的文件输出到标准输出。-exec:find命令对匹配的文件执行该
系统 2019-08-12 01:33:01 2689
五一劳动节后双休日期间,装QT,花了二天时间,刚安装完....记录下酸甜苦辣....我的系统是CenttOS5.5具体的安装办法:1、前往ftp://ftp.qt.nokia.com/qt/source下载Qt4.5.3forX11OpenSource版。2、下载过来的是qt-x11-opensource-src-4.5.3.tar.gz文件,我们用tar命令解压一下。tarzxvfqt-x11-opensource-src-4.5.3.tar.gz3、把
系统 2019-08-12 01:32:41 2689
我日常使用Linuxshell(Bash),但是我经常忘记一些有用的命令或者shell技巧。是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本文件写下这些Linuxshell的小技巧,现在我决定共享它给你。这个表我以后还会更新。记住,这里的一些贴士需要在你的Linux发行版上安装额外的软件。在bash中检查远程端口是否打开:echo>/dev/tcp/8.8.8.8/53&&echo"open"将进程
系统 2019-08-29 23:03:24 2688
在进程创建的时候,Linux系统会分配一个号码给当前这个进程,这个号码在进程所在的命名空间中是唯一的,但在其它的兄弟进程中,这个号码就不是唯一的了,也就是对于全局的命名空间来说,这个号不是全局唯一。这个号码就是进程的ID号,简称为PID。一,进程号数据结构表示这个PID被保存在进程的结构表示task_struct中。structtask_struct{....pid_tpid;pid_ttgid;.....};这两个结构都是pid_t,这个结构是是体系结构
系统 2019-08-29 22:26:30 2688
#include#include#include#includechar*mystrcat(char*dst,constchar*src){char*cp=dst;while(*cp)/*不写成while(*cp++)的原因是cp可能为'\0'*/++cp;/*Findendofdst*/while(*cp++=*src++);/*Copysrctoendofdst*/retur
系统 2019-08-12 01:33:02 2688
转自:http://www.cnblogs.com/wanghj-dz/archive/2011/05/14/2046210.html分析的很好;InitKernel---------------------------------------------------------------------------------bochs断点:0x000905ba;将KERNEL.BIN的内容经过整理对齐后放到新的位置;遍历每一个ProgramHeader,
系统 2019-08-12 01:33:42 2687
top:动态查看进程的变化转载请出自出处:http://eksliang.iteye.com/blog/2166641相对于ps是选取一个时间点的进程状态,top则可以持续检测进程运行的状态。使用方法如下:top[-d数字]|top[-bnp]参数:-d:后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒-n:与-b搭配,意义是,需要进行几次top的输出结果。-p:指定某些个PID来进行查看监测而已。在top执行过程当中可以使用的按键命令:?:显示在t
系统 2019-08-12 09:30:36 2685
语法为:[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g[addr]表示检索范围,省略时表示当前行。如:“1,20”:表示从第1行到20行;“%”:表示整个文件,同“1,$”;“.,$”:从当前行到文件尾;s:表示替换操作[option]:表示操作类型如:g表示全局替换;c表示进行确认p表示替代结果逐行显示(Ctrl+L恢复屏幕);省略option时仅对每行第一个匹配串进行替换;如果在源字符串和目的字符
系统 2019-08-12 01:33:00 2685
变换不是一个好理解的概念,不是吓你,它涉及很多有关代数,几何,以及线性代数的知识。怎么?被我的话吓怕了?不用怕,尽管我们未必能够理解这些概念,只要我们知道怎么使用它们就是了。其实,变换就是平面上一种坐标变化,听起来很抽象,但,只要我把它说具体了,你就会觉得不抽象了。相信各位如果玩过Photoshop,或者其它的绘图软件,应该知道什么叫做旋转,什么叫做倾斜,什么叫做平移……是的,这些就是我们今天要聊的变换,好了,现在你是不是可以坐下来喝一杯珍珠奶茶来放松一下
系统 2019-08-12 09:29:29 2684