- 博客(11)
- 收藏
- 关注
原创 深入理解LINUX 内核 之 进程学习
1.什么是进程2.进程在内核中的表示task_struct3.进程有哪些状态(7种)4.怎样标志一个进程: 进程标示符process ID与进程一一对应,同一个进程组中的进程使用相同的PID5.进程按照优先级不同被分配到不同的链表中(140个队列)拿空间换时间6.进程间的关系:父子关系,兄弟关系。其中进程0和进程1是内核创建的,进程0是所有进程的父进程7.根据进程的不同状态
2014-10-24 16:43:06
842
原创 Vim 使用入门即常用Vim 命令
Vim常用命令: 1. 向下移动10行 10 即10+向下的箭头,其余相同,上下左右除了四个方向键之外,还可以使用对应的k,j,h 和 l四个字母。2.向下移动一页,ctrl + f;向下移动半页,ctrl + d3.向上移动一页,ctrl + b;向上移动半页,ctrl+ u4. 10 + 空格键 :表示向后移动10个空5. G ,移动到该文件的最后一行6. nG,
2014-05-12 14:33:41
855
原创 为什么多维数组必须声明列数,而对行数没有要求???
多维数组:多维数组本质上是一维数组,只不过每个数组元素不是一个简单变量,而是一个数组(即数组中存储的元素也是一个数组)多维数组在作为函数参数的时候必须声明列数,而对行数没有要求。EX:f(int day[2][12]){}f(int day[ ][12]){}f(int (*day)[12]){}以上三种声明形式都是合法的,且效果相同。其中第
2014-03-16 17:33:03
4670
2
原创 面向对象第一节——面向对象思想
大自然是面向对象方法最早的发明者,也是面向对象规则最熟练的使用者,我们程序设计中面向对象的理念,方法和思想,皆是对我们生活的这个现实社会的抽象。说到面向对象,自然会提起面向过程,关于两者之间关系的讨论几乎是所有教科书的必选动作,这里,我不想用一大堆文字去解释它们的联系与区别,只想用一个例子来直观的告诉大家两者最明显的区别。当然,所有的比喻都背离了事物的本质,即使比喻用的足够形象。比喻的目的
2014-02-19 21:05:29
977
原创 从中医的角度认识感冒
人体就像一部机器,出了问题就要修,虽然这机器不能重启,但可以修理。对抗了几天雾霾,仿佛有感冒的倾向,于是找了本《人体使用说明书》看了一下,打算按照说明,修理一下身上的小毛病,希望奏效。 按照中医的理论,感冒是由寒气引起的,具体什么是寒气,大家自己琢磨。气这个字,在汉语尤其是古汉语中,含义颇多,既可以指实实在在的空气,又可以指气功大师修炼的气。在中医理论里,还指人身体内某种类似体液的东西,总
2014-02-16 18:55:36
3363
原创 C 语言创建动态数组实现
数组的好处大家都知道,但缺点也很明显,即不能动态改变大小。如果想获得动态改变大小的特性,一般在程序中采用链表的方式来实现。数组和链表满足了我们大多数的应用需求。但也有时候,我们想利用数组能快速查找的特点而不希望用链表,但是数组在每次使用的时候,大小又是变化的。今天1000,明天可能就是10000了。因此,就需要创建动态数组,在c语言中,这是可以实现的,主要涉及到malloc()函数,即动态分配内存
2014-02-16 15:26:05
1240
原创 有关SKB链表管理和数据操作的几个函数
内核中,SKB是以双向循环链表的形式存储的,并且,为了使特定的skb被快速找到,在链表的头部增加了一个新的数据结构sk_buff_head,该结构只是一个辅助节点,不含有数据。 在对SKB链表进行操作的时候,首先必须取得sk_buff_head结构中的自旋锁,这样才能安全的操作SKB链表。 下面以linux-2.6.20内核为例,对有关操作进行说明,以下涉及到的函数定义均在sk
2014-01-07 11:30:48
2801
原创 Linux 内核网络协议栈 中最重要的数据结构 SKB
在计算机的世界里,备份是一种美德。-------------漫步云端 作为内核网络协议部分最重要的数据结构SKB,有很多值得仔细推敲的问题。 SKB这种说法实际包含了两部分,即skb描述符和skb数据。Skb描述符即内核中的skbuff结构体,里面含有大量的指针变量,运用指针的好处是显然的。Skb 数据部分一般包括两大部分,线性数据部分和非线性数据部分(即聚合I/O部分
2014-01-06 22:17:17
2563
原创 基于CentOS的linux 2.6.20 内核编译
内核编译步骤,基于CentOS 5.4.编译linux2.6.20内核 内核编译很多人都说要提前备份文件,我在编译之前没有备份,包括内核配置文件也没有备份,编译之后我发现不同内核都是分开的,互补影响,所以,从这点来看,其实没必要备份。当然,如果是新手不放心自己的水平,也可以备份一下相关文件。我没有备份过,这里就不说明了,免得说错了,误导大家。 1.编译之前需要安装一些必备的软件,比
2013-12-24 21:45:02
1663
原创 git使用速查
经常在学习一些软件的时候,发现一些入门文章写得过于详细,以至于经常让新手们找不着北。今天,在内核源码的管理中使用了一些git,对于基本的git操作简单整理了一下,希望对需要的人有帮助。以下所有的操作都是在你想提交的文档所在的目录下面。我的git版本是1.8.51.初始化:2.git init3.添加所有目录4.git add .(不要少了后面这个点)5.添加某个文件,c
2013-12-17 16:11:55
880
原创 而今迈步从头越
刚才看了一下个人资料,发现注册csdn是09年11月10号,转眼四年多的时间都过去了,时间真的是好快。那一年我还是大二,应该还是什么都不懂的年纪,我说技术上。如今,青春不再,技术却始终是在的,从之前的java到现在的linux,变化还是比较大的。但是linux内核还是比较有研究价值的,经过了这半年多的接触,加上在这里向各位大牛的学习,感觉算是比较入门了。一直没在这里写过什么,倒是经常看到这里的
2013-12-17 16:05:02
943
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人