摘要: ceph提供软件定义的、统一的存储解决方案。是一个可大规模扩展,高性能并且无单点故障的分布式存储系统。具有高可伸缩性,容量可扩展到EB级别,甚至更大。 特性: 所有的组件必须可扩展 不能存在单点故障 解决方案是软件定义的、开源的并且可适配 Ceph软件运行在通用商用硬件之上 所有组件必须尽可能自我管 阅读全文
posted @ 2020-07-02 16:33 elon_wang 阅读(218) 评论(0) 推荐(0) 编辑
摘要: ioctl 是设备驱动程序中设备控制接口函数,通过指定的命令来实现对应的操作。 用户空间 int ioctl(int fd, int cmd, ...) ; cmd: 交互协议,设备驱动将根据 cmd 执行对应操作 ...: 可变参数 arg 驱动程序 long (*unlocked_ioctl) 阅读全文
posted @ 2020-06-18 19:17 elon_wang 阅读(2208) 评论(0) 推荐(0) 编辑
摘要: 元编程 编写一个用来编程的程序(生成代码的程序)。 以元编程来计算指数的例子: template<int B, int N> struct Pow { // 递归 enum{ value = B*Pow<B, N-1>::value }; }; template< int B > struct Po 阅读全文
posted @ 2020-06-17 17:19 elon_wang 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 文件系统 文件系统是一套实现了数据的存储、分级组织、存取和获取等操作的抽象数据类型 。 文件系统是一种用于向用户提供底层数据存取的机制。它将设备中的空间划分为特定大小的块,一般每块512字节。数据存储在这些块中,大小被修正为占用整数个块。由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分 阅读全文
posted @ 2020-06-17 17:00 elon_wang 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 散列表类型 有无关系值 接受相同键值 std::unordered_set 否 否 std::unordered_multiset 否 是 std::unordered_map 是 否 std::unordered_multimap 是 是 std::map和std::unordered_map区别 阅读全文
posted @ 2020-06-10 19:44 elon_wang 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 二元组(pair) 将两个元素合成一个对象,声明: 类模板 : template<class T1,class T2> struct pair 使用first和second来访问其中的两个元素,用make_pair()来构造 。 g_map_file.insert(std::pair<std::st 阅读全文
posted @ 2020-06-10 19:43 elon_wang 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 内存模型 一般来说,内存模型可以分为静态内存模型和动态内存模型 静态内存模型 主要是类对象在内存中的布局,也就是类成员在内存中是如何存放的。 动态内存模型 从行为方面来看,多个线程对同一对象同事读写时所作的约束。涉及了内存、Cache、CPU各个层次的交互,尤其是在多核系统中为了保证多线程下执行的正 阅读全文
posted @ 2020-06-02 19:30 elon_wang 阅读(226) 评论(0) 推荐(0) 编辑
摘要: C++ 03: 字符“12.5”能被编译器解释为数值为12.5的double类型字面值,但是添加后缀f例如12.5f将创建一个float类型的值。数字的后缀修饰符是由C规范固定的,C 03不能创建新的字面修饰符。 C++ 11: C++ 11使用户能够定义新的字面修饰符,利用自定义的修饰符完成由字面 阅读全文
posted @ 2020-06-02 19:28 elon_wang 阅读(390) 评论(0) 推荐(0) 编辑
摘要: char* c = NULL; C:NULL表示空指针,NULL可以被定义为 ((void*)0)或是0 。 C++不允许将void*隐式转换为其他类型的指针,这样定义: #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NUL 阅读全文
posted @ 2020-05-25 19:39 elon_wang 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 提出问题: struct Base { virtual void some_func(); }; struct Derived : Base { void some_func(); //重写 }; Derived::some_func 的真实意图?? 真的重写?意外写了同名的函数?基类中加了相同的签 阅读全文
posted @ 2020-05-25 19:36 elon_wang 阅读(580) 评论(0) 推荐(0) 编辑