- 博客(9)
- 资源 (34)
- 收藏
- 关注
原创 Linux内核调试工具
原文地址:http://blog.csdn.net/ariesjzj/article/details/8244333一些Linux Kernel的分析调试工作,主要包换qemu,kprobes和trace等,以作备忘。 Qemu源码级调试Kernel1. Qemu编译与安装先安装libsdl的开发库$ ./configure$ make # make insta
2012-11-30 19:02:15 7020
转载 如何在ubuntu下重新编译内核
每一个发行版本都带有一些特殊的工具,用来从源代码中创建一个自定义的内核,这篇文章就是关于如何在ubuntu系统中编译内核的。内容包括,如何利用最新的,未被修改过的,从www.kernel.org网站上下载下来的源代码来构建自订制系统,这样,你就能独立于发行版所提供的内核。文章同样涉及了如果你需要一些现有内核不包含的特性,如何对内核源代码进行修补等问题。每一个发行版本都带有一些特殊的工具,用来从
2012-11-27 08:18:45 1984
原创 Windows驱动中通过MDL实现用户态与核心态共享内存
Windows驱动跑在核心态(Kernel mode),驱动的调用者跑在用户态。如何使用户态进程与核心态驱动共享内存呢 ?我们知道32位Windows中,默认状态下虚拟空间有4G,前2G是每个进程私有的,也就是说在进程切换的时候会变化,后2G是操作系统的,所以是固定的。既然用户态进程和核心态驱动在同一个进程空间里,是不是只要直接传个内存地址过来,就可以访问了?理论上可以但实际上不行,因为用
2012-11-19 11:59:14 5227
转载 source insight支持.S的汇编文件
用source insight看blob以及内核中的代码,发现即使全局搜索,也找不到定义中后缀为.S的函数,而明明在*.S中用汇编定义了该函数的。去网上查了一下,发现原因是*.S文件并没有添加到改工程中来。为了用source insight能搜索到.S的汇编文件,必须把该文件添加进来。 方法: 1、在创建工程前先特别设置好source insight 。设置如下: Option
2012-11-16 22:54:25 1382
转载 xen 添加hypercall
在linux系统中添加新的系统调用,一般需要三个步骤:1. 注册新的系统调用号2. 更新系统调用表3. 添加新函数在xen中添加一个 hypercall,类似于在linux中添加一个系统调. 基本上也是上面几个步骤。现在举个具体的例子:比如我们要在xen中添加一个打印消息的hypercall,参数有一个,类型为char*, 代表我们要打印的消息. 函数原型为:do_
2012-11-06 20:36:41 1072
转载 Windows Device Drivers Book Reviews
A quick search in the web reveals that the number of the books that are related to windows device drivers can be counted with the fingers of one hand. Even worse, most of the books are either too old
2012-11-06 08:27:02 1385
转载 qemu kvm 内存虚拟化
一、qemu中物理内存的注册cpu_register_physical_memory调用cpu_notify_set_memorycpu_notify_set_memory调用kvm_client_set_memorykvm_client_set_memory调用kvm_set_phys_memkvm_set_phys_mem调用kvm_set_user_memory_region
2012-11-05 09:23:16 2717
转载 Linux 新api eventfd
eventfd 在内核版本,2.6.22以后有效。查看内核版本可以用命令 uname -r 。1 #include int eventfd(unsigned int initval, int flags);这个函数会创建一个 事件对象 (eventfd object), 用来实现,进程(线程)间 的 等待/通知(wait/notify) 机制. 内核会为这个对象维护一个
2012-11-04 19:58:13 1985
转载 Linux kernel boot process——从实模式(real mode)到保护模式(protected mode),再到分页(paging) .
本文简要介绍X86-32架构下的Linux kernel被boot loader(如grub)加载到内存后,如何从最初的实模式,切换到保护模式,并开启分页机制。本文不涉及boot loader如何将内核加载到内存,因为这是boot loader的事,跟内核自己无关(当然他们之间一定要有种事先约定的协议来沟通)。因为启动代码并不经常变化,所以对这部分的分析基本适用于较早的2.6.24至现在的3.0.
2012-11-01 15:48:31 1271
The.Art.of.Multiprocessor.Programming.Source.Code
2012-02-14
《Learning Perl》 5th
2011-07-16
Windows Internals Fifth Edition
2011-01-28
Data.Mining.Practical.Machine.Learning.Tools.and.Techniques.Second.Edition
2010-09-08
Principles of Data Mining
2010-09-08
Understanding Search Engines: Mathematical Modeling and Text Retrieval
2010-09-08
Mining the Web-Discovering Knowledge from Hypertext Data
2010-09-08
Search Engines, Link Analysis, and User’s Web Behavior
2010-09-08
Professional Linux Kernel Architecture
2010-08-29
《Dynamic Programming and Optimal Control》 Vol 2
2010-07-05
《The nature of statistical learning theory》Vapnik V.N.
2009-10-25
《Elements of the Theory of Computation》
2009-10-02
《The Design of The Unix Operating System》(unix操作系统设计)
2009-10-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人