系统
文章平均质量分 88
willwillie
刻意练习
展开
-
存储子系统剖析——从存储子系统角度看FCoE模块
如果一个用户空间中的应用程序(假设是用c语言编写的)要读取存放在remote scsi磁盘上面的某个文件,那么这个应用程序就需要使用c库的程序,然后调用内核提供的系统调用read(),系统调用会访问VFS,也就是虚拟文件系统,那么虚拟文件系统是什么呢?虚拟文件系统其实是文件系统的抽象层(复用代码的设计思想?),然后由VFS 选择那个正确的文件系统,因为甚至有的文件系统就是网络文件系统呢。然后到了真正的文件系统,文件系统是一个组织文件在磁盘上面存放的管理系统,由文件系统找到文件对应的块。再然后到了块设备层。文原创 2014-11-07 11:07:06 · 2391 阅读 · 0 评论 -
clojure 项目构建 boot
我们知道,c和c++程序是使用makefile来构建的;java程序使用ant,maven等构建;那么基于java的函数式编程clojure要怎么构建大型应用程序的呢?当然,也可以基于maven,本文主要先讲述clojure基于Leiningen的构建方式,然后会着重讲述clojure基于boot的构建方式。构建程序相关的基本概念构建是一个统称,包括我们写完代码之后到代码发布之前越来越多的东西;原创 2016-08-14 11:32:59 · 2552 阅读 · 2 评论 -
用SDN的方法管理存储流量(在io融合网络中)
本文基本思想来自[论文](http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6825102) ,介绍了一种类似于SDN openflow的方法,并将它应用于[fcoe](http://blog.csdn.net/yin_wuzhe/article/details/40888093)网络中。这种控制流的方法可以和openflow为协议的s原创 2015-05-06 14:21:10 · 1724 阅读 · 0 评论 -
unix平均负载average load计算方法
average load?表示系统在一段时间内的平均进程个数,也就是表示系统的繁忙程度。average load和CPU利用率不一样,更加能够表示系统的繁忙程度,下面将就系统的average load的计算和相关进行简单介绍。查看方法在linux系统下使用uptime命令,或者查看/proc/loadavg都可以看到系统负载average load。使用uptime命令会显示系统分别在过去的1分钟原创 2015-05-03 19:42:52 · 3274 阅读 · 0 评论 -
linux内核DCB子系统
note: 这是使用Markdown编辑器对我的前面写的一个同名的博客的再排版。问题1 :网络设备是怎么利用linux内核的DCB子系统,来达到融合网络流量的各种各样的QoS需求的? 问题2:融合网卡或者存储流量是否也可以使用到DCB子系统,他们是怎样工作的? 本文将对上面这两个问题进行解答;本文首先大体介绍了DCB机制和它的使用环境;然后介绍一个使用DCB的应用程序lldpad的例子原创 2015-05-03 20:41:01 · 1733 阅读 · 0 评论 -
linux内核DCB子系统
网络设备是怎么利用linux内核的DCB子系统,来达到融合网络流量的各种各样的QoS需求的?融合网卡或者存储流量是否也可以使用到DCB子系统的,他们是怎样工作的?本文将对上面这两个问题进行解答;本文首先大体介绍了DCB机制和它的使用环境;然后介绍一个使用DCB的应用程序lldpad的例子;再然后介绍一个DCB子系统中重要的数据结构;最后介绍DCB内核模块和驱动的具体实现。原创 2015-01-14 21:05:37 · 4630 阅读 · 0 评论 -
链接过程
符号和符号表在ld等链接器的上下文中,有三种不同的符号。每一个可重定位目标模块m都有一个符号表,它包含m所定义的和引用的符号的信息。由m所定义的并且能够被其他模块所引用的全局符号。就是非静态的c函数和被定义为不带c static属性的全局变量。在其他模块定义并被模块m引用的全局符号。...原创 2015-04-07 11:16:59 · 962 阅读 · 0 评论 -
linux进程管理(C语言)
理解进程控制的原理对于理解和修改fio project非常的重要。"fio is an I/O tool meant to be used both for benchmark and stress/hardware verification."原创 2015-03-08 21:31:34 · 1858 阅读 · 0 评论 -
xen的网络设备机制-I/O环
对于网络设备是这样的,Xen给虚拟机提供了虚拟网桥,每一个Domain都有一个或者多个虚拟接口VIFs逻辑上连接到了虚拟网桥,一个VIF看起来就像是一个物理网络接口卡NIC一样,但是有两个buffer描述符环,一个是接收的,另外一个是发送的。这两个方向都有各自的rule形式,如果满足的话,相应的动作就会实施(就相当于物理网卡可能会执行的过滤功能那样)。原创 2014-12-27 12:49:49 · 2630 阅读 · 0 评论 -
虚拟网络的无损保证-zOVN
现在数据中心的网络主要被两股趋势所主导:一个是为了无损的二层fabrics,基于增强的以太网和Infiniband,通过从性能和效能方面得到好处;另外一方面,是基于软件定义网络的灵活性,这使得重叠的虚拟网络成为可能(SDN是重叠的虚拟网络的动力)。现在的问题是这两方面存在一些冲突,物理的Fabrics通过流控制机制(Flow_based Control)来防止丢包,而虚拟网络(没有流控制机制)却是会丢包的。所以,这个文章提出了一种零丢失的重叠虚拟网络,这个原型叫做zOVN。原创 2015-01-03 21:05:35 · 2345 阅读 · 0 评论 -
FCoE模块设计与实现
0 FCOE协议介绍 太网光纤通道(FCoE)将FC帧映射并封装到以太网帧中,从而使得光纤通道存储流量能在太网上传输,加上FCoE交换机的支持,将以太网上IP数据和FC数据等其它数据流整合到统一网络链路,构成一个融合网络。1背景FCoE技术的背景:海量数据存储1.1存储技术与海量数据存储本地存储:直接连接存储(Direct Attached Storage,DAS),直接原创 2013-07-17 12:13:27 · 1466 阅读 · 0 评论 -
内核Netlink接口剖析
当开发linux内核特性的时候,将必要的详细信息暴露给用户空间的程序是一个比较好的习惯,因为这增强了内核的扩展性。通常来说,软件开发者必须面对这样一个任务:寻找一种好的方法使得用户空间和内核空间进行交互。原创 2015-01-14 18:49:25 · 2930 阅读 · 0 评论 -
sysfs文件系统
sysfs是一种代表内核对象的机制,内核对象的属性和内核对象相互之间的关系。从sysfs的目的来看,是把原本在procfs中的,关于设备的部分独立出来,以“设备层次结构”的形式呈现。它提供了两个组件,一个内核编程接口来把这些item通过sysfs暴露出来;另外一个组件是用户接口,来view和操作这些item(对应着相应的内核对象)。从内核的角度来看,sysfs是作为一个基础架构的核心组件,所以接口很简单,要执行的任务也很简单。原创 2014-11-29 17:03:45 · 2080 阅读 · 0 评论 -
Rabbitmq
rabbitmq是一个消息通信的开源工具。本文自问自答,回答一些使用和理解上的难点。 提出大概10个左右的问题,1.Connection和Channel的区别?程序要使用rabbitmq,要先创建一个到rabbitmq的连接,指定ip,端口,vhost,验证用户和密码,以及相关的设置,比如timeout时间、心跳时间,以及最大的channel数目。连接,对于RabbitMQ而言,其实原创 2017-08-06 20:32:04 · 678 阅读 · 0 评论