- 博客(166)
- 收藏
- 关注
转载 内核探索:Regmap 框架:简化慢速 I/O 接口优化性能
Wen Pingbo 创作于 2015/03/27 评论 / 分享by WEN Pingbo of TinyLab.org2015/03/231 简介Regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap
2015-10-30 11:35:48
2111
转载 GPIO pull High 原理
http://blog.163.com/kissinger_1984/blog/static/1689925201432033646132/
2015-06-19 11:18:05
2218
原创 Linux&Android 的文件权限和进程权限
昨天看到Google发布的Android M 终于带来了喜闻乐见的权限管理机制,突然想到以前Android开发都要添加的那一堆权限是什么鬼,于是决定研究一下,写点总结。首先是我之前对Linux的权限理解还停留在文件的rwx上面,最多还知道一个suid和guid可以用来提权,例如操作passwd等。Google了一下,搜到这篇文章:http://blog.chinaunix.net/uid-27105
2015-05-30 11:21:08
2722
转载 find命令详解
功能说明:查找文件或目录。语 法:find [目录...][-amin ][-anewer ][-atime ][-cmin ][-cnewer ][-ctime ][-daystart][-depth][-empty][-exec ][-false][-fls ][-follow][-fprint ][-fprint0 ][-fprintf ][-fstype ][-gid ][-grou
2014-10-24 15:08:23
662
原创 磁盘
http://jueqingheike.blog.163.com/blog/static/104938332201311210277560/
2014-04-20 11:59:30
503
转载 一步步教你如何源码编译Recovery
说明:本教程以中兴的[N881F]为例,Android源码为CyanogenMod 10.1地址:https://github.com/Gaojiquan/android_device_zte_N881F*1 准备Ubuntu作为您的操作系统,笔者的版本是12.04_amd64。*2 准备 Android 源码的编译环境,主要是安装一些编译用到的lib库,以及同步
2014-04-10 11:04:40
1712
转载 超级块操作
struct super_operations { /* 给定的超级块下创建和初始化一个新的索引节点对象;*/struct inode *(*alloc_inode)(struct super_block *sb); /* 用于释放给定的索引节点;*/void (*destroy_inode)(struct inode *); /*
2014-02-24 16:57:46
930
转载 Linux系统调用列表
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用
2014-01-21 10:36:26
615
转载 linux内核研究笔记(一) - page介绍
============ “不负责任”声明 begin ============ 咳,首先我是一个平时工作在linux应用层的服务器程序员,对于内核的了解也是皮毛,仅是业余时间中的业余研究的一些笔记,文中的一些观点也许只是我对内核的粗浅认识,大家可千万不要轻易信以为真啊PS:文中的内核代码默认都是2.6.27.62版本,且环境都按x86 32 =======
2014-01-14 14:58:10
1867
1
转载 信号调制--基带调制和射频调制
我们常说的信号调制(Modulation),其实在不同的语境(Context)下有着不同的意思。不过不只是初入行的员工,一些老鸟有时也常常会搞混淆。传统上的调制,简单说就是把携带信息的信号,”调制“到载波信号上去。所谓的载波信号,通常是高频信号,因为高频信号有易于传播的特质。而能够被调制的对象则是信号的幅度、频率,相位,或者这三者的混合行为。如果把经典的调制概念
2014-01-09 14:51:06
12850
转载 arm中system模式的作用
http://hi.baidu.com/deep_pro/item/6005725bb6d8ca3a33e0a95这几天学了很多arm细节知识,个人平时实在没有深入进去交了钱被人逼着学才会努力深究,真是贱以前就知道arm有7种基本工作模式FIQ 、IRQ由中断进入UNDEF、ABORT 由程序异常进入SVC由上电和软中断进入user由SVC处理程序主动进入但
2014-01-06 14:33:54
1387
转载 文件相关内核数据结构
作者:冯利美,华清远见嵌入式学院讲师。一、struct file系统中每个打开的文件在内核空间都有一个关联的struct file。它由内核在打开文件时创建,并传递给在文件上进行操作的任何函数。在文件的所有实例都关闭后,内核释放这个数据结构。struct file结构体定义在/linux/include/linux/fs.h。该结构体中含有文件的属性:包括1、mod
2014-01-02 17:46:05
649
转载 dentry与inode、dentry_cache
dentry 一、dentry的定义 dentry的中文名称是目录项,是Linux文件系统中某个索引节点(inode)的链接。这个索引节点可以是文件,也可以是目录。 二、dentry的结构:以下是dentry的结构体 struct dentry { atomic_t d_count; 目录项对象使用计数器 unsigned int d_fla
2013-12-31 15:00:28
1777
转载 linux free命令中buffer与cache的区别
~$ free total used free shared buffers cached Mem: 1025204 981636 43568 0 38244 387808 -/+ buffers/cac
2013-12-31 09:58:41
601
转载 Linux下buffer和cache的区别
Page cache和buffer cache一直以来是两个比较容易混淆的概念,在网上也有很多人在争辩和猜想这两个cache到底有什么区别,讨论到最后也一直没有一个统一和正确的结论,在我工作的这一段时间,page cache和buffer cache的概念曾经困扰过我,但是仔细分析一下,这两个概念实际上非常的清晰。如果能够了解到这两个cache的本质,那么我们在分析io问题的时候可能会更加得心应手
2013-12-31 09:51:32
631
转载 Docker 介绍: 相关技术(LXC)
http://www.ttsgs.com/tag/linux-kernel/Abstract本文在现有文档的基础上总结了以下几点内容docker的介绍,包括由来、适用场景等docker背后的一系列技术 – namespace, cgroup, lxc, aufs等docker在利用LXC的同时提供了哪些创新笔者对docker这
2013-12-30 13:38:14
24085
转载 深入理解ARM跳转指令B以及在此基础上理解arm-linux中断向量表中的内容。
讲解ARM汇编指令的书籍中,很多在讲到B指令的时候会说这条指令时一条绝对跳转指令,这是不负责任的说法。这条指令的迷惑之处在于,B指令的汇编形式为: b label : :label: mov r1,r2 mov r2,r3 从汇编指令的书写形式上,确实是一条绝对跳转指令,但是实际上汇编在将“B labe
2013-12-10 14:46:21
984
原创 Android相关笔记
dd命令dd if=/emmc@android of=/data/system_last_1M skip=699 bs=1M count=1 dd if=/data/system_last_1M of=/emmc@android seek=699 bs=1M count=1格式化命令vdc volume format /storage/sdcardvdc v
2013-11-19 14:24:15
1178
转载 git push . :refs/for/foo 意思
The "." argument means "push to this repository", and the refspec HEAD:refs/for/foo means "take the current commit that HEAD is pointing to, and make a new ref (similar to a branch, although those
2013-08-29 16:58:21
1866
转载 Android使用系统Intent实现分享功能及将应用加入分享列表
在Android系统中如何给应用增加分享功能,怎样将应用加入系统的分享选择列表?Intent.createChooser()方法用来弹出系统分享列表。查看Intent对应的组件是否存在,可查看Android判断Intent是否存在,是否可用1、应用增加分享功能public static void shareText(Context context, String
2013-08-26 10:31:38
1263
转载 linux-2.6.26内核中ARM中断实现详解
作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM ATC授权培训讲师。看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解。先从函数注册引出问题吧。一、中断注册方法在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义:in
2013-08-13 15:42:40
670
转载 GCC __attribute__ 选项
GCC __attribute__ 选项Leave a reply参考资料:gnu-c-attributesFunction-AttributesVariable-AttributesType-AttributesTowards support for attributes in C++__attribute__ 可以用来设置 Funct
2013-07-27 22:39:36
984
转载 从Linux调试信息分析linux启动流程
http://hi.baidu.com/daoguchengshu/item/f77c383fda19d46b7d034be0 刚开始,看网上内核移植,驱动添加等等,都是在xx文件添加xx结构体,不知其所以然。 没办法,看样子还是得自己一句一句分析,才能理解深刻。 内核版本是2.6.37.4,找了XC2240的zImage分析,看
2013-07-26 11:23:39
616
转载 mtd-utils工具--下载编译篇
mtd-utils工具--下载编译篇作者:longfeey操作说明:交叉编译工具路径:/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi使用过程根据自己的情况更改即可1.mtd-utils及依赖工具下载1)mtd-utils-1.4.4下载wget ftp://ftp.infradea
2013-07-21 01:13:55
2112
转载 linux内核网络栈
一.linux内核网络栈代码的准备知识1. linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etc INET socket层:BSD socket是个可以用于各种网络
2013-07-19 17:46:52
511
转载 PERL 正则表达式详细说明
PERL里正则表达式的简介 一、简介 二、匹配操作符 三、模式中的特殊字符 1、字符+ 2、字符 []和[^] 3、字符 *和? 4、转义字符 5、匹配任意字母或数字 6、锚模式 7、模式中的变量替换 8、字符范围转义前缀 9、匹配任意字符 10、匹配指定数目的字符 11、指定选项 12、模式的部分重用 13、转义和特定字符的执行
2013-07-10 13:51:22
554
转载 工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(Synch
2013-07-10 09:28:36
586
转载 Ubuntu 12.04 解决配置DNS服务器时/etc/resolv.conf被重写的问题
我们都知道在12.04之前,只需要修改/etc/resolv.conf文件就能手动配DNS了. 但是12.04却不行,在12.04中,该文件中注释有这么一句话: - # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) - # DO NOT EDIT THIS
2013-07-09 17:11:31
1334
转载 Perl 的特殊符号
%INC 通过do或require包含的文件列表 %SIG 信号列表及其处理方式 @_ 传给子程序的参数列表 @ARGV 传给脚本的命令行参数列表 @INC 在导入模块时需要搜索的目录列表 Perl中模块的安装方法 #perl –MCPAN –e shellinstall Bundle::CPAN 更新reload cpan 重新加载
2013-07-09 11:20:15
549
原创 c plus plus socket 编程
http://www.cppblog.com/bujiwu/archive/2009/01/11/socket.htmlhttp://www.cnblogs.com/zplutor/archive/2012/02/23/2365529.html
2013-06-22 10:42:23
557
转载 inode结构体
、**索引节点对象由inode结构体表示,定义文件在linux/fs.h中*/struct inode { struct hlist_node i_hash; /* 哈希表 */ struct list_head i_list; /* 索引节点链表 */
2013-05-31 15:28:05
733
原创 文件系统相关链接
http://learn.akae.cn/media/ch29s02.htmlhttp://www.groad.net/bbs/read.php?tid-2352.htmlhttp://www.cnblogs.com/xanpeng/archive/2012/02/24/block.htmlhttp://franksinger.iteye.c
2013-05-30 22:09:42
428
转载 PCI 中的base address register(转)
最近因为工作需要用到pci设备的BAR内容,之前看了没深刻印象,这里整理一下。 PCI设备有很好的可配置型和易操作性,这很大方面要归功于其地址空间的可动态分配的特性。而动态分配地址空间就是依赖于BAR(base address register)实现的。BAR是PCI配置空间中从0x10 到 0x24的6个register,用来定义PCI需要的配置空间大小以及配置PCI设备
2013-05-20 23:18:25
2839
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人