Linux开发
文章平均质量分 77
echoisland
这个作者很懒,什么都没留下…
展开
-
读LDD3,内存映射与DMA--PAGE_SHIFT,页帧号。
一,linux系统处理的地址类型1,用户虚拟地址:这是用户空间程序见到的常规地址。每个进程都有自己的虚拟地址空间2,物理地址物理地址用于处理器和系统内存之间3,总线地址总线地址在外围总线和内存这间使用4,内核逻辑地址内核逻辑地址组成了内核的常规地址原创 2011-09-09 09:44:54 · 2618 阅读 · 0 评论 -
Linux Netfilter实现机制和扩展技术
http://www.ibm.com/developerworks/cn/linux/l-ntflt/2.4.x的内核相对于2.2.x在IP协议栈部分有比较大的改动, Netfilter-iptables更是其一大特色,由于它功能强大,并且与内核完美结合,因此迅速成为Linux平台下进行网络应用扩展的主要利器,这些扩展不仅包括防火墙的实现--这只是Netfilter-ipt转载 2011-11-19 14:09:05 · 1364 阅读 · 0 评论 -
Libpcap BPF(BSD Packet Filter)包过滤机制
http://hi.baidu.com/ahtaria/blog/item/969ae4447eaa59076a63e57d.htmlLibpcap 重点使用 BPF(BSD Packet Filter)包过滤机制,BPF 于 1992 年被设计出来,其设计目的主要是解决当时已存在的过滤机制效率低下的问题。BPF的工作步骤如下:当一个数据包到达网络接口时,数据链路层的驱动会把它向系转载 2011-11-19 23:42:01 · 4179 阅读 · 0 评论 -
linux 内核网络,数据发送流程图
4.2 数据发送流程图各层主要函数以及位置功能说明: 1)sock_write:初始化msghdr{}结构 net/socket.c 2)sock_sendmsg:net/socket.c 3)inet_sendmsg:net/ipv4/af_net.c 4)tcp_sendmsg:申请sk_buff{转载 2011-11-20 20:07:22 · 6956 阅读 · 1 评论 -
linux 内核网络,数据接收流程图
4.3 数据接收流程图各层主要函数以及位置功能说明: 1)sock_read:初始化msghdr{}的结构类型变量msg,并且将需要接收的数据存放的地址传给msg.msg_iov->iov_base. net/socket.c 2)sock_recvmsg: 调用函数指针sock->ops->recvmsg()完成在INET Soc转载 2011-11-20 20:09:32 · 4596 阅读 · 0 评论 -
linux内核ipv4网络部分分层结构及涉入源文件
http://hi.baidu.com/amy_yeni/blog/item/c54003004d9a080b738da5b3.htmllinux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protoco转载 2011-11-20 20:15:50 · 1345 阅读 · 0 评论 -
Windows/Linux下C/C++内存泄露检测工具
http://hi.baidu.com/irenbest/blog/item/6353c7fdb3d77140d7887d13.html一 Window下的内存泄露检测(以VC++环境为例)灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行时你看不出它有任何异常,但长时间运行或在特定条件下特定操作重复多转载 2011-12-10 13:53:01 · 1430 阅读 · 0 评论 -
why (iphdr->ihl)*4 or (iphdr->ihl)<<2?
naihe2010 发表于 2010-4-13 06:47struct iphdr {#if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4, version:4;#elif defined (__BIG_ENDIAN_BITFIELD) __u8转载 2011-12-17 11:14:45 · 4592 阅读 · 0 评论 -
RedHat安装Gcc.4.1.2
kernel-headers-2.6.18-194.el5.i386.rpmglibc-common-2.5-49.i386.rpm[14:04:14] ChingLiu YU: glibc-2.5-49.i686.rpm[14:04:22] ChingLiu YU: glibc-headers-2.5-49.i386.rpm[14:06:03] ChingLiu YU:原创 2011-12-12 14:22:41 · 4649 阅读 · 1 评论 -
How to get an X11 Window from a Process ID?
http://stackoverflow.com/questions/151407/how-to-get-an-x11-window-from-a-process-idUnder Linux, my C++ application is using fork() and execv() to launch multiple instances of OpenOffice so as t转载 2011-12-20 21:31:04 · 1508 阅读 · 0 评论 -
用dropbox做私有git服务器
两样都用过的人,看标题大概就明白了。这两天写代码,自己的代码,不想拿到github去公开,但是又没钱去买私有的git hosting 服务,突然想起咱有dropbox。方法很简单,在dropbox的目录里面用git init建立一个repository,然后,在项目目录里 面(当然也是个git目录),使用git remote add把这个目录加为远程源,git push下,转载 2011-12-14 17:12:17 · 1280 阅读 · 0 评论 -
使用call_usermodehelper在Linux内核中直接运行用户空间程序
by沈东良/良少http://blog.csdn.net/shendl2011.07.19系统初始化时kernel_init在内核态创建和运行应用程序以完成系统初始化 内核刚刚启动时,只有内核态的代码,后来在init过程中,在内核态运行了一些初始化系统的程序,才产生了工作在用户空间的进程。/* This is a non __ini转载 2011-12-14 11:05:00 · 1130 阅读 · 0 评论 -
kernel_read
http://lxr.oss.org.cn/source/fs/exec.c798 int kernel_read(struct file *file, loff_t offset,799 char *addr, unsigned long count)800 {801 mm_segment_t old_fs;802转载 2011-12-25 14:32:28 · 5959 阅读 · 0 评论 -
ubuntu 10.04 编译安装最新版本linux-2.6.34内核
17号linux-2.6.34内核发布,带来了一些更新,想升级的朋友可以按照以下方法第一步:准备工作打开终端获得root权限:sudo su然后安装编译内核时需要的工具:apt-get install build-essential kernel-package libncurses5-dev libqt3-headersbuild-esse转载 2011-11-17 16:35:18 · 865 阅读 · 0 评论 -
Linux内核bridge浅析
Linux网桥模型: Linux内核通过一个虚拟的网桥设备来实现桥接的,这个设备可以绑定若干个以太网接口设备,从而将它们桥接起来。如下图所示:网桥设备br0绑定了eth0和eth1。对于网络协议栈的上层来说,只看得到br0,因为桥接是在数据链路层实现的,上层不需要关心桥接的细节。于是协议栈上层需要发送的报文被送到br0,网桥设备的处理代码再来判断报文该被转发到eth0或是eth1转载 2011-11-17 14:38:45 · 1954 阅读 · 0 评论 -
深度探索套接字缓冲区 sk_buff skb
http://blog.csdn.net/aaa6695798/article/details/4879271 套接字缓冲区用结构体struct sk_buff表示,它用于在网络子系统中的各层之间传递数据,处于一个核心地位,非常之重要。它包含了一组成员数据用于承载网络数据,同时,也定义了在这些数据上操作的一组函数。下面是其完整的定义: struct sk_buff {转载 2011-11-17 13:43:16 · 3007 阅读 · 0 评论 -
简明Vim练级攻略
简明Vim练级攻略2011-09-08 10:33 | 2586次阅读 | 来源:酷壳网 【已有0条评论】发表评论关键词:Vim,练级攻略 | 作者:陈皓 | 收藏这篇资讯导读:本文来自《Learn Vim Progressively》,译文来转载 2011-09-09 09:07:05 · 652 阅读 · 0 评论 -
strace gdb与ptrace
strace gdb与ptrace2011-05-24 10:20 121人阅读 评论(0) 收藏 举报学习, 转贴自:http://blog.csdn.net/Javadino/archive/2008/09/06/2891413.aspxhttp:转载 2011-08-18 22:59:56 · 1022 阅读 · 0 评论 -
什麼是 "asmlinkage"?--syscall原型说明
http://www.jollen.org/blog/2006/10/_asmlinkage.html什麼是 "asmlinkage"?jollen 發表於 October 26, 2006 4:15 PM有網友來信转载 2011-09-16 16:53:33 · 1339 阅读 · 0 评论 -
使用kprobes,截获execve系统调用,更谨慎的hook syscallTable的写法
转载,原文出处:http://blog.chinaunix.net/u/548/showart.php?id=386423关于截获execve等系统调用,很久以来存在一个问题:新函数不能直接调旧函数,否则导致stack不平衡,出错。曾经有高人用一串的汇编代码去转载 2011-09-16 17:02:17 · 4096 阅读 · 0 评论 -
使用pthread 线程退出时自动释放资源
线程退出时自动释放资源今天碰到一个问题:主线程pthread_create一个子线程A,子线程pthread_mutex_lock,然后调用其他的函数fun,最后从fun返回后再pthread_mutex_unlock.转载 2011-09-16 16:42:05 · 8340 阅读 · 0 评论 -
Security-Enhanced Linux(SELinux)
http://space.doit.com.cn/45811/viewspace-2096.htmlSecurity-Enhanced Linux(SELinux),这在linux2.6的内核中,是你不得不关注的对象。无论是文件系统还是网络接口,到处都能不经意的瞥到它转载 2011-09-21 15:46:59 · 4366 阅读 · 1 评论 -
Linux Security Module的注册层次
Linux Security Module的注册层次 ===================================================作者:ietf AT doit.com.cn所有源文件来自于linux kernel 2.6.20请在G转载 2011-09-21 15:50:08 · 1437 阅读 · 0 评论 -
GCC的内嵌汇编语法 AT&T汇编语言语法
__asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法(一)2007年05月09日 12:36开 发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有转载 2011-08-28 14:14:46 · 836 阅读 · 0 评论 -
获得目录的file descriptor.
最近的模块中要用到 openat .其它原型为:(int dfd, const char __user *filename, int flags, int mode);第一个参数 是,dfd,找了许久都没找到怎样获得目录文件描述符,还是在google code searc原创 2011-09-27 16:12:09 · 694 阅读 · 0 评论 -
Linux的timerfd分析
http://blog.csdn.net/walkingman321/article/details/6162055timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,所以能够被用于select/poll的应用场景。1. 使用方转载 2011-10-17 15:08:12 · 3063 阅读 · 0 评论 -
学习如何在netfilter上开发一个自定义hook
记录相关网址: 1、Linux netfilter Hacking HOWTO http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO.html#toc3 2、CSDN上一篇参考博文:转载 2011-11-17 10:57:49 · 2156 阅读 · 0 评论 -
Writing Loadable Kernel Modules using netfilter hooks (in-depth HOWTO) – Part 1
http://fcns.eu/2010/02/netfilter-hooks/keyword:write new netfilter moduleNote: This article was inspired by the lack of updated documentation on how to write proper netfilter kernel modules.转载 2011-11-17 08:53:24 · 1434 阅读 · 0 评论 -
Linux Kernel Tainted
Kernel TaintedPosted January 6th, 2008 by jfinstromThe Linux kernel maintains a "taint state" which is included in kernel error messages. The taint state provides an indication whether转载 2012-01-09 12:00:56 · 3545 阅读 · 0 评论