- 博客(11)
- 资源 (5)
- 收藏
- 关注
翻译 闲话缓存:ZFS 读缓存深入研究-ARC(二)
闲话缓存:ZFS 读缓存深入研究-ARC(二)Solaris ZFS ARC的改动(相对于IBM ARC)如我前面所说,ZFS实现的ARC和IBM提出的ARC淘汰算法并不是完全一致的。在某些方面,它做了一些扩展:· ZFS ARC是一个缓存容量可变的缓存算法,它的容量可以根据系统可用内存的状态进行调整。当系统内存比较充裕的时候,它的容量可以自动增加。当系统内存比较
2013-08-14 14:40:45
1221
翻译 闲话缓存:ZFS 读缓存深入研究-ARC(一)
ZFS 读缓存深入研究:ARC在Solaris ZFS 中实现的ARC(Adjustable Replacement Cache)读缓存淘汰算法真是很有意义的一块软件代码。它是基于IBM的Megiddo和Modha提出的ARC(Adaptive Replacement Cache)淘汰算法演化而来的。但是ZFS的开发者们对IBM 的ARC算法做了一些扩展,以更适用于ZFS的应用场景。ZFS
2013-08-14 14:38:44
1405
原创 闲话缓存:算法
从前面的文章中,我们已经了解到了缓存设计的目标,缓存设计应该考虑的因素。今天我们来看看一系列缓存算法以及它们如何去解决问题的。同时,我们也会涉及到各种缓存算法的优缺点。这里我并不想讨论与预取(pre-fetch)相关的算法,主要是考虑各种淘汰算法。因为相比于预取算法,淘汰算法具有更大的通用性,对缓存好坏影响更大。1. 时间(完全从最近使用的时间角度考虑)a.
2013-08-14 14:36:32
537
原创 如何在模板中引用参数类中的一个特定member
C++模板有很多特性需要我们去挖掘,很多新的设计模式也都与模板使用相关,我们知道模板的一个基本特性就是可以根据传入的类型产生新的类型。围绕这个特性,可以衍生出很多的其它特性,比如自动为不同的类生成static变量,为不同的类型生成不同的行为等等。这篇文章我想讨论的是如何在C++模板中引用传入类的一个特定的成员变量。这个特性在我们设计新型类库的时候,很是有用。我今后想讲解的无内存管理的数据容器就
2013-08-14 14:18:02
512
原创 闲话缓存:算法概述
每当我们讨论缓存时,总是会对如下几个词比较熟悉,Write-back, write-through, write-around似乎,缓存主要是为“写”设计的,其实这是错误的理解,写从缓存中获得的好处是非常有限的,缓存主要是为“读”服务的。之所以我们要顺带提一下,在一个缓存系统中,如何处理写的顺序,是因为,在写的过程中,需要动态的更新缓存(否则就会产生数据不一致性的问题),以及后端主存
2013-08-05 14:40:31
444
转载 write的奥秘——Linux设备驱动程序详解一
write的奥秘coly(李勇)[本站会员] 在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使
2006-08-04 11:10:00
2016
原创 C语言移植的常见问题清单
移植,一个永恒的话题,不过现在似乎被现代语言所解决(如Java,C#),但是在嵌入式领域或其它一些底层的开发中,C语言还是占着主导地位,那么C语言写的应用在移植时通常会遇到什么样的问题呢?这里的条条款款是从《See MIPS RUN》中摘录的,希望能够帮助大家了解一些与C语言移植相关的知识。因为我在好长时间里,也不明白C语言的移植到底要考虑哪些问题,当你了解到这些之后,你在开发需要移植
2006-07-23 19:35:00
1133
5
原创 OOD和软件结构设计原则——依赖倒置原则
依赖倒置原则,我在两本书上看到过,一是《Java模式》,一是《敏捷软件开发》,在看第一本书的时候,看到这条原则,几乎没什么感觉,就知道有这么一条OO设计原则,但是,当我在《敏捷》这本书中阅读到该原则的内容后,就如天窗大亮,大师就是大师,一样的东西竟然写出不一样的味道。 依赖倒置原则,应该从两个方面来理解,一是OOD(面向对象的设计),一是软件结构。
2006-07-21 10:58:00
2986
原创 MFC的精华——读《深入浅出MFC》有感
好多年前就想学习MFC了,但是一直没有时间也没有机会(因为现在主要在做Web和嵌入式Linux平台的开发工作),学习它原先的一个原因就是想彻底地了解我们看到的Windows到底是怎么运行的,它的实现机制是什么,它为什么会有这种效果。但是,当我把深入浅出MFC看完后,却又得到了另外的一些感悟,写出来,大家共勉。 首先,MFC确实是一个相当完整的Applicaton F
2006-07-19 11:57:00
1266
原创 一个奇怪的Java命令行——正则表达式
import java.io.*;import java.util.*;import java.util.regex.*;public class DirList { public static void main(String[] args) { File path = new File("."); String[] list; if(args.length == 0)
2006-07-03 23:02:00
712
原创 如何创建平台库——封装内存管理子系统
1. 摘要我们为什么要给上层应用提供一个自己的平台,而不直接利用已有的操作系统及其附属开发库提供的开发平台呢?这是不是多此一举呢?如果真的需要,那么这些平台又能提供什么样的功能呢?这篇文章降带你领略向上层应用提供自己平台的方法以及提供自己平台的好处。2. 效益为了引起读者的兴趣,我们先来说说自己的平台可以为我们带来哪些可见的效益。首先,现在的操作系统,特别是嵌入式操作系统,
2006-07-03 22:18:00
759
zfs disk layout
2013-10-16
The design and implementation of a Log-Structured file system
2010-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人