频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Linux内核的一些算法

来源: 作者: 出处:巧巧读书 2007-08-15 进入讨论组
访问 http://www.qqread.com/linux/2007/08/y326120.html

  1.Linux 调度

  I/O消耗型和处理器消耗型进程(保证及时的IO响应和高效的CPU利用率)负载平衡:每颗CPU上有一个进程队列,当CPU的负载差大于25%时运行负载平衡程序。(从最忙的CPU上取下一个优先级最高且CPU亲和力最小的进程到负载最轻的CPU进程队列中)。

  为什么要取优先级最高的进程呢?
  因为把优先级高的进程平均分配到各个CPU上去才能使系统的性能达到最高。CPU的亲和力:主要是高速缓存或是其它原因,如某个进程只能在某个CPU上运行。

  2.中断处理程序与线程的不同之处。

  1、中断中不能睡眠。

  2、中断上下文具有较严格的时间限制,因为它打断了正在运行的线程。

  3、中断处理程序不具有自己的栈,它共享被中断线程的栈,因此在分配一个任务栈要注意比实际需求的要大一点,以防中断发生时,中断程序使用栈时溢出。

  3. 自旋锁:主要特点,与等待一个信号量不同的是它在得不到想要的资源时进程不会睡眠。

  4. 引入读写自旋锁。读写自旋锁减少了锁的粒度。

  5.slab层:优化动态内存分配,(将相同大小的动态内存分配和释放放到一个连续的内存区,这样就不会产生内存碎片,因为每次分配刚好是一个单位,每次释放也刚好是一个单位,比如用在进程控制块的动态分配与释放中)。

  6. 磁盘块I/O操作:使用Linux电梯算法,在磁盘底层操作时将磁盘块IO请求按磁道排序,以减少磁头寻迹时间而优化磁盘IO操作。

  7.使用页高速缓存和页回写,优化文件系统。

更多文章 更多内容请看Linux集群技术体验Linux的音影世界Linux驱动大全专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章