kernel

linux的io栈图

helight | 100字 | 阅读大约需要1分钟 | 归档于kernel

2014年5月6日

G+上看到有人画的一个图,非常不错

继续阅读

liunx系统分析图解

helight | 100字 | 阅读大约需要0分钟 | 归档于kernel

2014年4月11日

继续阅读

内核补丁制作与提交

helight | 1800字 | 阅读大约需要4分钟 | 归档于kernel

2014年4月6日

作者:许振文

内核源码下载

内核代码的管理是采用的git来管理的,所以要下载内核最新的代码的话就得使用git工具来下载了。git工具的使用我在上一篇文章中已经写了个大概,所以具体可以参考其中的使用说明。 一般测试可以下载部分或是全部的源代码,我们一般会下载Linus Torvalds的git树下的源码。URL如下:

继续阅读

pthread中线程是怎么创建的(2)---glibc到内核

helight | 900字 | 阅读大约需要2分钟 | 归档于kernel

2013年4月28日

在glibc中线程创建是这个文件种来定义的:nptl/pthread_create.c

创建过程为,pthread_create 调用__pthread_create_2_0, __pthread_create_2_0调用__pthread_create_2_1, 或者pthread_create直接调用__pthread_create_2_1,在由__pthread_create_2_1调用create_thread来创建。

在create_thread中,首先是设置了很多内核clone的标志,因为对内核来说每次创建都是创建一个内核级的线程或是内核级进程。

继续阅读

pthread中线程是怎么创建的(1)---glibc中的别名机制symver(symbol version)

helight | 700字 | 阅读大约需要2分钟 | 归档于kernel

2013年4月28日

那天看了看glibc的线程相关的代码之后,又想看看线程的创建过程,今天趁着程序还在跑的功夫看了看glibc和内核代码,简单过了一下,也顺便记录下。 glibc种线程创建是这个文件种来定义的:nptl/pthread_create.c

我们平时使用的时候一般是include pthread.h文件就可以使用pthread_create来创建线程了,但是在这个pthread_create.c文件中居然是直接找不到pthread_create函数的定义的,找到的只是:

继续阅读

线程种的gettid和pthread_self区别

helight | 1000字 | 阅读大约需要2分钟 | 归档于kernel

2013年4月22日

这几天写程序老是使用thread来做,所以自己封装了一个threadbase的类来做简单的测试使用,但是在写的过程种发现又两个获取线程id的函数:pthread_self和gettid,那这两个函数有什么区别呢?

看gettid的man,这样写道:

继续阅读

debian testing+gnome3+ibus+kernel3.08

helight | 1000字 | 阅读大约需要2分钟 | 归档于kernel

2011年11月24日

debian的6.0出来之后,一直就心很痒,又加之之前刚刚从同事那里买了个笔记本,所以老婆把她的本就给我用了,虽然配置是有点底,但是安装debian我想肯定没有问题的,在g+上看到debian的testing中已经加入了gnome3了,所以更想试试了,但是没有想到道路事这么的曲折,我这两周花了好多时间,终于在今晚搞定了。

继续阅读

内核又拒绝挂载fat32的磁盘了,报codepage cp437 not found

helight | 500字 | 阅读大约需要1分钟 | 归档于kernel

2011年8月11日

前几天从新编译了内核,是应为升级了内核后vbox不能用了,所以又从新编译了内核,并且安装编译了vbox的内核模块,但是也出了问题,在每次shutdown的时候机器总是无法断点,磁盘灯不再亮,说明磁盘也不写了,只是一个锁灯在不断的闪,看了messages总的日志看到这样两句:

继续阅读

NF_HOOK点自ipv4中的插入

helight | 500字 | 阅读大约需要1分钟 | 归档于kernel

2011年2月20日

net/ipv4/af_inet.c文件中对ipv4的协议进行了初始化, fs_initcall(inet_init);

在inet_init中进行了ipv4相关的协议进行了初始化:tcp,udp,icmp等处理方法的注册,arp,ip,tcp,udp等协议处理流程的建立,proc文件系统中相关文件的建立等处理,这个在之前就分析过了,现在主要分析的呢是,在ip协议处理流程中NF_HOOK是如何插入的,对这个流程的分析可以比较清楚的看到linux对ipv4的一个处理流程,对特殊ip的处理,对路由包的处理等等。

继续阅读

netfilter在IPV4中的5个HOOK

helight | 300字 | 阅读大约需要1分钟 | 归档于kernel

2011年2月19日

之前就知道在内核中netfilter的工作原理是:在协议流程中加入hook函数,从而达到对协议流中的数据进行抓取,今天对IPV4中的这几个点在内核中找了下,终于定位了。先在这里分析一下,还需要分析,数据包在内核中是如何路由的!!!哈呵呵

继续阅读

Linux虚拟网卡

helight | 500字 | 阅读大约需要1分钟 | 归档于kernel

2011年2月19日

昨天研究了下利用虚拟网卡实现两个机器利用一个物理网卡连接外网的内核源码和设置,其实利用虚拟网卡上网的例子在上学 的时候就做过类似的实验,一般可以在一个机器A的一个网卡上配置一个外网ip一个内网ip,另一个内部机器B只配置内网ip,让后B的网关设置为A的内网ip,在A机器上启用netfilter的NAT功能,再启用A机器的路由转发功能,就可以实现B由A上外网的功能了!就如下面这个图。

继续阅读

再编译内核

helight | 400字 | 阅读大约需要1分钟 | 归档于kernel

2010年12月28日

昨天下了内2.6.36的内核,今晚没事,想编译看看,顺便做个记录! 首先要安装必要的包。 包有:libncurses5-dev(menuconf

继续阅读

内核学习

helight | 500字 | 阅读大约需要1分钟 | 归档于kernel

2010年12月25日

来公司之后就没有怎么好好学习内核方面的东西了,也就是是在师妹们问起的时候查查源码或是搜索一下解答一下。本以为我会在内核这条路上越走越远。。。

在公司的一个交流会上,由于发言太过积极被奖励了一张当当的购书卡,回来之后直接上当当就买了本ULK,再此捧起内核的书来看,来学习,现在每天晚上回来看上半小时到一小时,让后睡觉,呵呵,有种踏实的感觉。  

继续阅读

Gdb+core调试技术

helight | 900字 | 阅读大约需要2分钟 | 归档于kernel

2010年9月15日

做c方面的开发,免不了要是用gdb来调试程序,最近也是在公司做的时候时常需要使用gdb来分析程序,使用最多的当属使用core来查看程序运行的crash原因。

在linux中应用程序运行奔溃之后一般会产生core文件,core文件是core dump来产生,core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中。

继续阅读

Fastcgi+apache的安装方式

helight | 800字 | 阅读大约需要2分钟 | 归档于kernel

2010年8月17日

最近因为一个业务需要,需要安装apache+fastcgi的支持,本来可以直接让运维人员给我配置好的,但是想想,这东西还是自己配的好,方便以后调试啊!这里粗浅的学习了一下,做了一个安装记录,分享一下!

继续阅读