个人微薄: weibo.com/manuscola
发布时间:2013-02-26 22:45:53
前言上一篇博文介绍了GRUB源码的stage1.S会汇编成一段446字节的sourcecode,stage1,grub会将这个stage1放入MBR中。我们通过分析,知道这段代码的唯一作用就是将第二个扇区(0柱面 0 磁道 2扇区)处的512字节加载到内存中去。一个问题就来了这个512个字节是从何而来,这512个字节又意欲何为?江湖上风传已久的stage1.5是.........【阅读全文】
发布时间:2013-02-24 15:31:22
GRUB 启动分析引言玩Linux的人,肯定会听说过Grub这个神奇的东西,就是开机启动时候下拉一个菜单让我们选操作系统的那个东东。自己比较懒,一直没深入琢磨这个Grub的工作原理流程。最近工作遇到了Grub相关的问题,就花了一些时间学习了一下Grub。闲言少叙。我们首先看下Linux的启动过程流程图:这个流程图是大牛M. Tim.........【阅读全文】
发布时间:2013-02-09 10:16:07
引子前两天我们QA发现了一个比较有意思的bug,我细细分析一下,发现多个进程卡死在一个·配置文件上。简单的说,我们为了防止多个进程同时写同一个配置文件,将文件格式破坏,我们用了flock,对于写打开,同时调用flock 系统调用,LOCK_EX方式。当然了由于持有锁,就必须临界区要小,写完之后,尽量释放,持有锁的期.........【阅读全文】
发布时间:2013-02-02 16:05:47
LISP之hash tablehash table是一个非常重要的数据结构,虽然我们学习过很多数据结构,但是,hash table使用的场景是最多的。hash table 提供了一种key-value的信息组织形式,完美情况下,我们可以常数时间获取到任何一个我们需要的信息条目,哪怕存储有上百万的信息条目。片汤话我也不多说了,本文介绍下LISP对hash t.........【阅读全文】