`
hududumo
  • 浏览: 237544 次
文章分类
社区版块
存档分类
最新评论
文章列表
1. 简介 对于mmap在用户态通过函数以下函数进行调用: void*mmap(void*addr,size_tsize,intprot,intflags,intfd,longoffset) 然后进入系统调用。 2. Kernel mmap实现 1)然后进入系统调用,其系统调用号为:
author: jonathan 本文档的CopyRight归jonathan所有,可自由转载,转载时请保持文档的完整性。 /*---------------------------------------------------------------------------------------------------------------------*/ 什么是不常见的文件系统?其实我也说不清,如ramfs->rootfs -> tmpfs ->initramfs->romfs->...等等,这些算不算呢?哎,算了,看到那里就算那里了。 ...
file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。 在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提供的。通常这组设备驱动程序接口是由结构file_operations结构体向系统说明的,它定义在include/linux/fs.h中。 传统上, 一个 file_operation 结构或者其一个指针称为 fops( 或者它的一些变体). 结构中的每个 ...
init函数binder_init 1. create_singlethread_workqueue(“binder”)创建一个workqueue来做一些延迟工作。以前是静态创建的,2.2改为在init中创建。 2. proc文件系统中建立目录binder和binder/proc。 3. 注册binder驱动。 4. /proc/binder下建立几个pr ...
原文:http://www.blogjava.net/zdq5337/archive/2011/03/08/345932.html 建立一个codetemplates.xml文件,内容为 <?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="false" context="settercomment_context" deleted="false" description= ...
学android很久了,但一直没做过一个完整的项目。
java中数据在内存中的存储详解 <wbr>1. <p style="margin:2px; padding-top:0px; padding-bottom:0px; float:left"><wbr></wbr></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px"> 有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族 ...
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List、Set和 Map这三大类的集合,今天就他们的子类在标准情况和多线程下的性能做简单的分析。   Collection接口主要 ...
你是否被人问过这样一个经典的面试问题,“五年内你对自己有什么规划?”当被问到时,我的脑子里总会回放一段1984年《Twisted Sister》里的一个视频片段。 我想让你告诉我说——不,这样更好,站起来,对着全班说– ...
引自:http://blog.chinaunix.net/space.php?uid=21289517&do=blog&id=1828166 Linux内核Makefile分类 Kernel Makefile Kernel Makefile位于Linux内核源代码的顶层目录,也叫 Top Makefile。它主要用于指定编译Linux Kernel目标文件(vmlinux)和模块(module)。这编译内核或模块是,这个文件会被首先读取,并根据读到的内容配置编译环境变量。对于内核或驱动开发人员来说,这个文件几乎不用任何修改。 Kbuild Makefile ...
2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。 上面的内容说明:Kconfig就是对应着内核的配置菜单。假如要想添加新的驱动到内核的源码中,可以通过修改Kconfig来增加对我们驱动的配置菜 ...
* 管道技术是Linux的一种基本的进程间通信技术。在本文中,我们将为读者介绍管道技术的模型,匿名管道和命名管道技术的定义和区别,以及这两种管道的创建方法。同时,阐述如何在应用程序和命令行中通过管道进行通信的详细方法。 一、管道技术模型管道技术是Linux操作系统中历来已久的一种进程间通信机制。所有的管道技术,无论是半双工的匿名管道,还是命名管道,它们都是利用FIFO排队模型来指挥进程间的通信。对于管道,我们可以形象地把它们当作是连接两个实体的一个单向连接器。例如,请看下面的命令: ls -1 | wc -l 该命令首先创建两个进程,一个对应于ls – ...
目标定义是Kbuild Makefile的主要部分,也是核心部分。主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作。 最简单的Kbuild makefile 只包含一行: 例子: obj-y += foo.o 该例子告诉Kbuild在这目录里,有一个 ...
1) 在终端运行 lsusb 会发现结果有会有如下类似记录: Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 005: ID 1219:0102 #这行就是 手机 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device ...
在Source Insight中添加自定义功能的步骤如下: 1.Source Insight中,Options->Custom Commands...->Add...,New Command name 随便写,我的是"Edit with Vim" 2.Run中写入: "C:/Program Files/Vim/vim63/gvim.exe" --remote-silent +%l %f 意思是在当前已经打开的gvim窗口里面打开当前的文件,并且跳转到指定行 %l为当前的行号,%f为文件名 使用 --remote-silent 的作 ...
Global site tag (gtag.js) - Google Analytics