
linux内核
文章平均质量分 65
lucien
这个作者很懒,什么都没留下…
展开
-
PE文件加载过程揭秘
http://hi.baidu.com/srcwork/item/71d169257bd2bf0d73863ee3 (1)http://hi.baidu.com/tangweb/item/3ea05035ae0a430dcfb9fe4f (2)http://hi.baidu.com/tangweb/item/6fab453a3934a3bb623aff4f (3)http://h转载 2013-01-03 00:35:30 · 1943 阅读 · 0 评论 -
深入探索 Kdump,第 4 部分: kdump 的亲密战友 crash
什么是 crash如前文所述,当 linux 系统内核发生崩溃的时候,可以通过 kdump 等方式收集内核崩溃之前的内存,生成一个转储文件 vmcore。内核开发者通过分析该 vmcore 文件就可以诊断出内核崩溃的原因,从而进行操作系统的代码改进。那么 crash 就是一个被广泛使用的内核崩溃转储文件分析工具,掌握 crash 的使用技巧,对于定位问题有着十分重要的作用。回页首使用转载 2013-08-20 15:16:36 · 1874 阅读 · 0 评论 -
用kdb调试linux内核驱动
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/logs/47460470.html其他方法可以参考《linux设备驱动程序3》,这里主要介绍kdb,我参考了一些网上和书上的,但还有几个关键细节自己琢磨出来的。1首先kdb不是Linux内核的标准配置,需要先到这个网站上去下载补丁ftp://oss.sgi转载 2013-08-21 10:45:40 · 4556 阅读 · 0 评论 -
使用KGDB调试内核和模块
内核空间的代码(包括内核和模块)无法像应用程序那样使用gdb进行简单直观的调试.代码调试一般有两种方法:一种是通过调试器辅助调试, 如gdb, Visual C++的集成调试环境, JTAG仿真器的集成调试环境; 这种调试方法可以对代码进行单步跟踪, 所以一次运行基本上就可以排查一条运行路径; 也可以在程序出错时检查调用栈信息, 从而迅速定位问题所在; 所以这种调试方法尤其适合于初期排查代转载 2013-08-21 10:27:40 · 760 阅读 · 0 评论 -
Linux 系统内核的调试
调试是软件开发过程中一个必不可少的环节,在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题。但是,Linux 系统的开发者出于保证内核代码正确性的考虑,不愿意在 Linux 内核源代码树中加入一个调试器。他们认为内核中的调试器会误导开发者,从而引入不良的修正[1]。所以对 Linux 内核进行调试一直是个令内核程序员感到棘手的问题,调试工作的艰苦性是内核级的开发区别于用户级开发的转载 2013-08-21 10:37:02 · 1024 阅读 · 0 评论 -
Linux内核中的IPSEC实现
http://shaojiashuai123456.iteye.com/blog/811840转载 2013-08-23 20:24:03 · 1065 阅读 · 0 评论 -
RPS和RFS, SMP IRQ affinity
http://www.igigo.net/archives/category/kernel转载 2013-09-06 16:29:47 · 1024 阅读 · 0 评论 -
qemu-kvm创建参数分析
http://crystalrain0.iteye.com/blog/1722764转载 2013-09-13 10:11:25 · 861 阅读 · 0 评论 -
如何挂载一个镜像文件(how to mount an image file)
在使用KVM或Xen虚拟化的情况下,经常需要使用镜像文件(image file),我们可以将Guest系统启动起来,然后对镜像文件进行修改,不过这样有时也是比较麻烦,其实也是可以将镜像文件直接进行mount的,可以用如下两种办法。(本文写的RAW格式镜像文件的挂载;我的另一篇文章写了“如何挂载qcow2格式的镜像文件”)方法一:找出分区开始的开始位置,使用mount命令的offset参数偏转载 2013-09-05 16:48:49 · 7284 阅读 · 0 评论 -
linux bonding源码分析
http://www.docin.com/p-311297097.html转载 2013-09-12 12:50:37 · 2174 阅读 · 0 评论 -
虚拟网卡 TUN/TAP 驱动程序设计原理
简介虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。tun/tap驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。利用tun/tap驱动,可以将转载 2013-09-12 13:56:06 · 1036 阅读 · 0 评论 -
四种格式的以太网帧结构
用过NetXray之类的抓包软件的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header是这样的,而另外的又不一样。这是因为在Ethernet中存在几种不同的帧格式,下面我就简单介绍一下几种不同的帧格式及他们的差异。 一、Ethernet帧格式的发展 1980 DEC,Intel,Xerox制订了Ethernet I的标准;1982 DEC,In转载 2013-08-07 11:03:09 · 6184 阅读 · 0 评论 -
Linux下VLAN功能的实现
1.Linux网络栈下两层实现1.1简介 VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示:这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个s转载 2013-07-19 15:06:12 · 1936 阅读 · 0 评论 -
linux下pe的分析工具开发
eagle.zju.edu.cn/home/eos/dongw/pub/peloader.pdf转载 2013-01-03 00:50:09 · 1524 阅读 · 0 评论 -
elf文件动态加载
http://www.360doc.com/content/12/0507/20/4186481_209330714.shtml转载 2013-01-02 14:22:57 · 573 阅读 · 0 评论 -
AT&T指令集
摘录网上的一篇AT&T指令总结,方便查阅~~GAS中每个操作都是有一个字符的后缀,表明操作数的大小。C声明GAS后缀大小(字节)charb1shortw2(unsigned) int / long / char*l4转载 2013-04-17 01:20:55 · 1023 阅读 · 0 评论 -
32位Intel CPU所含有的寄存器
4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位转载 2013-04-17 01:23:13 · 785 阅读 · 0 评论 -
start_kernel简单总结
首先是start_kernel中80个左右的函数:smp_setup_processor_id //获取当前CPU的的硬件IDlockdep_init //初始化同步与互斥环境,用来检查内核互斥机制(尤其是自旋锁)潜在的死锁问题debug_objects_early_init //^^^^^^^^^^^^^^^^^^^boot_init_stack_canary /原创 2013-04-21 12:48:09 · 1407 阅读 · 0 评论 -
用kdb调试linux内核驱动
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://debug-sai.blogbus.com/logs/47460470.html其他方法可以参考《linux设备驱动程序3》,这里主要介绍kdb,我参考了一些网上和书上的,但还有几个关键细节自己琢磨出来的。1首先kdb不是Linux内核的标准配置,需要先到这个网站上去下载补丁ftp://o转载 2013-04-21 20:07:23 · 1102 阅读 · 0 评论 -
start_kernel分析
在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段。 下面就顺这代码逐个函数的解释,但是这里并不会过于深入每个函数,因为这样就会只见树木,不见森林。分析代码首先要从构架上宏观地理解,然后再去考虑细节问题asmlinkage void __init start_k转载 2013-04-21 12:37:26 · 1007 阅读 · 0 评论 -
linux下用GDB调试可加载模块
参考文章:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/developers-handbook/kerneldebug-kld.html这篇文章主要是对参考文章的简单整理,大同小异。首先,需要在编译模块时加入调试信息。两种方式,一种是编译时使用“make COPTS-g”,另一种是用“gcc -g”作为“gcc”的别名。转载 2013-04-21 20:01:13 · 1070 阅读 · 0 评论 -
使用kgdb调试linux内核及内核模块
1. 几种内核调试工具比较kdb:只能在汇编代码级进行调试; 优点是不需要两台机器进行调试。gdb:在调试模块时缺少一些至关重要的功能,它可用来查看内核的运行情况,包括反汇编内核函数。kgdb:能很方便的在源码级对内核进行调试,缺点是kgdb只能进行远程调试,它需要一根串口线及两台机器来调试内核(也可以是在同一台主机上用vmware软件运行两个操作系统来调试)转载 2013-04-21 20:03:34 · 1079 阅读 · 0 评论 -
Linux-网桥原理分析
目 录1..... 前言... 62 网桥的原理... 72.1 桥接的概念... 72.2 linux的桥接实现... 82.3 网桥的功能... 93 网桥的配置... 104 网桥的实现... 104.1 初始化... 114转载 2013-07-19 15:04:46 · 1855 阅读 · 0 评论 -
inux运行时I/O设备的电源管理框架
本文介绍Linux运行时I/O设备的电源管理框架。属于Linux内核文档的翻译。原文:http://www.kernel.org/doc/Documentation/power/runtime_pm.txt翻译:CoryXie 1. 介绍对I/O设备的运行时电源管理(运行时PM)的支持,是在电源管理的核心(PM core)下借助于以下方式实现的:电源管理工作队列pm_w转载 2013-09-13 17:09:47 · 966 阅读 · 0 评论 -
The Linux Kernel API
https://www.kernel.org/doc/htmldocs/kernel-api/转载 2013-09-14 19:57:55 · 725 阅读 · 0 评论 -
netlink 介绍
http://os.it168.com/a2009/0430/993/000000993531.shtmlhttp://zh.wikipedia.org/wiki/Netlink转载 2013-11-02 21:25:17 · 1041 阅读 · 0 评论 -
Open vSwitch使用笔记
1. OpenvSwitch介绍 1.1虚拟化网络架构图1.2 OpenvSwitch功能介绍2. 安装,启动,关闭 2.1 源码安装2.2 apt安装2.3 启动脚本2.4 关闭脚本2.5 virsh启动3. 配置,使用 3.1流规则 3.2VLAN3.3 sflow3.4接入物理机 4. 遇到的问题 4.1找不到opevswi转载 2013-11-17 23:37:07 · 10739 阅读 · 2 评论 -
openstack install
这个是自动化安装手册 https://access.redhat.com/site/documentation/en-US/Red_Hat_OpenStack/3/html/Getting_Started_Guide/index.html手工安装手册 https://access.redhat.com/site/documentation/en-US/Red_Hat_OpenStack/3原创 2013-11-20 16:09:32 · 967 阅读 · 0 评论 -
ikev2 学习
http://pic.dhe.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.hald001%2Finitex.htm转载 2013-11-21 09:52:03 · 1901 阅读 · 0 评论 -
Linux,Solaris和FreeBSD三大操作系统的比较
kernel: http://blog.youkuaiyun.com/lm2302293/article/details/6787350comformance: http://school.cfan.com.cn/system/unix/2009-06-14/1244971964d213942.shtml转载 2013-11-24 14:34:32 · 3931 阅读 · 0 评论 -
freebsd, openbsd, netbsd
http://www.360doc.com/content/10/1228/23/3688062_82184475.shtml转载 2013-11-24 14:47:26 · 1322 阅读 · 0 评论 -
TCP拥塞控制算法内核实现剖析
http://blog.youkuaiyun.com/zhangskd/article/details/7084782转载 2014-01-12 18:10:49 · 1227 阅读 · 0 评论 -
linux conntrack
http://staff.ustc.edu.cn/~james/linux/nat.htmlhttp://blog.youkuaiyun.com/efan_linux/article/details/4604362http://blog.youkuaiyun.com/dog250/article/details/9732185转载 2014-02-09 16:12:08 · 1204 阅读 · 0 评论 -
Netfilter源代码分析详解
http://wenku.baidu.com/view/fc3fc56c561252d380eb6ed9.html转载 2014-02-17 15:37:07 · 1440 阅读 · 0 评论 -
linux kernel 3.6版本网络子系统新特性 - TCP
一,TCP fast open 客户端实现 这个特性是google提出并主导开发的。实现的原理是对于客户端允许发送syn请求时携带数据, 对于服务器端收到带有数据的syn请求后,可以立刻提交给用户层,并发送ack, 这样节省一个RTT时间。 这个特性对于短连接的业务类型比较有很大的帮助,据测试结果有4%~41%的性能提升。 这个特性需要客户端和服务器端的o转载 2013-10-23 10:01:54 · 1085 阅读 · 0 评论 -
IPSec-Tools配置
http://blog.youkuaiyun.com/zt698/article/details/48116041 介绍从Linux 2.6内核开始,内核就自身带有IPSec模块,配合IPSec-Tools,能很好的实现Linux的IPSec功能。IPSec-Tools主要包含libipsec、setkey、racoon和racoonctl这4个模块,setkey主要用于配置S转载 2013-10-27 23:44:46 · 1320 阅读 · 0 评论 -
netpoll浅析
netpoll只是一种框架和一些接口,只有依赖这个框架和接口实现的netpoll实例,netpoll才能发挥它的功能。类似于kernel中的vfs,vfs本身并不会去做具体的文件操作,只是为不同的文件系统提供了一个框架。netpoll不依赖于网络协议栈,因此在内核网络及I/O子系统尚未可用时,也可以发送或接收数据包。当然netpoll能够处理的数据包类型也很有限,只有UDP和ARP数据包,并且只能转载 2013-09-16 14:10:04 · 6663 阅读 · 0 评论 -
linux kernel 网络协议栈之GRO(Generic receive offload)
GRO(Generic receive offload)在内核2.6.29之后合并进去的,作者是一个华裔Herbert Xu ,GRO的简介可以看这里:http://lwn.net/Articles/358910/先来描述一下GRO的作用,GRO是针对网络接受包的处理的,并且只是针对NAPI类型的驱动,因此如果要支持GRO,不仅要内核支持,而且驱动也必须调用相应的借口,用ethtool -转载 2013-09-16 14:09:17 · 20259 阅读 · 2 评论 -
linux vlan协议-802.1q
内核版本:2.6.34802.1q1. 注册vlan网络系统子空间,[cpp] view plaincopyerr = register_pernet_subsys(&vlan_net_ops); static struct pernet_operations vlan_net_ops = { .init = vlan_init_net, .e转载 2013-09-16 14:11:10 · 1830 阅读 · 0 评论 -
How GRO works
All modern device drivers should be doing two things, firstthey should use NAPI for interrupt mitigation plus simplermutual exclusion (all RX code paths run in software interruptcontext just like TX),转载 2013-09-19 15:34:25 · 897 阅读 · 0 评论