- 博客(14)
- 资源 (22)
- 收藏
- 关注
转载 C++学习 C++函数模板与类模板实例解析
针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解。具体内容如下:泛型编程(Generic Programming)是一种编程范式,通过将类型参数化来实现在同一份代码上操作多种数据类型,泛型是一般化并可重复使用的意思。泛型编程最初诞生于C++中,目的是为了实现C++的STL(标准模板库)。模板(template)是泛型编程的基础,一个模板就
2015-04-22 16:40:42 654
转载 C++学习 C++类型转换static_cast, dynamic_cast, const_cast探讨
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.1415
2015-04-21 11:09:37 611
转载 ceph存储 重复数据删除技术简介
0.绪论 一般情况下,数据中心每周需要将主存储设备的所有数据备份到辅存储设备上,并保存数月时间,我们称之为全备份。另外,数据中心可能每天还需做一次增量备份,只备份当天改变的数据。辅存储设备的容量达到主存储设备的10到20倍是很正常的。如果需要做容灾备份的话,容量还需翻一倍,假如容灾备份需要在广域网上进行,那么带宽消耗也是很可怕的。1. 重复数据删除的分类 从重复数据
2015-04-16 19:10:12 6355
转载 嵌入式 使用udev高效、动态地管理Linux 设备文件
本文以通俗的方法阐述 udev 及相关术语的概念、udev 的配置文件和规则文件,然后以 Red Hat Enterprise Server 为平台演示一些管理设备文件和查询设备信息的实例。本文会使那些需要高效地、方便地管理 Linux 设备的用户受益匪浅,这些用户包括 Linux 最终用户、设备驱动开发人员、设备测试人员和系统管理员等等。概述:Linux 用户
2015-04-09 20:19:24 729
转载 嵌入式 详解udev
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs, 一个基于内核的动态设备文件系统,他首次出现在2.3.46内核中。Mandrake,Gentoo等Linux分发版本采用了这种方式。devfs创建 的设备文件是动态
2015-04-09 20:18:08 1032
转载 ceph存储 Linux 网卡配置-centos&ubuntu
Linux中不同distribution中配置网络的方法大同小异。以下介绍RHEL6系列,SUSE11, Ubuntu12.04的配置CentOS,RHEL/etc/sysconfig/network[plain]view plaincopyprint?NETWORKING=yes # 系统启动时是否启动网络 HOSTNA
2015-04-09 14:24:15 875
转载 ceph存储 新一代Linux 文件系统btrfs简介
btrfs 的特性和使用Btrfs 被称为是下一代 Linux 文件系统。近年来 ext2/3 遇到越来越多的扩展性问题,在期待 ext4 的同时,人们发现了 btrfs,据说它采用了很多先进的文件系统设计,不仅解决了 ext2/3 的扩展性问题,还让人们看到了下一代文件系统所具有的许多其他特性。这一切都让人不禁心生好奇,btrfs 究竟提供了哪些特性?它是如何实现的?本文便围绕这
2015-04-09 14:09:33 2074
转载 嵌入式 编程错误小记
1.提领指向不完全类型的指针struct hostent{ char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list;
2015-04-03 16:51:12 1452
转载 ceph存储 FUSE队列管理浅析
fuse通过fuse_session_loop来启动守护程序,守护程序最终会调用fuse_dev_readv,fuse_dev_readv调用request_wait,使得进程在fc的waitq队列上睡眠。 代码片段1static ssize_t fuse_dev_readv(struct file *file, const struct iovec *iov,
2015-04-02 15:22:02 917
转载 ceph存储 fuse_operations与fuse_lowlevel_ops
fuse为开发者提供了两组接口,分别是fuse_lowlevel_ops以及fuse_operations,开发者只需要实现这两组接口的一种即可实现一个用户空间文件系统。 struct fuse_lowlevel_ops的成员如下所示,其中init方法在其它所有方法之前调用,用于初始化文件系统,fuse已经实现,destroy则是在文件系统被卸载时做一些清理工作。用于大多数请求的参数都是f
2015-04-02 15:15:46 706
转载 ceph存储 FUSE的big_writes与direct_io选项分析
对fuse提供的两个选项direct_io及big_writes困惑已久,以前对内核完全不了解,看不懂fuse内核模块的代码,这两天把fuse的代码重新过了一遍,把整个机制弄清楚了,很多细节方面的东西还在学习中。 指定direct_io挂载文件系统时,系统调用到了fuse层后,会跳过页高速缓存,当指定了direct_io后,读写系统调用会使用fuse_direct_io_file_oper
2015-04-02 15:10:09 2272
转载 ceph存储 FUSE调用流程代码分析
fuse通过fuse_session_loop(或对应多线程的方法)来启动fuse守护程序,守护程序不断的从/dev/fuse上读取请求,并处理。 代码片段1int fuse_session_loop(struct fuse_session *se)//在fuse_main中会被调用,或其多线程版本{ int res = 0; struct fuse_cha
2015-04-02 15:00:32 1397
转载 ceph存储 FUSE API 的两种使用方法
FUSE 虚拟文件系统集成到我们的应用程序时,有两种使用策略,一种是使用比较上层的API,主循环我们只能调用 ret = fuse_main (fargc, fargv, &my_handler, NULL) 这个主循环的接口, my_handler我们只取我们关心API属性,如下所示 [cpp]view plaincopyprint?static
2015-04-02 14:54:39 2347
转载 脚本乐园 Shell中read的选项及用法
1. Read的一些选项 Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项。-a :将内容读入到数值中echo -n "Input muliple values into an array:"read -a arrayecho "get ${#array[@]} values in array"-d :表示delimite
2015-04-01 09:55:17 14622
tracepoint_lttng使用详解
2015-03-23
多路径multipath配置文档和相关概念
2015-01-07
ceph-fs-rpm-build
2014-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人