2008-05-03

内存管理的经典算法Buddy

关键字: buddy 内存管理 linux
Buddy算法,内存管理的经典算法,主要的目的就是减少内存碎片,增加内存的使用率,在unix和linux中都是使用该算法进行内存分配管理。 以linux为例,在linux中,系统会分配一块free_area的数组,该数组的元素为一内存页块,每向上一级,页块的大小成倍增长,既:1、2、4、8、16、32、64、128….2n,如下图: 内存分配: 当进程向系统请求空间时,内存管理系统将在free_area数组中寻找大小适合空闲块,比如需要分配一块512K的空间,系统会在free_area中寻找大小为512K的快,假设首个内存页块大小为4K,则内核会寻找大小是第一个元素1 ...
2008-04-19

HASH表原理

关键字: hash 哈希表
今天由于天气不好,整天就闷在家里无所事事,偶然间想起前段时间与一个朋友讨论的问题,就是关于哈希函数以及哈希表使用上的,而他对哈希表的理解却是一塌糊涂,当时由于比较忙,也没有仔细与他具体讨论此问题,趁今天有空就想将关于哈希表的概念简单的写一下,其实我知道虽然很多朋友在开发的过程中经常使用哈希表,但是实际上对于哈希表原理理解的应该很少,希望在此能让各位朋友对哈希表有所了解。 言归正传,哈希表又名散列表,其主要目的是用于解决数据的快速定位问题。考虑如下一个场景。 一列键值对数据,存储在一个table中,如何通过数据的关键字快速查找相应值呢?不要告诉我一个个拿出来比较key ...
calmness
搜索本博客
我的相册
存档
最新评论