自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

转载 ubuntu apache2配置(转载)

转载地址:http://hi.baidu.com/jiayancheng1/blog/item/08be59247704723ed40742bf.htmlubuntu apache2配置(转载)原帖地址1.apache2.conf 是主配置文件,httpd.conf 用户配置文件2.虚拟目录在 httpd.conf 中DocumentRoot “路径”ServerNam

2012-06-05 14:27:07 1034

转载 Java产生随机数

转自:http://tech.ddvip.com/2007-07/118589649730592.html在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.Math.Random()静态方法,另一种是创建java.util.Random对象。下面是两种方法的使用过程:  一.java.lang.Ma

2012-05-26 13:13:45 604

转载 Hadoop 全局变量与数据传递

首先明确: 1.Hadoop不支持全局变量,也不建议使用全局变量。   我的理解是,这是因为hadoop具有map类和reducer类,并且不同的task一般执行的是不同的map或reduce。所以全局变量是无法传递的。(但是一般情况下,我们也许会需要一个对于所有map和reduce都能访问的全局变量),暂时我知道的解决方法如下:2.如果Mapper类和Reducer类都是主类的内

2012-05-25 19:53:50 9080

转载 ubuntu下安装Apache+PHP+Mysql

转载自:http://www.cnblogs.com/lynch_world/archive/2012/01/06/2314717.html更详细的图文参考链接:http://hi.baidu.com/asfsz/blog/item/7a40c20461d873ed7b8947d5.html 电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库

2012-05-20 15:37:24 816

转载 Hadoop DistributedCache

1、DistributedCache In Hadoop此篇文章主要是前一篇的后续,主要讲Hadoop的分布式缓存机制的原理与运用。分布式缓存在MapReduce中称之为DistributedCache,它可以方便map task之间或者reduce task之间共享一些信息,同时也可以将第三方包添加到其classpath路径中去。Hadoop会将缓存数据分发到集群的所有准备启动的节点上,

2012-05-15 16:32:31 4174 1

转载 Haloop介绍

Haloop用户手册:http://code.google.com/p/haloop/wiki/UserManual 1.介绍Haloop是一个Hadoop MapReduce框架的修改版本,其目标是为了高效支持 迭代,递归数据 分析任务,如PageRank,HITs,K-means,sssp等。递归的连接可能在map端(K-means),也可能在reduce端(PageRank)。

2012-05-15 16:31:49 4980

转载 迭代式mapreduce

董的博客:《迭代式mapreduce框架介绍》网址:http://dongxicheng.org/mapreduce/iterative-mapreduce-intro/小e的分享:《迭代式MapReduce解决方案》:http://www.wikieno.com/2012/02/iterative-mapred-summary-haloop/1.概述  对于传统的MapReduce框

2012-05-15 15:06:36 2797

原创 模体发现问题

1.模体发现问题    DNA或蛋白质中具有特定功能且保守的序列片段称为 模体(也是结合位点)。    由于突变存在,不一定完全保守, 故 实际片段 称为 模体实例。    这里研究自动模体发现问题:从一组相关的DNA序列集合中将模体和每个序列中的模体实例找出。2.问题描述     给定一组含有t条DNA序列的集合S={sl,s2, …,st},每序列的长度为n,每条序列s

2012-05-07 17:53:38 3864

转载 hadoop上的pageRank算法

简单的pageRank实现参考:http://wlh0706-163-com.iteye.com/blog/1397694较为复杂的PR值计算以及在hadoop上的实现:http://deathspeeder.is-programmer.com/posts/31349.htmlpageRank算法的基本思想是:网页的热门程度依赖指向它的网页的热门程度。也许google当初的Page

2012-05-05 13:14:46 1603

原创 我的积累

<!--@page {margin:2cm}h1 {margin-top:0.6cm; margin-bottom:0.58cm; line-height:240%; page-break-inside:avoid}h1.western {font-family:"Liberation Serif",serif; font-size:12pt}h1.cj

2012-05-02 22:04:26 743

转载 Linux相关网络命令

手动临时设置IPsudo ifconfig eth0 up 192.168.1.10手动设置IP一般在系统重启后就失效静态设置IPUbuntu网络配置信息保存在 /etc/network/interfaces 文件中,默认内容如下:auto eth0iface eth0 inet dhcpauto loifac

