我是一只小小鸟
全部博文(184)
发布时间:2014-11-10 15:56:04
linux的主流文件系统(如ext4等),在文件系统持续比较满,且需要经常删改文件时,会产生大量文件碎片,使得磁盘io性能大幅下降。通过一些简单的优化,就可以让磁盘io得到数倍的提升。
另外对于互联网图片服务器,通过将同一页面的多个图片合并,或整理到连续磁盘空间,也可以得到数倍的io性能提升......【阅读全文】
发布时间:2014-11-10 12:52:02
自旋锁自旋锁是内核中最基础的锁机制。自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元持有,调用者就一直循环在那里看是否该自旋锁的持有者已经释放了锁,"自旋"一词就是因此而得名。自旋锁适用于锁使用者保持锁时间比较短的情况。使用自旋锁需要注意有可能造成的死锁情况: .........【阅读全文】
发布时间:2014-11-10 12:48:52
slab/kmalloc/vmalloc都是内核分配虚拟地址空间的方法,不是物理地址的方法 get_free_page/allocate_page这些都是内核分配物理空间的,但是最终又要重新映射为虚拟地址空间vremap 用户态的虚拟地址空间的分配是new/malloc,最终都是要到.........【阅读全文】
发布时间:2014-11-10 12:48:32
我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。当然,Linux也是从2.1.x内核开始才对链表进行了这样的统一,和我们目前看到的样.........【阅读全文】