qqwx

导航

2015年8月6日 #

bitcask

摘要: Bitcask模型是一种日志型kv模型。所谓日志型,是指它不直接支持随机写入,而是像日志一样支持追加操作。Bitcask模型将随机写入转化为顺序写入。任意时刻,系统中只有一个数据文件支持写入,称为active data file。其余的数据文件都是只读文件,称为older data file。即所有... 阅读全文

posted @ 2015-08-06 21:02 qqwx 阅读(570) 评论(0) 推荐(0) 编辑

求整型中二进制1的个数

摘要: 1. 确定二进制1的个数:->循环死&->x-1&x->查表,分写死与动态生成,动态生成方法:BitsSetTable256[i] = (i &1) + BitsSetTable256[i /2];->并行位运算: int BitCount4(unsigned int n){ n = (n &0x... 阅读全文

posted @ 2015-08-06 20:34 qqwx 阅读(344) 评论(0) 推荐(0) 编辑

2015年8月3日 #

configure.ac:32: error: possibly undefined macro: AC_DEFINE

摘要: 在ubuntu 下编译snappy时,在检查依赖关系时,处理autoconf的包时,在相关依赖包都已经安装的情况下,报如下错误,死活不过。configure.ac:32: error: possibly undefined macro: AC_DEFINE几经辗转,在stackoverflow上找到... 阅读全文

posted @ 2015-08-03 21:21 qqwx 阅读(1675) 评论(0) 推荐(0) 编辑

2011年1月18日 #

ttt 2011-01-18 11:49 71人阅读 评论(0) 收藏

摘要: beginqqq 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文

posted @ 2011-01-18 11:49 qqwx 阅读(90) 评论(0) 推荐(0) 编辑

2010年3月2日 #

19(终). 系统启动 2010-03-02 13:00 191人阅读 评论(0) 收藏

摘要: 启动指把一部分OS装入主存并让CPU执行,也表示内核数据结构的初始化等。启动很大程度上依赖于体系结构,以下以80x86为例。1. 史前时代加电后,RAM中数据是随机的,首先,复位电路开动,在CPU某脚上产生RESET。它会将cs、eip等Regs设置成固定值,随后,它开始从物理地址0xfffffff... 阅读全文

posted @ 2010-03-02 13:00 qqwx 阅读(145) 评论(0) 推荐(0) 编辑

18. 程序的执行 2010-03-02 12:56 131人阅读 评论(0) 收藏

摘要: “程序”以可执行文件的形式存于磁盘,它包含执行函数的目标代码与其它数据。其中部分函数包含在称为“库”的特殊函数中。一个库中函数的目标代码可被静态拷到可执行文件中或是在运行时连接进来。装入并运行一程序时,用户可提供两种影响程序执行的信息:命令行参数与环境变量。main(int argc, char ... 阅读全文

posted @ 2010-03-02 12:56 qqwx 阅读(157) 评论(0) 推荐(0) 编辑

17. 进程间通信 2010-03-02 12:49 191人阅读 评论(0) 收藏

摘要: 前述,可将数据存放在使用锁保护的临时文件中即可实现一定意义上的共享数据,但此方法代价高,所以unix内核都包含了一组系统调用,这些系统调用不用与文件系统打交道就可支持进程间通信,分析常见的通信方式:1. 管道:它被视为文件,但在已安装的文件系统中无相应映射,POSIX只定义了半双工管道,但有些un... 阅读全文

posted @ 2010-03-02 12:49 qqwx 阅读(170) 评论(0) 推荐(0) 编辑

2010年2月28日 #

16. 页框回收 2010-02-28 22:56 591人阅读 评论(0) 收藏

摘要: 系统负载较低时,RAM大部分由磁盘高速缓存占用。负载增加时,RAM大部分则由进程页占用,高速缓存会缩小从而给进程让出空间,之前的所有内存管理并未释放页。Linux内核的页框回收算法(PFRA)采用从用户态进程和内核缓存“窃取”页框以补充伙伴系统空闲块列表。 回收的第一步是选择目标页,按页框可分为... 阅读全文

posted @ 2010-02-28 22:56 qqwx 阅读(216) 评论(0) 推荐(0) 编辑

15. 访问文件 2010-02-28 22:55 129人阅读 评论(0) 收藏

摘要: 访问文件较复杂,涉及VFS、块设备处理、磁盘高速缓存。有规范模式、同步模式、内存映射、直接I/O、异步。Read、write系统调用会最终调用相应的服务例程,在其中调用文件对象的read、write方法,确定数据的物理位置,激活驱动程序传输数据。普通文件以相邻扇区成组存放在磁盘上,因此很少移动磁头... 阅读全文

posted @ 2010-02-28 22:55 qqwx 阅读(158) 评论(0) 推荐(0) 编辑

14. 页高速缓存 2010-02-28 21:10 322人阅读 评论(0) 收藏

摘要: 绝大多数情况,内核读写磁盘时都引用页高速缓存。因为内核的数据与代码不从磁盘读。所以页高速缓存一般为以下类型:普通文件数据的页、目录的页、直接从块设备文件读出的页等。页高速缓存中每个页包含的数据肯定属于某个文件,这个文件叫做它的所有者。若非O_DIRECT标志被置位,所有文件读写都依赖于高速缓存。页... 阅读全文

posted @ 2010-02-28 21:10 qqwx 阅读(120) 评论(0) 推荐(0) 编辑