2012-05-01 09:42:56 490

转载 哈希存储

哈希简单的说就是一种映射,它将很大定义域的值映射到一个相对较小的值域内。     通常用Hash是为了便于判断一个元素是否属于某集合。所以它支持创建Hash表时的INSERT操作,判断是否存在查找时的SEARCH操作,以及删除元素DELETE操作。    如果你的集合元素个数与全集元素个数差不多,还是用数组吧。Hash一般将大集合映射到小集合中,所以会有碰撞(Collision),这时,可

2012-04-26 21:19:12 705

转载 热门智力题 过桥问题和倒水问题

原文地址:http://blog.csdn.net/morewindows/article/details/7481851

2012-04-24 20:55:15 541

原创 MapReduce中文件的压缩和解压

1.单个文件的压缩或解压import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import org.apache.hadoop.conf.Confi

2012-04-23 21:27:49 3319

原创 hadoop 文件合并

众所周知,Hadoop对处理单个大文件比处理多个小文件更有效率,另外单个文件也非常占用HDFS的存储空间。所以往往要将其合并起来。1,getmergehadoop有一个命令行工具getmerge,用于将一组HDFS上的文件复制到本地计算机以前进行合并参考:http://hadoop.apache.org/common/docs/r0.19.2/cn/hdfs_shell.html

2012-04-23 17:07:03 12211

原创 hadoop遇到的问题

装好hadoop,但是一直出现问题,总结如下:排错到现在,最大的感觉是,也许你的错误表象跟网上说的一样,但是解决方法会大有不同,只能说这种错误是同一问题(如namenode出错)导致,但是究竟是什么行为导致这个问题,每个人也许都不相同,所以重点是找到自己的操作时的错误所在.1.Too many fetch-failures错误问题介绍:http://blog.csdn.net/

2012-04-20 02:02:07 1526

转载 Hadoop二次排序

文章转自:http://blog.csdn.net/heyutao007/article/details/5890103趁这个时候,顺便把hadoop的用于比较的Writable, WritableComparable, Comprator等搞清楚。。1.二次排序概念:首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果 。如

2012-04-16 17:51:15 1092

转载 eclipse中 unable to load native-hadoop library

解决参考:http://blog.csdn.net/hongweigg/article/details/7203749我的过程是:1。在run configuration中 Arguments/VM arguments加上如下语句:2.如果不行可以在properities/java build path中添加:library/add external folder, 选

2012-04-15 22:31:04 2468

原创 gzip, gunzip ,tar命令

一、命令作用gzip:用于将文件进行压缩,在被压缩文件名后加上 .gz。gunzip:用于将后缀为 .gz的压缩文件解压,解压后后缀消失。tar:将一个带目录结构的文件系统归档为一个以 .tar结尾的独立文件,也可以反之将一个以 .tar结尾的文件恢复为一个目录结构。注意,后缀是人为加上去的,便于识别。二、简单使用方法对xxx.tar.gz的解压过程:运行: gun

2012-04-08 21:49:18 764

转载 JUnit: Hamcrest使用

转自:http://blog.csdn.net/androidbluetooth/article/details/6406208hamcrest是一款比较不错的JUnit测试jar包,本文介绍hamcrest在Java语言的使用。如果你使用过eclipse和JUnit4的话,hamcrest的使用会让你如虎添翼。 1. 下载hamcrest 连接Google,搜索h

2012-04-08 20:36:42 972

翻译 JUnit教程

另一个常用的单元测试工具:Mockito链接:http://blog.csdn.net/onlyqi/article/details/6396646Mockito的API链接:http://mockito.googlecode.com/svn/branches/1.6/javadoc/org/mockito/Mockito.html以下教程文章来源:http://www.v

2012-04-08 20:06:56 1581

原创 使用java api操作HDFS文件

全部程序如下:import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.

2012-04-06 23:12:13 12622

原创 hadoop程序运行

hadoop命令的使用:Usage: hadoop [--config confdir] COMMAND 这里COMMAND为下列其中一个:namenode -format 格式化DFS文件系统 secondarynamenode 运行DFS的第二个namenode namenode 运行DFS的name

2012-04-06 10:53:58 1564

转载 观感默认设置相关文件swing.properties的设置问题

来源:http://blog.csdn.net/jerry_liu20080504/article/details/6091678 某些jdk中不存在swing.properties,根据java文档描述,如果不存在的话,就手动添加该文件到jre/lib的文件夹下。然后在该文件中添加以下内容:#swing.defaultlaf = javax.swing.plaf.metal.Meta

2012-04-05 12:10:47 1579

原创 eclipse文件

eclipse文件主要为三部分:src:存储源代码文件bin:存储编译后的.class字节码文件其他:存储资源文件(如输入输出文件,图片文件等)

2012-04-04 19:48:47 887

转载 JavaScript常用正则表达式

来自:http://feiqiang.iteye.com/blog/6958481、  短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(d)(-│/)(d)2(d)$/); if(r==null)return false; var d= new Date(r[1], r[3

2012-04-04 15:23:04 358

转载 vim配置

前辈经验:《构建真正的IDE环境》—http://www.cnblogs.com/CGDeveloper/articles/1941373.html《手把手教你把 Vim 改装成一个 IDE 编程环境》- 吴垠, 吴的blog:http://blog.csdn.net/wooin 《vim使用进阶: 使用vim提高你的文本编辑效率》-Easwy Yang,其bolg:http://ea

2012-04-01 17:20:20 466

转载 Hadoop0.20更新笔记

本节向大家介绍一下Hadoop0.20更新的内容,在学习Hadoop的过程中你可能会遇到这方面的问题,在这里和大家分享一下,相信通过本节的介绍大家对Hadoop0.20更新有一定的认识。下面是详细介绍。Hadoop0.20更新笔记最近学习hadoop0.20.1,网上找到一篇文章《What’sNewinHadoopCore0.20》,非完整的给翻译了一下,为以后检索方便,发上来保存一份。如

2012-03-30 21:20:27 470

原创 hadoop中联结不同来源数据

有时可能需要对来自不同源的数据进行综合分析:如下例子:有Customers文件,每个记录3个域:Custom ID,    Name,     Phone Number                                        Customers                  Orders      1,Stephanie Leung,555-555

2012-03-29 23:46:52 1105 1

原创 public,protected,private问题

一直没扯清这几个访问限定符,这次用vs2010下用代码实验下,记录如下:class Base{public: Base(string book_a = " ", double price_a = 0.0): book(book_a), price(price_a) {}protected: double price;private: string book;}

2012-03-29 20:42:50 500

转载 i++,++i, i=i+1 vs编译器上的深入研究

今天看到一个有趣的输出,遂发现这篇文章:http://www.cnblogs.com/confide/archive/2012/03/08/2385739.html我自己的例子是int i = 10;  cout 目测输出时 10 10 11 11;实际输出了 9 10 10 10 。使用flush发现也不是缓冲区的问题i++,++i, i=i+1 vs编译器上的深入研究

2012-03-29 20:09:58 818

转载 Bloom Filter概念,原理,代码。。

1. BloomFilter概念与原理:http://blog.csdn.net/jiaomeng/article/details/1495500  (从数学上分析了错误率,最优hash函数,位数组大小的选择)     BloomFilter介绍:http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html2. BloomFilt

2012-03-29 17:20:58 1098

原创 高阶MapReduce(1)-链接多个MapReduce作业

许多复杂的任务需要分解成简单任务,每个任务通过MapReduce作业来完成。Hadoop支持将多个MapReduce链接成更大得作业。1.顺序链接MapReduce作业类似于Unix中的管道:mapreduce-1 | mapreduce-2 | mapreduce-3 ......每一个阶段创建一个job,并将当前输入路径设为前一个的输出。在最后阶段删除链上生成的中间数据

2012-03-29 16:04:01 7756

原创 使用combiner提升性能

在上一节的AverageByAttributeMapper.py和AverageByAttributeReducer.py中计算平均值,由mapper读取,在网络上进行洗牌,reducer计算每个键的平均值。可以看到至少有两个效率瓶颈:如果有10亿条记录,mapper会生成10亿个 键值对 在网络上洗牌,实际上,在求最大值时,mapper只需要输出键中最大的一个。求平均值则可以重新定义算法

2012-03-29 15:11:51 1027

原创 hadoop的Streaming学习(续)

3.用Streaming处理键值对默认情况下,Streaming使用\t分离记录中得键和值,当没有\t时,整个记录被视为键,值为空白文本。不同于AttributeMax.py为每个键寻找最大值,这次我们试着为每个国家找到专利声明数的平均值。(Hadoop包含得名为Aggregate包,可以为每个键寻找最大值) (1)Streaming中得mapper通过STDIN读取一个 分片,并

2012-03-28 23:12:11 833

原创 Hadoop的Streaming学习

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->Haoop支持用其他语言来编程,需要用到名为Streaming的通用API。Streaming主要用于编写简单,短小的MapReduce程序,可以通过脚本语言编程,开发更快捷,并充分利用非Java库。HadoopStreaming使用Unix中的流与程序交互

2012-03-28 21:12:40 569

转载 用 Eclipse 平台进行 C/C++ 开发——CDT的使用

C 和 C++ 语言都是世界上最流行且使用最普遍的编程语言,因此 Eclipse 平台(Eclipse Platform)提供对 C/C++ 开发的支持一点都不足为奇。因为 Eclipse 平台只是用于开发者工具的一个框架,它不直接支持 C/C++;它使用外部插件来提供支持。本文将向您演示如何使用 CDT — 用于 C/C++ 开发的一组插件。CDT 项目致力于为 Eclipse 平台提供功能完全

2012-03-19 22:28:15 786

原创 Linux截图工具KSapshot

一个很不错得截图工具~~KSnapshot是KDE集成桌面环境自带的截图工具,不过在GNOME集成桌面环境下也可以安装和使用它。我们可以通过新立得软件包管理器或使用apt-get命令来安装它。假设使用命令行方式来安装,打开一个GNOME终端窗口,在终端窗口中输入如下命令:sudo apt-get install ksnapshot命令执行后,将在线下载并安装KSnapshot。

2012-03-15 18:29:26 671

原创 eclipse安装hadoop插件及配置

第一次使用hadoop,另外eclipse也不太熟悉,现在把自己在安装过程中得琐碎问题记录下来。eclipse版本:eclipse-jee-indigo-SR2-linux-gtk.tar.gzhadoop版本:hadoop-0.20.203.0本文前提是,你已经正确安装了hadoop-0.20.203.0,hadoop伪分布模式的安装过程网上有很多。eclipse下载解压后,直接

2012-03-15 17:46:39 3670

原创 ssh使用记录

1.安装OpenSSH服务器   一般用ps -e查看会发现只有ssh-agent进程.   使用sudo apt-get install ssh 安装ssh服务器,结束后使用ps -e | grep ssh会看到多了一个sshd进程,这就是ssh服务器进程2.ssh配置   OpenSSH守护进程在Red Hat中使用/etc/ssh/sshd_config配置文件,一般使用

2012-03-15 15:48:22 2626

linux设备驱动开发详解 宋宝华版

