- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 ssd 损耗平衡算法
ssd摆脱了机械寻道的怨念,大幅度的提高了IOPS,但是由于它的材料的物理特性和机制,又带来了2个新的问题,1是大量的写惩罚(可擦除的最小扇区尺寸过大),2就是cell(存储位单位的晶体管)在频繁的充电放电过程中氧化失效。因此采用平衡消耗算法,每次写操作都重定向到一个新的cell区域,使其所有的cell均摊写操作,从而延长整体cell的寿命。(说白了就是大家均摊伤害,要死一起死)下面是
2012-02-03 22:45:18
5565
原创 Egg简介
Egg 是Cooling搜索 的数据存贮与索引平台,用来保存海量的非结构化数据,并提供基于关键字以及语义的高效检索。Egg 的核心理念是构建一套高效的索引机制,把原始的非结构化数据转化成可供检索的数据结构,并提升检索的效率。 Egg是采用典型的NoSQL形式,摒弃了SQL繁琐而冗余的操作,以B+树作为index的依托, 通过key->value来建立高效的倒排
2011-06-14 10:16:00
1027
原创 linux内核学习之likely()和unlikely()
参考资料 : linux内核设计和实现 P13 likely()和unlikely()是内核编译时用于优化 if 判断语句的宏likely()代表优化unlikely()代表不优化一般为了效率 由程序员自己判断if语句里面的内容是否要优化,显然如果if语句里面的内容有很大的概率会执行到就该优化,不然就不必优化if(likely(A != 0)){...}
2010-01-05 12:53:00
506
原创 sturct的一些写法 收集中。。。
这些写法只在linux下实现过 win32没试过,如果有新的写法,希望大家给我留言 谢谢!#define NUM 10typedef struct _example_struct { int start; int size; int used;} example_struct; 1 有点像数组赋值example_struct tmp =
2009-12-30 10:08:00
633
原创 strtok函数的实现
#include#include#includechar *bfstrtok(char *buf, char const *sep){ static char *flag = NULL; static int len = 0; char * retbuf = NULL; if(buf) { len = strlen
2009-10-20 10:27:00
586
转载 configure 错误详解
linux下安装eva qq configure 错误详解 关键字: linux下安装eva qq configure 错误详解./configure错误全搞掂 Tuesday, April 17, 2007, 06:50 PM错误: C compiler cannot create executables
2009-10-19 17:56:00
942
转载 Bloom Filter概念和原理
http://blog.youkuaiyun.com/jiaomeng/archive/2007/01/27/1495500.aspxBloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于
2009-10-14 16:30:00
389
转载 ubuntu安装声卡驱动,很简单,很详细,不是我写的。。。
http://nkevin.blog.163.com/blog/static/448194812009428811196/
2009-08-15 00:11:00
7080
原创 linux :/dev下的一些文件
zero文件:关于这个文件,没什么好说的,zero就代表0,0就是没有,当你在创建一个新文件的时候,它可以用来为你初始化这个文件,因为它等于空,你可以用它把你的文件里面没一个地方都设置成0,就像这样 dd if=/dev/zero of=/dev/fb0 bs=1024 count=768 这样你的fb0从1到1024*768的内容就都为空了 null文件: bit bu
2009-08-01 16:04:00
3520
转载 dev/tty文件详解
文章出处:http://hi.baidu.com/wch20088082008/blog/item/737ac8fd499643f5fc037fae.html 在Unix系统中,文件是其中最重要的资源。如标准输出文件、标准输入文件、标准错误文件等等。不过这些文件普通用户与系统工程师都需要用到。而在实际工作中,对于系统工程师来说,还需要掌握/dev/tty这个文件。 这个文件顾名
2009-07-30 09:50:00
3974
转载 fedora和ubuntu共存问题,修改grub的menu.lst
本来想自己写的,但是网上有一篇写的太详细了,所以就拿过来贴了,呵呵,谢谢作者http://www.linuxsir.org/main/?q=node/129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++++++++++++++++++++++++++
2009-07-12 18:12:00
17071
1
转载 linux time 函数
原文网址: http://hi.baidu.com/joshualmf1984/blog/item/2074d7ca70e51f43f21fe7de.htmlasctimeeHPLinux联盟ctimeeHPLinux联盟gettimeofdayeHPLinux联盟gmtimeeHPLinux联盟localtimeeHPLinux联盟mktimeeHPL
2009-06-23 10:28:00
8053
转载 Automake 创建动态库,静态库和可执行程序的全过程
文章出处:http://hi.baidu.com/greatmanlaukk/blog/item/fbd3e93b48da5de215cecba5.html使用Automake 创建和使用静态库1. 目录结构如下:example|——src 目录(存放源代码文件) |——hello.c|——lib 目录(存放用来生成库的文件) |
2009-06-20 17:01:00
2843
原创 用移位代替“加,减,乘,除”,全面进入移位时代
位操作代替算术运算,是一种高效的方法,在普通的编程当然不必要这么用,但是在嵌入式开发到是很常用的,我在这里举几个例子,纯粹当娱乐哈 减法: 56- 34 int i=56;i = i&(~32)&(~2);解释如下:位运算其实先就是把减数化成 2,4,8,16,32。。。因为这些数字代表内存中一个字节的1,2,3,4,5位。。。所以34化成32 + 2,
2009-06-19 00:09:00
1295
转载 C++ 计算代码运行时间的几种方法(转)
有许多专门的测试工具,测试的准确性很高,本文说的是一些简单的测试方法,这些方法多数是记录CPU的运行时间,没有考虑操作系统的分时复用,不过不太严格的情况都可一用。1. #include long start=clock(),end(0);//ToDo:process codeend=clock();long result=(end-start)/10002. win
2009-05-27 23:44:00
1117
1
转载 emacs23 安装全过程(转)
1. 准备工作(1)安装CVS、SSHapt-get install ssh cvs(2)安装texinfo(为了编译man包)sudo apt-get install texinfo(3)安装编译所需的支持包apt-get install libgtk2.0-dev xlibs-dev (GNOME界面相关)apt-get install xserver-xo
2009-05-07 23:12:00
1595
转载 typeof的简介
typeof关键字简介 typeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别: 声明 函数声明符中的参数类型链表和返回类型 类型定义 类型操作符s sizeof操作符 复合文字 typeof实参 编译器接受带双下划线的关键字:__typeof和__ty
2009-05-04 13:02:00
6533
转载 gcc 特性
Linux 内核中的 GCC 特性了解用于 C 语言的 GCC 扩展文档选项<trvalign="top"><td width="8"><img alt="" height="1" width="8"src="//
2009-05-03 20:31:00
508
转载 emacs command 解释
C = ControlM = Meta = Alt|EscBasicsC-x C-f "find" file i.e. open/create a file in bufferC-x C-s save the fileC-x C-w write the text to an alternate nameC-x C-v find alternat
2009-05-03 11:03:00
627
转载 emacs command 大全
Emacs Command SummaryEmacs command summary, Thu Jul 25.C-SP set-mark-command C-q quoted-insertC-a beginning-of-line C-r isearch-backwardC-b backward-char C-s
2009-05-03 11:02:00
689
转载 进程通信————网络套接字
呵呵,原想本篇是这个系列的最后一篇,因为Linux的基础API只提供了这几种进程通信的方法。然而不巧的是,由于我写帖子时的习惯和为人的风格,这几个帖子都没把进程通信的阻塞问题拿出来讨论,而阻塞问题是让大多数人(包括我)干上两三天都调不通进程程序的根本原因所在。另外,我还想根据我自己的经验,写一些关于进程通信数据格式和交互流程的设计方法,按行话说就是通信协议的设计方法。所以,这个帖子是做不成老小儿
2009-05-02 13:32:00
1056
转载 进程通信————本地套接字
唉,从去年开始就和那该死的开发包作战,现在还没完全拿下!有些人和组织自以为自己水平很高,方法很好,弄出一些极其复杂难以掌握的开发包,实在令人郁闷和不齿!还是OSEK组织好,轻量级的API让人倍感亲切,颇有当年周郎“谈笑间,强虏灰飞烟灭”的意思,看来David投对胎了!哈哈,扯了这么多,再来写上一段,估计郁闷烦躁的心情就会变成“春风得意马蹄疾,一日看尽长安花”了!本地套接字的学名叫做文件系
2009-05-02 13:29:00
1895
转载 进程通信————有名管道
无名管道主要用于有亲缘关系的进程通信,其位于外存区域,但在文件系统中不可见。在实际应用中,进程通信往往发生在无关进程之间,此种情形下,若仍想使用管道,则必须使用有名管道,也称命名管道或FIFO文件。这种类型的管道在文件系统中可见,创建时需要指定具体路径和文件名,管道创建之后,可用ls命令查看。在终端中命令行中创建有名管道的方法是使用mkfifo命令,如在/tmp目录下创建名为fifoNam
2009-05-02 13:28:00
906
转载 进程通信————无名管道
Linux进程通信中,最常见、最初级、最简单的就是无名管道了。这个东西比较简单好用,但它最大的局限是只能使用在有亲缘关系的进程中,也就是说只能使用在一个进程和它的一个或多个子进程之间。因此,要了解无名管道,我们必须先说说如何创建一个进程的子进程。Linux操作系统下,创建子进程需要使用fork系统调用,其原形如下:int fork();该系统调用没有参数,返回值是生成的子进程号,若
2009-05-02 13:22:00
1699
原创 五子连珠(vc2005实现)
前些时间照网上一个小游戏做了一个五子连珠 游戏的界面: 下面是我做这个程序的计划,从这个程序开始,我要努力的习惯去写写有关编程的一些计划性的文档,不管多少,都应该坚持写下去。。。///////////////////////////////////////////////////////////////////////////////////
2009-02-22 09:31:00
1422
原创 扫雷游戏(xp版)vc实现
放寒假了,到家里太无聊了,上个礼拜做了一个扫雷游戏,界面和玩法都和XP上的差不多我的程序大致结构是,5个类:banner_num 存储红旗的数据,就是游戏界面左上部的数字那块total_rect 游戏主界面的数据,就是雷格子那块FACE 就界面上那小黄脸TIME 界面右上部的计时器
2009-02-09 19:42:00
1130
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人