logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核大讲堂 (一) 设备驱动的基石驱动模型(3)

实在是让大家久等了,因为最近离职,所以繁锁的事情很多,今天终于把离职手续给办完了,不过还有一堆事情没有做,如果更新的慢的话,请大家多多包涵。言归正传。俗话说的好:光说不练假把式。很明显本帅哥不是假把式。为了让大家一起对驱动模型有直观的认识,小弟花了一点点时间写了几个小例子(目前只有一个)。就是为了让大家领会最神秘的驱动模型,有了这些小例子,结合我前面两篇源码分析的文章,哥可以告诉你,你已经具备内核

#centos#linux#游戏
Linux内核大讲堂 (一) 设备驱动的基石驱动模型(2)

上节我们分析到int kset_register(struct kset *k)函数中的kobject_add_internal(&k->kobj),我们接着分析,先唤起来一下大家的记忆,给出kset_register的函数定义:int kset_register(struct kset *k){ int err; if (!k)  return -EINVAL; kset_init(k); er

Linux内核大讲堂 (三) 督脉之虚拟文件系统(1)

Linux内核大讲堂 (三)督脉之虚拟文件系统(1)在上一节内核大讲堂 (二)传说中的字符设备(4)>>中我们略微跟了一下文件系统相关的代码,虽然跟的不多,但是总算和虚拟文件系统和ext3打了个招呼。接下来就要专门讲文件系统了。文件系统也是分层的,简单来说分两大层。上层是虚拟文件系统,显然下层就是非虚拟文件系统了,就是“实际”的文件系统。什么才算实际?呵呵。高中学过反证法,这时候你就感

#linux
Linux内核大讲堂 (一) 设备驱动的基石驱动模型(7)

<br />Linux内核大讲堂 (一) 设备驱动的基石驱动模型(7)<br />终于快讲完了,这一节其实就是让上节我们所说的四大天王露下小脸。源码分析请自行完成吧。我建议大家可以试着先看一下代码,如果能看懂,那就把我写的那破玩意删掉,自已实现一遍,如果不能看懂,那马上回过去从第一小节重新看过,耐心,一定要有耐心,没耐心,啥都完了。帖上原码:<br />Makefile:<br />obj-m+=

如果没有typeof,内核将会怎样?

<br />一直都觉得双向链表在内核中非常重要。<br />双向链表最主要的就是用了container_of这个宏。<br />而container_of又是建立在typeof的基础之上的。<br />没有typeof,就没有container_of,双向链表,就没有max,mix这些宏,就没有...<br />linux内核将typeof已经发挥到极致了。<br />container_of中包

将Centos5.4内核升级到2.6.38.5

Inux内核升级是学习内核的基本条件。如果自已编译的内核跑不起来,那谈linux内核学习就是镜花水月了。其实网上有很多相关的内核编译升级教程。我这个纯粹是多余的,但是为什么很多同志升级还是老失败呢?其实网上有很多教程,撞到相关的问题问一下google或百度就基本是可以解决的。虽然网上的解决方法很多时候不是很好,但是要编译成功并运行起来是没有太大问题的。好了,言归正传,把我的方法奉献给大家吧。首先我

#centos#linux
Linux内核大讲堂 (二) 传说中的字符设备(3)

Linux内核大讲堂 (二) 传说中的字符设备(3)       接下来讲的是字符设备的重点,就是从用户空间调用open最到终调用我们写的字符驱动中的open的整个过程。下面的讨论将会非常有意思,请大家一定要看完所有的描述,否则理解有问题就别怪哥没提醒你了!       在这之前我们大概说说大名鼎鼎的系统调用,从字面上理解就是系统(内核)提供的调用(服务),取小括号里面的话就拼成了:内核提

Linux内核中的klist分析

Linux内核中的klist分析        分析的内核版本照样是2.6.38.5。Linux内核中的klist是在神级的双向链表上扩展而形成的。先给出一个图。很清晰也很简单。先说表头:K_lock:是一把锁,用来锁表的。这个就不多啰嗦了。k_list:双向链表,用来联系各节点及链表头。get、put:两个函数指针,是用来操作链表中的节点接口。再说节点:n_klist是一个空指针,随便用来指啥,

#list
Linux内核大讲堂 (二) 传说中的字符设备(4)

Linux内核大讲堂 (二) 传说中的字符设备(4)经过前面的学习,我们发现有一个东西像恶梦一样挥之不去,无论是讲驱动模型中的sysfs还是讲字符驱动的file,这些文件系统内的概念和模块已经让我们达到了无法忍受的地步,但这从侧面也说明了文件系统在内核中的至高地位。Linux宣称一切皆文件,是不是一切皆文件并不是我们目前讨论的内容,就算偶尔有一些东西没有抽象成文件,但这不重要,也不影响文件这个

netfilter框架分析

<br />本来是不打算写这种基础性的东西的,但是有很多同志经常问我(有同事也有网友)。所以就写一下吧,这个是理解LINUX内核网络子系统的基础,ip conntrack等都是依赖这些基础的。好的,闲话不多说了。来正文。<br />其实netfilter就是依靠一个全局的二维数组nf_hooks[][].可以把这个玩意看成一个8*32的矩阵。矩阵的每个成员就是一个双向链表节点。看看,又是双向链表,

#面试#网络
    共 13 条
  • 1
  • 2
  • 请选择