什么是FUSE传统的文件系统是操作系统的一部分,放在操作系统内核里面实现。Fuse(Filesystem in Userspace), 一个用户空间文件系统框架,提供给我们一组用于实现一个文件系统的API,使我们可以在用户态实现自已的文件系统。FUSE的优缺点1)传统文件系统都是定义在操作系统内核层...
分类:
其他好文 时间:
2014-06-22 23:09:04
阅读次数:
269
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义...
分类:
系统相关 时间:
2014-06-20 10:43:26
阅读次数:
376
1. 在JAVA传统的IO系统中,读取磁盘文件数据的过程如下:以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区。参看read(byte b[])方法的源码,可知,它会在内部再调用readBytes(b, 0, b....
分类:
编程语言 时间:
2014-06-18 00:12:55
阅读次数:
445
Linux 进程间通信(IPC):
Linux系统中除了进程和进程之间通信,我想大家也应该关注用户空间与内核空间是如何通信的,比方说netlink等等。除了传统进程间通信外像Socket通信也需要掌握的!
/*--------------------------------------------------------------------------
* Project: aipc...
分类:
系统相关 时间:
2014-06-17 23:08:03
阅读次数:
331
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1
单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行...
分类:
其他好文 时间:
2014-06-12 11:04:07
阅读次数:
207
处理upcall的整体框架是:
1.由函数handle_upcalls()批量处理(in batches)的是由内核传上来的dpif_upcalls,会解析出upcall的类型。这里主要看在内核中匹配流表失败的MISS_UPCALL。处理完成后会得到多个flow_miss。
结构体dpif_upcall代表的是由内核传到用户空间的一个包,包括上传原因,pac...
分类:
其他好文 时间:
2014-06-11 06:23:28
阅读次数:
863
用户空间使用Linux数据结构系列之红黑树
本文通过对Linux内核中红黑树的源码分析,通过大量图示描述红黑树的原理,最后通过移植改造Linux内核红黑树代码,使用户空间也能使用Linux红黑树.本着从群众中来,回到群众中去的原则,本文很多内容都是参考网上资料,但本身不影响大家阅读,因为我们的目的很...
分类:
其他好文 时间:
2014-06-07 09:33:14
阅读次数:
281
“zero-file-copy”是仅仅提供给NIO传输方式使用的特性。这个特性允许你以很快并且高效的方式从文件系统之来传输内容。这个特性把本地文件中的字节内容可以不通过从内核空间复制到用户空间的情况下通过网络传输出去。...
分类:
Web程序 时间:
2014-06-02 15:06:34
阅读次数:
365
proc为一个内核数据结构接口,用户空间和内核空间可以通过该接口通信,
与普通文件不同的是,这些虚拟文件的内容都是动态创建的。
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。
它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序
可以通过 proc得到系统的信息,并可以改变内核的某些参数。
proc
文件系统可以被用于收集有用的关于系统和运行中的内...
分类:
系统相关 时间:
2014-06-02 12:37:22
阅读次数:
388