linux模块
heyustudent
这个作者很懒,什么都没留下…
展开
-
Device Tree常用方法解析
http://blog.csdn.net/airk000/article/details/21345159转载 2014-08-18 16:52:21 · 579 阅读 · 0 评论 -
/proc/stat 详解
http://blog.sina.com.cn/s/blog_691c5f870100mmqx.html参考文档 http://www.linuxhowtos.org/System/procstat.htm在Linux系统中,可以用/proc/stat文件来计算cpu的利用率。这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。cat /pro转载 2013-07-05 14:54:59 · 719 阅读 · 0 评论 -
戏说文件系统之ext2
http://blog.chinaunix.net/uid-23069658-id-3468489.html前面说过,虚拟文件系统VFS是对各种文件系统的一个抽象层,抽取其共性,以便对外提供统一管理接口,便于内核对不同种类的文件系统进行管理。那么首先我们得看一下对于一个具体的文件系统,我们该关注重点在哪里。 对于存储设备(以硬盘为例)上的数据,可分为两部分: 用转载 2013-06-27 15:48:50 · 766 阅读 · 0 评论 -
揭开网络编程常见API的面纱
http://blog.chinaunix.net/uid-23069658-id-3300460.htmlLinux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。 1、socket(family,type,protocol)转载 2013-06-27 14:48:09 · 682 阅读 · 0 评论 -
ioctl在socket中的一些用法及示例
http://blog.chinaunix.net/uid-20692625-id-3172833.htmlioctl在socket中的一些用法及示例函数 : ioctl(int fd, int request, void * arg)定义 : 功能 : 控制I/O设备, 提供了一种获得设备信息和向设备发送控制参数的手段.参数 : int fd 文件句柄. 用于转载 2013-06-27 10:55:10 · 795 阅读 · 0 评论 -
UNIX Domain Socket IPC (sockaddr_un )
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个转载 2013-06-26 13:52:59 · 524 阅读 · 0 评论 -
Linux下netlink编程示例
http://www.360doc.com/content/12/0112/10/1317564_178894692.shtml在 Linux 2.4 版以后版本的内核中,几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的,同时还使用 netlink 实现了 ip queue 工具,但 ip queue 的使用有其局限性,不能自由地用于各种中断过程。内核的帮助文档和转载 2013-06-25 17:19:02 · 1253 阅读 · 0 评论 -
linux 内核和用户空间通信之netlink使用方法
http://www.360doc.com/content/09/0413/22/26398_3123054.shtmlNetlink 是一种特别的 socket,他是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比他的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用和内核通信的应用非常多,包括:路由 daemon(NETLINK转载 2013-06-22 12:05:24 · 576 阅读 · 0 评论 -
centOS下yum安装配置samba
http://blog.csdn.net/hzhuoquan/article/details/4689988注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目录拥有充分的读写权限属性,读者可顺着本文的思路完成基本配置流程,如需复杂读写权限功能请自行询问百度大哥。1、# yum -y install samba 使用yum命令安装samba,加入-y参数,如遇询问自动转载 2013-03-22 15:46:01 · 520 阅读 · 0 评论 -
CentOS开启samba服务(附smb.conf手册)
http://blog.csdn.net/hzhuoquan/article/details/4689969文章作者:我还没挂文章来源:hi.baidu.ocm/westhack熟悉Linux的用户可能常常在Linux上安装Samba服务来实现与Windows系统的文件共享和打印机共享,他们之间的数据传输使用 SMB(Service Message Block)协议.这是一个在传输转载 2013-03-22 15:39:56 · 1001 阅读 · 0 评论 -
Linux 替换^M字符 方法
http://blog.csdn.net/lhf_tiger/article/details/8203013替换^M字符在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:$ dos2unix myfi转载 2013-03-08 11:10:14 · 507 阅读 · 0 评论 -
Sed 的使用方法
1>.Sed 读取数据sedA).使用sed从一行开始查找一直到出现有某个词语的行结束The honesuckle band played all night long for only $90.It was an evening of splendid music and company.Too bad the disco floor fell through a转载 2012-12-21 15:17:29 · 481 阅读 · 0 评论 -
linux stat函数讲解
http://blog.csdn.net/xuemiao1234/article/details/5544226表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在b转载 2013-10-28 17:33:57 · 607 阅读 · 0 评论 -
linux popen函数
http://blog.csdn.net/steve505/article/details/4208023描述popen() 函数 用 创建管道 的 方式启动一个 进程, 并调用 shell. 因为 管道是被定义成单向的, 所以 type 参数 只能定义成 只读或者 只写, 不能是 两者同时, 结果流也相应的 是只读 或者 只写.command 参数 是 一个 字符串指针, 指向的转载 2013-10-28 17:02:40 · 583 阅读 · 0 评论 -
Image uImage、zImage的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。转载 2014-09-10 17:12:29 · 541 阅读 · 0 评论 -
container_of 理解
http://blog.csdn.net/yinkaizhong/article/details/4093795问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structure out to the containing structure转载 2014-09-10 16:50:34 · 438 阅读 · 0 评论 -
LINUX设备驱动之设备模型一--kobject
本站分析linux内核源码,版本号为2.6.xx.x在建立linxu设备模型中kobject是一个重要的而且基础的数据结构,如果向内核注册一个kobject就相当于在sysfs文件系统下建立一个目录 .kobject又被嵌入到一个更大结构kset当中 ,在设备模型中 总线,设备,驱动就是典型的ket模型.下面引用ULK3中的一张图来看看:这个图很清晰的给我们展示了一个驱转载 2014-09-10 10:30:07 · 696 阅读 · 0 评论 -
Udev、Mdev学习总结
http://blog.csdn.net/yongan1006/article/details/6675642Udev介绍Udev的下载网址:http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/Udev分为三个子计划:namedev,libsysfs和udev。Namedev为设备命名子系统,libsysf转载 2014-09-09 15:06:23 · 677 阅读 · 0 评论 -
IO端口和IO内存
驱动程序编写过程中,很少会注意到IO Port和IO Mem的区别。虽然使用一些不符合规范的代码可以达到最终目的,这是极其不推荐使用的。结合下图,我们彻底讲述IO端口和IO内存以及内存之间的关系。主存16M字节的SDRAM,外设是个视频采集卡,上面有16M字节的SDRAM作为缓冲区。1. CPU是i386架构的情况在i386系列的处理中,内存和外部IO是独转载 2014-09-09 17:38:44 · 610 阅读 · 0 评论 -
设备树
http://blog.csdn.net/21cnbao/article/details/8457546转载 2014-08-18 16:49:40 · 481 阅读 · 0 评论 -
curl_easy_setopt函数介绍
http://blog.163.com/023_dns/blog/static/118727366201225354211/转载 2014-07-04 16:16:54 · 595 阅读 · 0 评论 -
linux syslogd服务
http://blog.csdn.net/tonyxf121/article/details/7934824转载 2014-05-09 17:24:56 · 543 阅读 · 0 评论 -
iptables 命令介绍
http://lesca.me/archives/iptables-tutorial-structures-configuratios-examples.html转载 2014-05-09 14:50:11 · 6436 阅读 · 0 评论 -
Vimdiff 使用
https://www.ibm.com/developerworks/cn/linux/l-vimdiff/源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare;很多IDE 或者软件配置管理系统,比如Eclipse, Rational ClearCase都提供了内建的功能来支持转载 2014-03-03 16:19:48 · 557 阅读 · 0 评论 -
启动时出现错误an error occurred during the file system check dropping you to a shell
启动时候出现错误。好好的系统突然启动时出现了***an error occurred during the file system check***Dropping you to a shell;thesystem will reboot***when you leave the shell.Give root password for mainteance(or转载 2014-02-07 13:14:21 · 6856 阅读 · 0 评论 -
VI 命令大全
http://blog.csdn.net/lhf_tiger/article/details/7019867vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pat转载 2013-03-08 11:38:37 · 424 阅读 · 0 评论 -
块设备驱动编写总结
前一段时间一直在Linux下搞块设备驱动的开发,实现了多个块设备模块,现将块设备驱动开发的一些方法总结一下。块设备与字符设备的区别1、 从字面上理解,块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节。所以Linux中块设备驱动往往为磁盘设备的驱动,但是由于磁盘设备的IO性能与CPU相比很差,因此,转载 2012-02-22 18:17:13 · 755 阅读 · 0 评论 -
关于Linux Kernel中的宏定义likely和unlikely
在Linux kernel的源代码中,经常能见到if(likely(x))或if(unlikely(x))之类的用法,其确切含义需要说明一下,以便更好的理解kernel的源代码。likely与unlikely这两个宏在linux/compiler.h中的定义如下:#define likely(x) __builtin_expect(!!(x),1)#define unlikely(转载 2012-01-04 16:49:54 · 462 阅读 · 0 评论 -
嵌入式系统 Boot Loader 技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3. 文件系统。包括根文件系统和建转载 2012-01-30 14:08:45 · 381 阅读 · 0 评论 -
静态同步机制
DEFINE_SPINLOCK(x) 该宏声明一个自旋锁x并静态初始化它 static LIST_HEAD(hdmi_trig_list); 声明一个静态链表原创 2011-12-22 19:25:52 · 373 阅读 · 0 评论 -
Linux内核中的等待队列
Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在Linux2.4.21中,等待队列在源代码树include/linux/wait.h中,这是一个通过list_head连接的典型双循环链表,如下图所示。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。翻译 2011-12-28 11:38:24 · 414 阅读 · 0 评论 -
Linux中的通知链技术
在Linux内核中,各个子系统之间有很强的相互关系,某些子系统可能对其它子系统产生的事件感兴趣。为了让某个子系统在发生某个事件时通知感兴趣的子系统,Linux内核引入了通知链技术。通知链只能够在内核的子系统之间使用,而不能够在内核和用户空间进行事件的通知。1 数据结构:通知链有四种类型:·原子通知链( Atomic notifier chains ):通知链元素的回调函数(当事件发生时转载 2011-12-27 18:56:51 · 392 阅读 · 0 评论 -
Linux 内核/sys 文件系统介绍5
使用 scsi_host 的 scan 属性 在具有使用 SCSI 总线连接的主机上,与 PCI类似的是也采用四个号码作为一组来描述一个设备,其中位于最顶层的是 scsi_host。 我们从设备类别 /class/为起点来探索: # ls -lU /sys/class/scsi_host总计 0lrwxrwxrwx 1 root root 0 1转载 2011-12-22 19:43:15 · 738 阅读 · 0 评论 -
Linux 内核/sys 文件系统介绍4
使用 uevent 在 sysfs 下的很多 kobject 下都有 uevent 属性,它主要用于内核与 udev (自动设备发现程序)之间的一个通信接口;从 udev 本身与内核的通信接口 netlink 协议套接字来说,它并不需要知道设备的 uevent 属性文件,但多了 uevent 这样一个接口,可用于 udevmonitor 通过内核向 udevd (udev 后台程序)发送转载 2011-12-22 19:42:14 · 705 阅读 · 0 评论 -
Linux 内核/sys 文件系统介绍6
更多 sysfs 属性文件 以上所举的例子仅仅是一些常见的 sysfs 属性用法,实际的系统中还常常有很多其它的从未见过的 sysfs 属性,因此只有举例是不够的,即使维护了一份 sysfs 属性用法参考大全也不够,未来的内核版本还会出现新的 sysfs 属性,因此还必须了解 Linux 内核代码以找到实现这些属性的代码位置,以学会在没有相应属性文档的情况从内核源代码来分析其 sysfs转载 2011-12-22 19:44:18 · 589 阅读 · 0 评论 -
Linux 内核/sys 文件系统介绍3
常见 sysfs 属性的功能 使用 sysfs 的关键就是掌握这些 sysfs 属性的用法,下面以一些常见的 sysfs 属性来展示它的用法; 使用设备(PCI)的 sysfs 属性文件 以一份桌面系统上的视频卡为例,列举它对应的 kobject 上的属性文件的对应用途; 一般来说,在 Linux 桌面上都有视频卡以支持 Xorg 软件包作为 XWindow转载 2011-12-22 19:40:10 · 622 阅读 · 0 评论 -
Linux 内核/sys 文件系统介绍2
Linux 统一设备模型 在 Linux 2.5 内核的开发过程中,人们设计了一套新的设备模型,目的是为了对计算机上的所有设备进行统一地表示和操作,包括设备本身和设备之间的连接关系。这个模型是在分析了 PCI 和 USB 的总线驱动过程中得到的,这两个总线类型能代表当前系统中的大多数设备类型,它们都有完善的热挺拔机制和电源管理的支持,也都有级连机制的支持,以桥接的 PCI/USB 总线控转载 2011-12-22 19:32:17 · 502 阅读 · 0 评论 -
linux驱动中request_mem_region()相关函数
http://www.diybl.com/course/6_system/linux/Linuxjs/20090503/166312.html Region的操作函数__XXX_region(),Linux在头文件include/linux/ioport.h中定义了三个对I/O内存资源进行操作的宏: ①request_mem_region()宏,请求分配指定的I/O内存资源。转载 2012-02-23 18:02:16 · 1594 阅读 · 0 评论 -
全面的framebuffer详解
http://www.91linux.com/html/article/kernel/20071204/8805.html一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出 FrameBu转载 2012-02-23 18:41:10 · 480 阅读 · 0 评论 -
Linux之module_param()函数学习
http://www.linuxidc.com/Linux/2011-02/32131.htm一.module_param1.为什么引入 在用户态下编程可以通过main()来传递命令行参数,而编写一个内核模块则可通过module_param()来传递命令行参数. 2. module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/module转载 2012-02-16 14:58:08 · 457 阅读 · 0 评论