文章列表
 
2009-09-04 17:54
非常遗憾,HOOK的发展史不是那么清晰可见。事实上,HOOK到底是什么,很多人的说法都不一样。
最早是在操作系统中出现的HOOK概念。在Unix/Linux/Windows中都 有类似概念。当时提出的目的在于,允许用户在系统调用过程中,插入自己的代码处理特殊事情。典型的HOOK就是用自己的功能替换原有的函数点,在处理完成 之后,又恢复原有的函数点。(这里“点”就是表示一个可以使用HOOK勾住的位置)。
下面是《关于钩子》中,描述的Windows是中的钩子:
 
2009-08-24 20:41

GDB调试精粹及使用实例

来源:不详 (2006-07-14 11:18:05)

 
2009-08-23 23:21
1,编译内核
linux-2.6.30 内核配置 版本5 编译内核

2,用Qemu 启动Linux
/usr/local/qemu/bin/qemu -kernel ./linux-2.6.30/arch/i386/boot/bzImage -hda ./1248179541.img -boot c -append "root=/dev/sda kgdboc=ttyS0,115200 kgdbwait" -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup -serial tcp::4321,server -alt-grab

a,/usr/local/qemu/bin/qe
 
2009-08-21 13:32

深入理解 Linux 2.6 的 initramfs 机制 (上)

日前結束一個消費性電子產品的開發工作,稍有心得,試著整理採取 Linux kernel 2.6 initramfs 機制以加速系統開發的經驗,同時也談論對 fast-booting 設計的重要性,順便解決某些像是「kinit/klibc 為何被提出?」等疑難雜症。

進入主題前,先看看所謂的 booting。相傳在十八世紀,德國 Baron Münchhausen 男爵常誇大吹噓自己的英勇事蹟,其中一項是「拉著自己的頭髮,將自己從受陷的沼澤中提起」,此事後來
 
2009-08-20 17:07
内容:

·基础知识:线程和进程

·Linux 2.4内核中的轻量进程实现

·LinuxThread的线程机制

·其他的线程实现机制

·参考资料

·关于作者

自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux 平
 
2009-08-18 21:30

The basic container for block I/O within the kernel is the bio structure, which is defined in <linux/bio.h>. This structure represents block I/O operations that are in flight (active) as a list of segments. A segment is a chunk of a buffer that is contiguous in memory. Thus, individual b

 
2009-08-18 10:15
系统中能够随机访问固定大小数据片(chunk)的设备被称作块设备,这些数据片就称作块。块设备文件都是以安装文件系统的方式使用,此也是块设备通常的 访问方式。块设备的访问方式是随机的,也就是可以在访问设备时,随意的从一个位置跳转到另一个位置。块设备的访问位置必须能够在介质的不同区间前后移动。 所以事实上内核不必提供一个专门的子系统来管理字符设备,但是对块设备的管理却必须要有一个专门的提供服务的子系统。块设备中,最小的可寻址单元是扇区。 扇区大小一般是2的整数倍,而最常见的大小是512个
 
2009-08-17 23:09

在学习块设备原理的时候,我最关系块设备的数据流程,从应用程序调用Read或者Write开始,数据在内核中到底是如何流通、处理的呢?然后又如何抵达具体的物理设备的呢?下面对一个带Cache功能的块设备数据流程进行分析。

 
2009-08-17 22:21

1. 概述
系统能够随机访问固定大小数据片的设备称为块设备,这些数据片称作块。另一种基本的设备类型是字符设备。字符设备按照字节流的方式被有序访问,像串口和键盘 都属于字符设备。这两种类型的设备的根本区别在于它们是否可以被随机访问,换句话说,就是能否在访问设备时随意从一个位置跳到另一个位置。
字符设备仅仅需要控制一个位置--当前位置;而块设备访问的位置必须在介质的不同区间前后移动,同时块设备对执行性能的要求很

 
2009-08-16 22:19
kmalloc 好像是总共只能使用 2M 内存的,如果用更多的就只能用 vmalloc,但其性能很糟糕;我所知道解决办法非常简单:启动系统的时候增加一个 mem=xxx 启动参数,让内核不去管理后面的那部分内存,然后在模块里面把后面的内存映射过来获得一大块连续的地址,以后根据自己的需要在那块空间上操作就可以了。

不过说到后来,映射地址的函数是什么记不得了,回到计算机前 google 了好几个关键词,最后终于确认是 ioremap 这个函数,赶快记在 blog 里,避免下次遗忘。

 
   
 
 
文章分类
 
 
 
 
 
 
c/c++(24)
 
 
Gcc(10)
 
Read(8)
 
Edit(15)
 
 
 
Net(3)
 
   
 
文章存档
 
     
 
最新文章评论
  

刚才的评论忘点分享了
 

写的太好了,忍不住赞一个。作为初学者,很多东西不清楚,就需要这样的文章来整理一
 

其实我就是那个能运行就万事大吉的菜鸟,受教了~
 

需要,谢谢
 

原创?怎么看到相关文章都是这一篇呢~~
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu