自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

转载 Linux 内核编程之文件系统(一)

原文 http://blog.csdn.net/tigerjb/article/details/6015530 Linux文件编程之虚拟文件系统(VFS)          当用户层程序员在编写文件函数时,常常会用到open(),read()和write()这类系统调用,而且用的也很爽,因为我们只需要知道这些函数如何调用就OK了,而不用深究具体文件系统和实际物理介质是如

2012-08-31 17:37:26 733

转载 Linux 内核编程之文件系统(二)

VFS中的目录项对象和文件对象   一 .VFS 中的目录项对象 1.为了方便查找,VFS引入了 目录 项,每个dentry代表路径中的一个特定部分。目录项也可包括安装点。2.目录项对象由dentry结构体表示 ,定义在文件linux/dcache.h 头文件中。   89struct dentry {  90        atomic_t d_count;

2012-08-31 17:36:06 1142

转载 MooseFS源代码分析(二)——mfsmount模块

1.fuse介绍客户端上需要安装有fuse。mfsmount使用了fuse模块,以拥有一个和文件操作一样的操作入口。fuse的功能简单概括一下,fuse提供一个文件操作的接口,然后fuse在这个接口上监听文件操作,并把这些对文件的操作传给我们自己的相关代码进行处理。也就是说,fuse提供一个挂载点,然后他会在这个挂在点上进行监听,一旦有操作(新建、读取、修改)发生,他会把控制权交给我们的代

2012-08-31 10:11:41 2341

转载 操作系统内存地址(逻辑地址、物理地址、线性地址)

转至: http://www.360doc.com/content/10/1012/20/1317564_60457124.shtml逻辑地址(Logical Address)是指由程式产生的和段相关的偏移地址部分。例如,你在进行C语言指针编程中,能读取指针变量本身值(&操作),实际上这个值就是逻辑地址,他是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,

2012-08-30 11:19:37 1356

转载 sigprocmask系统调用

功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。屏蔽信号阻塞一些信号,使进程即使接收到信号,也不做处理。用法:#include int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);参数:how:用于指定信号修改的方式,可能选择有三种SIG_BLOCK //加入信号到进程屏蔽

2012-08-29 16:08:26 513

转载 list_head内核链表的使用

list_head结构的介绍list_head结构定义在 里,它是一个double linked list的结构。 底下是它的结构宣告:  struct list_head {struct list_head *next, *prev;}; 有的人可能看到这样的结构会觉得很奇怪这样的结构可以存放资料吗? 当然是不行的棉,因为这个结构根本是

2012-08-29 09:06:40 1795

转载 关于list_entry

#define list_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))       这句话的意思是获取一个结构体中一个成员在这个结构体中的偏移。type *0是为了计算地址方便。意思是在0这个地址看做有一个虚拟的type类型的变量,那么取一个成员再取这个成

2012-08-28 17:09:17 1442 1

转载 DECLARE_WAITQUEUE 将进程加入等待队列

#define DECLARE_WAITQUEUE(name, tsk) / wait_queue_t name =__WAITQUEUE_INITIALIZER(name, tsk) #define __WAITQUEUE_INITIALIZER(name,tsk) {task: tsk, task_list: { NULL,NULL}

2012-08-28 15:21:01 11703 1

原创 高级I/O

高级文件I/O 1、Linux提供的高级I/O操作: 1)Scatter/gatter I/O:可以通过单个系统调用从多个buffer写到文件或者读到多个buffer中。 2)Epoll:是poll()和select()的改进版。 3)Memory-mapped I/O:将一个文件映像到内存,通过内存的操作来操作文件,操作更高效简单。 4)File advice:允许进程向内核

2012-08-28 11:23:35 1781

转载 Linux VFS文件系统之读写(read/write)文件

------------------------------------------------#纯属个人理解,如有问题敬请谅解!#kernel version: 2.6.26#Author: andy wang-------------------------------------------------一: 概述  在上文中讨论了VFS层是如何打开一个文件的,本文

2012-08-28 11:00:53 10089

转载 如何实现一个文件系统(之二)

如何实现一个文件系统(之二) 本文作者 康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。< 续.. > ( 原文  http://www.kerneltravel.net/

2012-08-27 17:06:09 2145

转载 如何实现一个文件系统(之一)

本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。 原文(http://www.kerneltravel.net/jiaoliu/003.htm#_ftn1)摘要 :本

2012-08-27 17:04:59 1222

转载 APUE学习笔记(16)-线程属性

By:             潘云登Date:          2009-8-21Email:         intrepyd@gmail.comHomepage: http://blog.csdn.net/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在

2012-08-25 10:32:47 781

转载 APUE学习笔记(15)-线程同步方法

By:             潘云登Date:          2009-8-20Email:         intrepyd@gmail.comHomepage: http://blog.csdn.net/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在

2012-08-25 10:31:56 617

转载 APUE学习笔记(17)-线程和信号

By:             潘云登Date:          2009-8-22Email:         intrepyd@gmail.comHomepage: http://blog.csdn.net/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在

2012-08-25 10:31:19 529

转载 unix环境高级编程APUE学习笔记(15)-线程同步

By:             潘云登Date:          2009-8-20Email:         intrepyd@gmail.comHomepage: http://blog.csdn.net/intrepydCopyright: 该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。写在

2012-08-25 10:29:30 925

转载 POSIX线程:API .

(一)线程创建与取消 1. 线程创建1.1 线程与进程相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SM

2012-08-23 11:10:24 820

原创 解决vi中文乱码问题

问题源于SI中编辑的注释,在虚拟机中,用记事本打开的可以显示正常的中文注释,在vi(vim)中编辑却显示乱码:解决vi中文乱码问题乱码, 中文, 解决由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。$vi ~/.vimrclet &termencoding

2012-08-16 13:49:27 11513

转载 epoll和select/poll的区别

1.  支持一个进程打开大数目的socket描述符(FD)    select最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降;二是可以选择多进程的解决方案(传统的Apache方案),不过虽然Linu

2012-08-15 15:04:29 709

原创 fuse调用流程有待整理

fuse处理请求的整个流程如下图所示,以unlink操作为例进行说明。其中“>”表示调用,”  fuse通过fuse_session_loop(或对应多线程的方法)来启动fuse守护程序,守护程序不断的从/dev/fuse上读取请求,并处理。 代码片段1int fuse_session_loop(struct fuse_session *se)//在fuse_mai

2012-08-14 16:40:56 1150

原创 fuse的一些理解-备忘

fuse是filesystem in user space,它是一个用户空间的文件系统框架,通过fuse,程序员可以再用户态实现文件系统,并且不需要特权用户的支持。   fuse包括三个模块:内核模块,用户空间库以及mount工具。   内核模块实现了一个完整文件系统的框架,但具体操作没有实现(由程序员在用户空间实现);    用户空间库给程序员提供编程接口,程序员通过实现fuse提供

2012-08-14 16:20:24 1594

转载 linux下gdb单步调试

一、GDB 概述GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说, GDB 主要帮忙你完成下面四个方面的功

2012-08-10 16:58:04 28298

转载 doxygen

Doxygen把自己定义为“Source code documentation generator tool”(源代码文档生成工具)。Doxygen提供一种维护文档的机制。Doxygen可以做下面的事情:1、从已经文档化的代码中抽取并生成文档。生成的文档格式有html、xml、Tex、rtf、PostScript、带链接的PDF、chm、Unix man pages等等多种格式,由于是xml是

2012-08-10 14:07:27 1785

转载 《互联网运营智慧》随书视频

《互联网运营智慧》随书视频1、田逸0-前言下载处2、田逸1 第一章到第四章 下载3、田逸2 第五章到第7章   下载4、田逸3 第8章moosefs分布式文件系统 下载5、田逸3 第9章 MySQL实战 下载6、田逸3 第10章云计算架构之hadoop 下载7、田逸3 第11章网关服务 下载8、田逸3 第12章 nagios监控系统,部署脚本

2012-08-10 11:12:14 827

转载 几个受益终身的英文缩写

几个受益终身的英文缩写赖勇浩(http://blog.csdn.net/lanphaday)经常在论坛或者 maillist 看到许多朋友发个贴上来问一些小问题,而答案往往是读一下手册或者在网上搜索一下就找到。我觉得他 们在解决问题的方法上,缺乏责任心和勇气,换句话说就是没有养成自己的问题自己解决的习惯。我以前也经历过这样的人生阶段,后来才有所改变。我曾经想从我 可怜的一点成绩中总结出

2012-08-10 10:50:03 1089

转载 C++和C优质资料

51cto精心整理了一批免豆下载的C++优质资料并做了分类,包括98个学习资料、9个相关工具和21套源码。将此下载目录分享给大家,大家可以选择性下. R) f5 y: d0 _# ?0 F2 W下面是附件内容部分预览:学习教程下载c语言电子书http://down.51cto.com/data/55806谭浩强c语言PDF版http://down.51cto.com/dat

2012-08-08 16:58:08 1733

转载 网络安全热门资料精品工具

网络安全热门资料精品工具——下载目录51CTO论坛版主systemerror为大家整理了一个网络安全精品资料目录。内容经挑选的,广受网友欢迎,包括了6个精华专题30个热门资料以及12个精品工具。资料均是下载中心的经典资料,感兴的同学可以看看哈!附件预览:2012黑客必备渗透工具包下载http://down.51cto.com/zt/498《黑客X档案》2010年电子

2012-08-08 16:56:00 1132

转载 【SQLServer】127个SQL server热门资料汇总

【SQLServer】127个SQL server热门资料汇总最近有许多关于如何学习SQLSERVER的问题,其实新手入门的资源和贴子很多,现在向大家隆重推荐经过精心整理的【SQLServer】127个SQL server热门资料汇总,希望能对学习SQLSERVER和正在使用SQLSERVER的午饭都会有所帮助,原网址:http://bbs.51cto.com/thread-933791-1.

2012-08-08 16:54:16 1316

转载 【Oracle经典】132个oracle热门精品资料

【Oracle经典】132个oracle热门精品资料电子书为网友wglzaj精心整理,这批资料下载量好评率都非常高,广受oracle学习者欢迎。文档共整理了12个精品专题和120个热门资料的下载地址,推荐给大家希望大家喜欢。目录0豆下载地址:http://down.51cto.com/data/428209目录部分预览:Oracle数据库性能优化指南大全http://d

2012-08-08 16:51:59 916

转载 80个Python经典资料(教程+源码+工具)汇总

大家好,51CTO下载中心根据资料的热度和好评度收集了80个Python资料,分享给Python开发的同学。内容包括1个Python专题、66个学习资料、7套Python源码和6个相关软件。附件较多,无法一一分享,在此大家整理一个下载目录了,可以保存以备后用,需要时可选择性下载。附件内容部分预览:【专题推荐】Python系列英文原版电子书http://down.51cto.co

2012-08-08 16:49:21 2947

空空如也

空空如也

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

TA关注的人

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