- 博客(43)
- 资源 (24)
- 收藏
- 关注
原创 sysfs API总结
转载地址:http://blog.csdn.net/batoom/article/details/8067769 sysfs是用于表现设备驱动模型的文件系统,它基于ramfs。要学习linux的设备驱动模型,就要先做好底层工作,总结sysfs提供给外界的API就是其中之一。sysfs文件系统中提供了四类文件的创建与管理,分别是目录、普通文件、软链接文件、二进制文件。目录层次往往代表着设备驱
2013-01-29 15:00:44 402
原创 公司面试经验-前篇
最近有感。在相当长的时间里面,我浪费了很多时间在面试上。面试的公司也是林林总总有很多,思来想去,如果不写来有点对不起当初浪费的时间。因此开篇写下来,说说如何去面试的事。 面试中,基本只有两个角色,面试官,面试者。面试官一般有三个人,其中两个技术的,一个人力的。或者是两个技术的先面试完,然后再人力的面试。基本流利是这样的。有时多一个少一个的,都是这个基本流程。 为什么要说面试官的人员组成
2013-01-23 09:55:06 697
原创 netperf和iperf网络性能监控工具
转载地址:http://qa.blog.163.com/blog/static/1901470022011102543322445/iperf netperf UDPmon 都是测量网络性能的开源软件,iperf是伊利诺斯大学的超级计算机应用程序国家中心(NCSA)开发的,和IE是同根生,netperf是HP的,UDPmon是英国曼切斯特大学的产物。本文主要演示、介绍两个工具的使用方法
2013-01-16 11:44:00 12114 1
原创 pktgen的安装与使用
转载地址:http://ocelot1985-163-com.iteye.com/blog/981992pktgen的安装与使用系统环境:fefora core 12 如果你和我一样,在pktgen面前是个新人。是不是也曾遇到下面的问题: (1)以为pktgen和tcpdump一样是Linux下的工具软件; (2)后来,明白了pktgen不是工具,而是内核模块,但是
2013-01-16 11:43:26 1646
原创 API:System V & POSIX
转载地址:http://blog.sina.com.cn/s/blog_5b1572e30100gulz.html而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该
2013-01-15 09:10:00 2422
原创 linux trap命令
转载地址:http://blog.csdn.net/ecjtuync/article/details/2865770trap命令用于指定在接收到信号后将要采取的行动,我们将在本书后面的内容中详细介绍信号。trap命令的一种常见用途是在脚本程序被中断时完成清理工作。历史上,shell总是用数字来代表信号,而新的脚本程序应该使用信号的名字,它们保存在用#include命令包含进来的sign
2013-01-15 09:00:22 525
原创 In_interrupt( ) 和In_irq( )
转载地址:http://blog.csdn.net/do2jiang/article/details/5486888in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半部和硬件中断处理过程,函数实现: #define in_interrupt() ({ const int __cpu = smp_processor_id(); /
2013-01-14 09:29:43 847
原创 linux下kill命令小结
转载地址:http://www.cnblogs.com/wangkangluo1/archive/2012/05/26/2518857.html1.作用 kill命令用来中止一个进程。 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号。 -p:模拟
2013-01-13 21:18:32 605
原创 宏中"#"和"##"的用法
转载地址:http://blog.chinaunix.net/uid-14214482-id-330773.htmlC语言宏中"#"和"##"的用法[转载],值得一看C语言宏中"#"和"##"的用法文章出处:http://www.diybl.com/course/3_program/c/c_js/20081117/151277.html一、一般用法
2013-01-13 21:08:39 514
原创 Linux下的signal信号机制
转载地址:http://blog.csdn.net/sunboy_2050/article/details/6004352#在Linux中,要发送一个信号相当容易。程序员需要知道两个信息:要发送哪个信号,将这个信号发送给哪个进程。可以用 man 7 signal 找到一个可以利用的信号的列表。用户可以只将信号发送给用户自己的进程,也可以以root身份运行从而将信号发送给任意一进程。
2013-01-13 21:07:56 869
原创 Linux信号集
转载地址:http://www.2cto.com/os/201107/95995.htmlLinux信号集 1. 信号集概念 信号集是一个能表示多个信号的数据类型,sigset_t set ;set即一个信号集。 既然是一个集合,就需要对集合进行添加/删除等操作。 int sigemptyset(sigset_t *set); 将set集合置空 int si
2013-01-12 17:00:03 600
原创 thinkpad e40快捷键不管用
最近更新了一些驱动,发现thinkpad e40的快捷键不管用.之后反复安装hotkey都不管用.今天在网上偶然看到说是要更新bios驱动.更新之,果然.作者:张亮校日期:2013.1.12
2013-01-12 11:21:38 1000
原创 fflush和fsync的联系和区别
转载地址:http://www.cnblogs.com/fengxu0824/archive/2012/02/24/2366691.htmlfflush是libc.a中提供的方法,fsync是系统提供的系统调用。2.原形fflush接受一个参数FILE *.fflush(FILE *);fsync接受的时一个Int型的文件描述符。
2013-01-11 18:04:03 5992
原创 uhci ehci ohci及hcdxxx的区别与 usb驱动架构(USB总线分析前奏曲)
摘自:usb协议 最近在做一个usb总线控制器的驱动,用的是一个韩国厂家的.基本上是CPU bus ->芯片->usb设备. 因此我做的驱动类似于uhci ehci ohci的驱动. 完全是个人理解,如果有错,可以私聊. uhci ehci ohci以及我做的hcdxxx都属于总线控制器的驱动,就是与cpu总线接口的usb控制器驱动.EHCI是有Intel等
2013-01-10 14:19:01 2609
原创 c函数: strtok和strtok_r
strtok用来截字符串中的前后字符串.strtok可以根据用户所提供的分割符,将一段字符串分割直到遇到"\0".#include #include int main(void){ char input[16] = "abc,d"; char *p; p = strtok(input, ","); if(p) printf("%s\n", p); p = st
2013-01-09 15:35:15 563
原创 linux下的scp命令
最近看到scp命令,特此记录输入命令格式为:scp 192.168.200.188:/home/zlx/tmp/xxx.c ./pipe.c别的参数什么的.一查就知道.作者:张亮校日期:2013.1.9
2013-01-09 13:59:04 557
原创 应该知道的Linux技巧
转载地址:http://coolshell.cn/articles/8883.html这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。首先,我想告
2013-01-09 13:43:20 488
原创 将vim变得简单:如何在vim中得到你最喜爱的IDE特性
转载地址:http://coolshell.cn/articles/894.html原文出处:这里摘要:开源的vim文本编辑器提供许多灵活而强大的功能,但是vim自身是很难被配置使用的,在本教材中,我们将向你显示通过几个简单的方式使得你的vim具有集成开发环境IDE的行为vim是很多程序员和系统管理员最爱的文本编辑器,虽然他提供了很多优秀而灵活的功能,但是对于新手来
2013-01-09 13:35:04 485
原创 如何学好C语言
转载地址:http://coolshell.cn/articles/4102.html有人在酷壳的留言版上询问下面的问题keep_walker :今天晚上我看到这篇文章。http://programmers.stackexchange.com/questions/62502/small-c-projects我也遇到了和提问的老外一样的问题。。能给像遇到这样烦
2013-01-09 13:30:03 457
原创 SIGHUP信号与控制终端
转载地址:http://blog.csdn.net/cugxueyu/article/details/2046565SIGHUP信号与控制终端UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个
2013-01-09 09:58:52 464
原创 C语言\r\n和\n区别?
挺有意思,特此记录.转载地址:百度\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字
2013-01-08 15:52:46 1131
原创 linux ip 命令
转载地址:百度基本上,ip命令就是整合了 ifconfig 与 route 这两个指令。不过, ip 可以达成的功能却更多! 如果您有兴趣的话,请自行 vi /sbin/ifup ,就知道整个 ifup 就是利用 ip 这个指令来达成的。[root@linux ~]# ip [option] [动作] [指令]参数:option :设定的参数,主要有:-s :显示出该装置的统计
2013-01-08 15:01:42 461
原创 shell脚本判断变量文件目录的写法
转载地址:http://haotushu.sinaapp.com/post-363.html先写一些基本语法: 1、字符串判断 str1 = str2 当两个串有相同内容、长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0
2013-01-08 14:45:57 1044
原创 Linux终端设备驱动
转载地址:http://www.cnitblog.com/luofuchong/archive/2008/10/07/49936.html本章导读在Linux系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈信息,Linux中包含控制台、串口和伪终端3类终端设备。14.1节阐述了终端设备的概念及分类,14.2节给出了Linux终端设备驱动的框架结构,重点描述tty_dri
2013-01-06 16:50:18 1863
原创 H264 GOP 扫盲
GOP说白了就是两个I帧之间的间隔.比较说GOP为120,如果是720p60的话,那就是2s一次I帧.以下为转载.转载地址:http://blog.csdn.net/perfectpdl/article/details/8451577 本文 来自 csdn ucser http://blog.csdn.net/perfectpdl, 转载注明出处,谢谢。在视频编码
2013-01-06 16:45:55 9819
原创 在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs
转载地址:http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs2/index.html燚 杨 ([email protected]), 计算机科学硕士简介: 本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、sys
2013-01-06 16:44:45 614
原创 Android JNI知识简介
写的比较详细,记下来,可能将来用得到.转载地址:http://www.cnblogs.com/hoys/archive/2010/10/28/1863612.html#2587596 Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的
2013-01-06 16:41:17 431
原创 workqueue原理和分析
转载地址:http://www.cnblogs.com/hoys/archive/2012/06/06/2537637.htmlworkqueue,中文称其为工作队列,是一个用于创建内核线程的接口,通过它创建的内核线程来执行内核其他模块排列到队列里的工作,创建的内核线程被称为工作者线程。要理解工作队列的实现,重点在于理解相关的三个数据结构的含义及关系。 1 表示工作队列
2013-01-06 16:32:22 432
原创 Linux MTD层次
转载地址:http://www.cnblogs.com/hoys/archive/2012/05/30/2526230.htmlMTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱 动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/
2013-01-06 16:27:37 362
原创 Linux内核的同步机制
转载地址:http://www.cnblogs.com/hoys/archive/2012/02/28/2370982.html本文详细的介绍了Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用要求以及一些典型示例一、引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元
2013-01-06 16:26:27 408
原创 用户空间与内核空间数据交换的方式(9)------netlink
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011722.htmlNetlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NE
2013-01-06 16:24:27 472
原创 用户空间与内核空间数据交换的方式(8)------syscall
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011689.html系统调用是内核提供给应用程序的接口,应用对底层硬件的操作大部分都是通过调用系统调用来完成的,例如得到和设置系统时间,就需要分别调用 gettimeofday 和 settimeofday 来实现。事实上,所有的系统调用都涉及到内核与应用之间的数据交换,如文件系
2013-01-06 16:23:46 472
原创 用户空间与内核空间数据交换的方式(7)------sysctl
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011675.htmlsysctl是一种用户应用来设置和获得运行时内核的配置参数的一种有效方式,通过这种方式,用户应用可以在内核运行的任何时刻来改变内核的配置参数,也可以在任何时候获得内核的配置参数,通常,内核的这些配置参数也出现在proc文件系统的/proc/sys目录下
2013-01-06 16:21:54 438
原创 用户空间与内核空间数据交换的方式(6)------模块参数与sysfs
内核子系统或设备驱动可以直接编译到内核,也可以编译成模块,如果编译到内核,可以使用前一节介绍的方法通过内核启动参数来向它们传递参数,如果编译成模块,则可以通过命令行在插入模块时传递参数,或者在运行时,通过sysfs来设置或读取模块数据。Sysfs是一个基于内存的文件系统,实际上它基于ramfs,sysfs提供了一种把内核数据结构、它们的属性以及属性与数据结构的联系开放给用户态的方式,它与k
2013-01-06 16:20:54 643
原创 用户空间与内核空间数据交换的方式(5)------内核启动参数
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011459.htmlLinux 提供了一种通过 bootloader 向其传输启动参数的功能,内核开发者可以通过这种方式来向内核传输数据,从而控制内核启动行为。通常的使用方式是,定义一个分析参数的函数,而后使用内核提供的宏 __setup把它注册到内核中,该宏定义在 li
2013-01-06 16:19:24 429
原创 用户空间与内核空间数据交换的方式(4)------relayfs
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011270.htmlrelayfs是一个快速的转发(relay)数据的文件系统,它以其功能而得名。它为那些需要从内核空间转发大量数据到用户空间的工具和应用提供了快速有效的转发机制。Channel是relayfs文件系统定义的一个主要概念,每一个channel由一组内核缓存组成
2013-01-06 16:18:26 510
原创 用户空间与内核空间数据交换的方式(3)------seq_file
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011261.html一般地,内核通过在procfs文件系统下建立文件来向用户空间提供输出信息,用户空间可以通过任何文本阅读应用查看该文件信息,但是procfs 有一个缺陷,如果输出内容大于1个内存页,需要多次读,因此处理起来很难,另外,如果输出太大,速度比较慢,有时会出现一些意想
2013-01-06 16:17:43 412
原创 用户空间与内核空间数据交换的方式(2)------procfs
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011141.htmlprocfs是比较老的一种用户态与内核态的数据交换方式,内核的很多数据都是通过这种方式出口给用户的,内核的很多参数也是通过这种方式来让用户方便设置的。除了sysctl出口到/proc下的参数,procfs提供的大部分内核参数是只读的。实际上,很多应用严重地依赖
2013-01-06 16:16:19 452
原创 用户空间与内核空间数据交换的方式(1)------debugfs
转载地址:http://www.cnblogs.com/hoys/archive/2011/04/10/2011124.html 内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需要这些调试信息,但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要,printk可能是用的最多的,但它并不是最好的,调试信息只是在开发中用于调试,而printk将一直输出,因此
2013-01-06 16:15:31 568
原创 Linux内核死锁(deadlock)检测
转载地址:http://ilinuxkernel.com/?p=537业务运行过程中,Linux系统僵死,屏幕无任何有效打印信息,网络中断、键盘鼠标没有任何响应。这种故障现象,可能是因为Linux内核死锁导致。由于无任何有效打印信息,内核日志中也没有记录,就无法定位故障根因。 如何让Linux内核在僵死前打印相关信息,对问题定位尤为关键。其中一个有效手段是打开“
2013-01-06 09:23:20 7363
wifi_p2p_technical_specification_v1.1_content.
2014-03-12
Wi-Fi_Display_Technical_Specification_v1.0.0
2014-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人