内容简介 本书是一本介绍Linux设备驱动开发理论、框架与实例的书,本书以Linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论;字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了大量Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。   本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大Linux开发人员、嵌入式工程师参考使用。 目录 第1篇 Linux设备驱动入门  第1章 设备驱动概述   1.1 设备驱动的作用   1.2 无操作系统时的设备驱动   1.3 有操作系统时的设备驱动   1.4 Linux设备驱动    1.4.1 设备的分类及特点    1.4.2 Linux设备驱动与整个软硬件系统的关系    1.4.3 编写Linux设备驱动的技术基础    1.4.4 Linux设备驱动的学习方法   1.5 设备驱动的HelloWorld:LED驱动    1.5.1 无操作系统时的LED驱动    1.5.2 Linux系统下的LED驱动  第2章 驱动设计的硬件基础   2.1 处理器    2.1.1 通用处理器    2.1.2数字信号处理器   2.2 存储器   2.3 接口与总线    2.3.1 串口    2.3.2 I2C总线    2.3.3 USB    2.3.4 以太网接口    2.3.5 ISA总线    2.3.6 PCI和cPCI   2.4 CPLD和FPGA    2.5 原理图分析    2.5.1 原理图分析的内容    2.5.2 原理图的分析方法   2.6 硬件时序分析    2.6.1 时序分析的概念    2.6.2 典型硬件时序   2.7 仪器仪表使用    2.7.1 万用表    2.7.2 示波器    2.7.3 逻辑分析仪   2.8 总结  第3章 Linux内核及内核编程   3.1 Linux内核的发展与演变   3.2 Linux2.6内核的特点   3.3 Linux内核的组成    3.3.1 Linux内核源代码目录结构    3.3.2 Linux内核的组成部分    3.3.3 Linux内核空间与用户空间   3.4 Linux内核的编译及加载    3.4.1 Linux内核的编译    3.4.2 Kconfig和Makefile    3.4.3 Linux内核的引导   3.5 Linux下的C编程    3.5.1 Linux程序命名习惯    3.5.2 GNUC与ANSIC    3.5.3 do{}while(0)    3.5.4 goto   3.6 总结 第2篇 Linux设备驱动核心理论  第4章 Linux内核模块   4.1 Linux内核模块简介   4.2 Linux内核模块的程序结构   4.3 模块加载函数   4.4 模块卸载函数   4.5 模块参数   4.6 导出符号   4.7 模块声明与描述   4.8 模块的使用计数   4.9 模块的编译   4.10 模块与GPL   4.11 总结  第5章 Linux文件系统与设备文件系统   5.1 Linux文件操作    5.1.1 文件操作的相关系统调用    5.1.2 C库函数的文件操作   5.2 Linux文件系统    5.2.1 Linux文件系统目录结构    5.2.2 Linux文件系统与设备驱动   5.3 devfs设备文件系统   5.4 udev设备文件系统    5.4.1 udev与devfs的区别    5.4.2 sysfs文件系统与Linux设备模型    5.4.3 udev的组成    5.4.4 udev规则文件    5.4.5 创建和配置udev   5.5 总结  第6章 字符设备驱动   6.1 Linux字符设备驱动结构    6.1.1 cdev结构体    6.1.2 分配和释放设备号    6.1.3 file_operations结构体    6.1.4 Linux字符设备驱动的组成   6.2 globalmem虚拟设备实例描述   6.3 globalmem设备驱动    6.3.1 头文件、宏及设备结构体    6.3.2 加载与卸载设备驱动    6.3.3 读写函数    6.3.4 seek()函数    6.3.5 ioctl()函数    6.3.6 使用文件私有数据   6.4 globalmem驱动在用户空间的验证   6.5 总结  第7章 Linux设备驱动中的并发控制   7.1 并发与竞态   7.2 中断屏蔽   7.3 原子操作    7.3.1 整型原子操作    7.3.2 位原子操作   7.4 自旋锁    7.4.1 自旋锁的使用    7.4.2 读写自旋锁    7.4.3 顺序锁    7.4.4 读-拷贝-更新   7.5 信号量    7.5.1 信号量的使用    7.5.2 信号量用于同步    7.5.3 完成量用于同步    7.5.4 自旋锁vs信号量    7.5.5 读写信号量   7.6 互斥体   7.7 增加并发控制后的globalmem驱动   7.8 总结  第8章 Linux设备驱动中的阻塞与非阻塞I/O   8.1 阻塞与非阻塞I/O    8.1.1 等待队列    8.1.2 支持阻塞操作的globalfifo设备驱动    8.1.3 在用户空间验证globalfifo的读写   8.2 轮询操作    8.2.1 轮询的概念与作用    8.2.2 应用程序中的轮询编程    8.2.3 设备驱动中的轮询编程   8.3 支持轮询操作的globalfifo驱动    8.3.1 在globalfifo驱动中增加轮询操作    8.3.2 在用户空间验证globalfifo设备的轮询   8.4 总结  第9章 Linux设备驱动中的异步通知与异步I/O   9.1 异步通知的概念与作用   9.2 Linux异步通知编程    9.2.1 Linux信号    9.2.2 信号的接收    9.2.3 信号的释放   9.3 支持异步通知的globalfifo驱动    9.3.1 在globalfifo驱动中增加异步通知    9.3.2 在用户空间验证globalfifo的异步通知   9.4 Linux2.6异步I/O    9.4.1 AIO概念与GNUC库函数    9.4.2 使用信号作为AIO的通知    9.4.3 使用回调函数作为AIO的通知    9.4.4 AIO与设备驱动   9.5 总结  第10章 中断与时钟   10.1 中断与定时器   10.2 Linux中断处理程序架构   10.3 Linux中断编程    10.3.1 申请和释放中断    10.3.2 使能和屏蔽中断    10.3.3 底半部机制    10.3.4 实例:S3C2410实时钟中断   10.4 中断共享   10.5 内核定时器    10.5.1 内核定时器编程    10.5.2 实例:秒字符设备   10.6 内核延时    10.6.1 短延迟    10.6.2 长延迟    10.6.3 睡着延迟   10.7 总结  第11章 内存与I/O访问   11.1 CPU与内存和I/O    11.1.1 内存空间与I/O空间    11.1.2 内存管理单元MMU   11.2 Linux内存管理   11.3 内存存取    11.3.1 用户空间内存动态申请    11.3.2 内核空间内存动态申请    11.3.3 虚拟地址与物理地址关系   11.4 设备I/O端口和I/O内存的访问    11.4.1 LinuxI/O端口和I/O内存访问接口    11.4.2 申请与释放设备I/O端口和I/O内存    11.4.3 设备I/O端口和I/O内存访问流程    11.4.4 将设备地址映射到用户空间   11.5 I/O内存静态映射   11.6 DMA    11.6.1 DMA与Cache一致性    11.6.2 Linux下的DMA编程   11.7 总结  第12章 Linux字符设备驱动综合实例   12.1 按键的设备驱动    12.1.1 按键的硬件原理    12.1.2 按键驱动中的数据结构    12.1.3 按键驱动的模块加载和卸载函数    12.1.4 按键设备驱动中断、定时器处理程序    12.1.5 按键设备驱动的打开、释放函数    12.1.6 按键设备驱动读函数   12.2 触摸屏的设备驱动    12.2.1 触摸屏的硬件原理    12.2.2 触摸屏设备驱动中数据结构    12.2.3 触摸屏驱动中的硬件控制    12.2.4 触摸屏驱动模块加载和卸载函数    12.2.5 触摸屏驱动中断、定时器处理程序    12.2.6 触摸屏设备驱动的打开、释放函数    12.2.7 触摸屏设备驱动的读函数    12.2.8 触摸屏设备驱动的轮询与异步通知    12.2.9 Linux输入子系统    12.3 DSPHPI的设备驱动    12.3.1 HPI接口的硬件原理    12.3.2 HPI接口设备驱动中数据结构    12.3.3 HPI接口设备驱动的读写函数   12.4 NVRAM设备驱动    12.4.1 NVRAM设备驱动的数据结构    12.4.2 NVRAM设备驱动的模块加载与卸载函数    12.4.3 NVRAM设备驱动读写函数    12.4.4 NVRAM设备驱动的seek函数   12.5 看门狗设备驱动    12.5.1 看门狗硬件原理    12.5.2 看门狗驱动中的数据结构    12.5.3 看门狗驱动模块的加载和卸载函数    12.5.4 看门狗驱动探测和移除函数    12.5.5 看门狗驱动的挂起和恢复函数    12.5.6 看门狗驱动的打开和释放函数    12.5.7 看门狗驱动写函数   12.6 总结 第3篇 Linux设备驱动实例  第13章 Linux块设备驱动   13.1 块设备的I/O操作特点   13.2 Linux块设备驱动结构    13.2.1 block_device_operations结构体    13.2.2 gendisk结构体    13.2.3 request与bio结构体    13.2.4 块设备驱动注册与注销   13.3 Linux块设备驱动的模块加载与卸载   13.4 块设备的打开与释放   13.5 块设备驱动的ioctl函数   13.6 块设备驱动的I/O请求处理    13.6.1 使用请求队列    13.6.2 不使用请求队列   13.7 实例1:RamDisk驱动    13.7.1 RamDisk的硬件原理    13.7.2 RamDisk驱动模块的加载与卸载    13.7.3 RamDisk设备驱动block_device_operations及成员函数    13.7.4 RamDiskI/O请求处理   13.8 实例2:IDE硬盘设备驱动    13.8.1 IDE硬盘设备原理    13.8.2 IDE硬盘设备驱动的block_device_operations及成员函数    13.8.3 IDE硬盘设备驱动的I/O请求处理    13.8.4 在内核中增加对新系统IDE设备的支持   13.9 总结  第14章 Linux终端设备驱动   14.1 终端设备   14.2 终端设备驱动结构   14.3 终端设备驱动的初始化与释放    14.3.1 模块加载与卸载函数    14.3.2 打开与关闭函数   14.4 数据发送和接收   14.5 tty线路设置    14.5.1 线路设置用户空间接口    14.5.2 tty驱动的set_termios函数    14.5.3 tty驱动的tiocmget和tiocmset函数    14.5.4 tty驱动的ioctl函数   14.6 UART设备驱动   14.7 S3C2410UART的驱动实例    14.7.1 S3C2410串口硬件描述    14.7.2 S3C2410串口驱动的数据结构    14.7.3 S3C2410串口驱动的初始化与释放    14.7.4 S3C2410串口数据收发    14.7.5 S3C2410串口线路设置   14.8 总结  第15章 Linux的I2C核心、总线与设备驱动   15.1 Linux的I2C体系结构   15.2 LinuxI2C核心   15.3 LinuxI2C总线驱动    15.3.1 I2C适配器驱动加载与卸载    15.3.2 I2C总线通信方法   15.4 LinuxI2C设备驱动    15.4.1 LinuxI2C设备驱动的模块加载与卸载    15.4.2 LinuxI2C设备驱动的i2c_driver成员函数    15.4.3 LinuxI2C设备驱动的文件操作接口    15.4.4 Linux的i2c-dev.c文件分析   15.5 S3C2410I2C总线驱动实例    15.5.1 S3C2410I2C控制器硬件描述    15.5.2 S3C2410I2C总线驱动总体分析    15.5.3 S3C2410I2C适配器驱动的模块加载与卸载    15.5.4 S3C2410I2C总线通信方法   15.6 SAA7113H视频AD芯片的I2C设备驱动实例    15.6.1 SAA7113H视频AD芯片硬件描述    15.6.2 SAA7113H视频AD芯片驱动的模块加载与卸载    15.6.3 SAA7113H设备驱动的i2c_driver成员函数   15.7 总结  第16章 Linux网络设备驱动   16.1 Linux网络设备驱动的结构    16.1.1 网络协议接口层    16.1.2 网络设备接口层    16.1.3 设备驱动功能层    16.1.4 网络设备与媒介层   16.2 网络设备驱动的注册与注销   16.3 网络设备的初始化   16.4 网络设备的打开与释放   16.5 数据发送流程   16.6 数据接收流程   16.7 网络连接状态   16.8 参数设置和统计数据   16.9 CS8900网卡设备驱动实例    16.9.1 CS8900网卡硬件描述    16.9.2 CS8900网卡驱动设计分析    16.9.3 CS8900网卡注册、初始化与注销    16.9.4 CS8900网卡发送数据流程    16.9.5 CS8900网卡接收数据流程   16.10 总结  第17章 Linux音频设备驱动   17.1 数字音频设备   17.2 音频设备硬件接口    17.2.1 PCM接口    17.2.2 IIS接口    17.2.3 AC97接口   17.3 LinuxOSS音频设备驱动    17.3.1 OSS驱动的组成    17.3.2 mixer接口    17.3.3 dsp接口    17.3.4 OSS用户空间编程   17.4 LinuxALSA音频设备驱动    17.4.1 ALSA的组成    17.4.2 card和组件管理    17.4.3 PCM设备    17.4.4 控制接口    17.4.5 AC97API接口    17.4.6 ALSA用户空间编程   17.5 S3C2410+UDA1341OSS驱动实例    17.5.1 S3C2410与UDA1341接口硬件描述    17.5.2 注册dsp和mixer接口    17.5.3 mixer接口的I/O控制函数    17.5.4 dsp接口音频数据传输   17.6 SA1100+UDA1341ALSA驱动实例    17.6.1 card注册与注销    17.6.2 PCM设备的实现    17.6.3 控制接口的实现   17.7 PXA255+AC97ALSA驱动实例   17.8 总结  第18章 LCD设备驱动   18.1 LCD硬件原理   18.2 帧缓冲    18.2.1 帧缓冲的概念    18.2.2 显示缓冲区与显示点    18.2.3 Linux帧缓冲相关数据结构与函数   18.3 Linux帧缓冲设备驱动结构   18.4 帧缓冲设备驱动的模块加载与卸载函数   18.5 帧缓冲设备显示缓冲区的申请与释放   18.6 帧缓冲设备的参数设置    18.6.1 定时参数    18.6.2 像素时钟    18.6.3 颜色位域    18.6.4 固定参数   18.7 帧缓冲设备驱动的fb_ops成员函数   18.8 LCD设备驱动的读写、mmap和ioctl函数   18.9 帧缓冲设备的用户空间访问   18.10 Linux图形用户界面    18.10.1 Qt-X11/QtEmbedded/Qtopia    18.10.2 Microwindows/Nano-X    18.10.3 MiniGUI   18.11 实例:S3C2410LCD设备驱动    18.11.1 S3C2410LCD控制器硬件描述    18.11.2 S3C2410LCD驱动的模块加载与卸载函数    18.11.3 S3C2410LCD驱动的探测与移除函数    18.11.4 S3C2410LCD驱动挂起与恢复函数    18.11.5 S3C2410LCD驱动的fb_ops成员函数   18.12 总结  第19章 Flash设备驱动   19.1 LinuxFlash驱动结构    19.1.1 LinuxMTD系统层次    19.1.2 LinuxMTD系统接口    19.1.3 MTD用户空间编程   19.2 NORFlash驱动   19.3 NANDFlash驱动   19.4 NORFlash驱动实例:S3C2410外围的NORFlash驱动   19.5 NANDFlash驱动实例:S3C2410外围的NANDFlash驱动    19.5.1 S3C2410NAND控制器硬件描述    19.5.2 nand_chip初始化和成员函数    19.5.3 NAND设备驱动初始化与释放   19.6 Flash文件系统的建立    19.6.1 Flash转换层    19.6.2 CramFS    19.6.3 JFFS/JFFS2    19.6.4 YAFFS/YAFFS2   19.7 总结  第20章 USB主机与设备驱动   20.1 LinuxUSB驱动层次    20.1.1 主机侧与设备侧USB驱动    20.1.2 设备、配置、接口、端点   20.2 USB主机驱动    20.2.1 USB主机驱动的整体结构    20.2.2 实例:S3C2410USB主机驱动   20.3 USB设备驱动    20.3.1 USB设备驱动整体结构    20.3.2 USB请求块(URB)    20.3.3 探测和断开函数    20.3.4 USB骨架程序   20.4 USB设备驱动实例    20.4.1 USB串口驱动    20.4.2 USB键盘驱动   20.5 总结  第21章 PCI设备驱动   21.1 PCI总线与配置空间    21.1.1 PCI总线的Linux描述    21.1.2 PCI设备的Linux描述    21.1.3 PCI配置空间访问   21.2 PCI设备驱动结构    21.2.1 pci_driver结构体    21.2.2 PCI设备驱动的组成    21.2.3 旧版内核的PCI设备探测   21.3 实例:Intel810主板声卡驱动   21.4 总结 第4篇 Linux设备驱动测试、移植  第22章 Linux设备驱动的调试   22.1 Linux开发环境建设    22.1.1 实验室建设    22.1.2 工具链    22.1.3 串口工具   22.2 GDB调试器用法    22.2.1 GDB基本用法    22.2.2 DDD图形界面调试工具   22.3 Linux内核调试   22.4 内核打印信息-printk()   22.5 使用/proc   22.6 Oops   22.7 监视工具   22.8 内核调试器    22.8.1 kcore    22.8.2 KDB    22.8.3 KGDB   22.9 使用仿真器调试内核   22.10 应用程序调试   22.11 总结  第23章 Linux设备驱动的移植   23.1 编写可移植的设备驱动    23.1.1 可移植的数据类型    23.1.2 结构体对界    23.1.3 LittleEndian与BigEndian    23.1.4 内存页面大小   23.2 巧用同类设备驱动    23.2.1 巧用demo板驱动    23.2.2 巧用类似芯片的驱动程序    23.2.3 借用芯片厂商的范例程序   23.3 从Linux2.4移植设备驱动到Linux2.6   23.4 Linux与其他操作系统之间的驱动移植   23.5 总结

2011-08-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除