分类: LINUX
2006-07-19 23:38:50
1)链表双链表代替单链表示操作系统用内存访问时间换取cpu周期的典型应用。
2)哈希表为了避免访问某个元素就要访问所有的元素,Linux使用了散列表来避免这一恶劣的现象。发明散列表的人真得太伟大了。如果作为一个程序员没有使用过散列表那么你就不是一个真正的程序员。 Linux经常使用散列表来实现高速缓存。高速缓存的缺点就是维护比较麻烦。如果一个数据结构可以在缓存中找到,那么实在太幸运了,但是如果不能那么就要搜索相关的数据结构,如果确实数据存在,那么就要将他加入到缓存中去,在将新的数据结构加入到高速缓存时,就的数据结构就要被淘汰出去,现实是残酷的谁都不能保证现在被淘汰出去的就不是下一次访问所需要的。
3)抽象接口主要用到了函数指针,以及一些面向对象的设计方法和理念。