关于Linux内核的一些算法
来源:互联网 发布:淘宝网购物下载 编辑:程序博客网 时间:2024/06/05 15:35
总结关于Linux内核的一些算法
为什么要取优先级最高的进程呢?
因为把优先级高的进程平均分配到各个CPU上去才能使系统的性能达到最高。CPU的亲和力:主要是高速缓存或是其它原因,如某个进程只能在某个CPU上运行。
2.中断处理程序与线程的不同之处。
1、中断中不能睡眠。
2、中断上下文具有较严格的时间限制,因为它打断了正在运行的线程。
3、中断处理程序不具有自己的栈,它共享被中断线程的栈,因此在分配一个任务栈要注意比实际需求的要大一点,以防中断发生时,中断程序使用栈时溢出。
3.自旋锁:主要特点,与等待一个信号量不同的是它在得不到想要的资源时进程不会睡眠。
4.引入读写自旋锁。读写自旋锁减少了锁的粒度。
5.slab层:优化动态内存分配,(将相同大小的动态内存分配和释放放到一个连续的内存区,这样就不会产生内存碎片,因为每次分配刚好是一个单位,每次释放也刚好是一个单位,比如用在进程控制块的动态分配与释放中)。
6.磁盘块I/O操作:使用Linux电梯算法,在磁盘底层操作时将磁盘块IO请求按磁道排序,以减少磁头寻迹时间而优化磁盘IO操作。
7.使用页高速缓存和页回写,优化文件系统。
转自
http://www.eechina.com/thread-159896-1-1.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.使用页高速缓存和页回写,优化文件系统。
0 0
- 关于Linux内核的一些算法
- Linux 内核的一些算法
- Linux 内核的一些算法
- 关于linux+内核的一些资料
- Linux内核关于多核的一些配置
- 关于Linux内核的一些问题
- 关于在linux下编译内核出现的一些问题
- linux内核中的一些关于中断的宏定义
- linux 内核的一些特性
- [linux]linux内核的一些笔记
- 关于linux内核的学习
- 关于Linux 内核的下载
- 关于linux 的内核抢占
- 关于linux内核的学习
- 关于内核调试的一些方法
- 关于内核调试的一些方法
- 关于浏览器内核的一些概念
- 关于浏览器内核的一些概念
- 新手策划面试常见踩雷区
- SAP--用BAPI-实现销售订单修改-Cond-Value
- iMX6 USB OTG功能开发与测试
- BlockChain 与 Ethereum 介绍
- 工程师写Code的聪明省力法
- 关于Linux内核的一些算法
- 频道与菜单栏关联-----fragment
- 频道与菜单栏关联----频道界面
- 程序员离职后的代码没人敢接手 :15 张令人喷饭的 IT 趣图
- 最常用的HTML标签 总结整理
- 以太坊的POS共识机制(一)友善的小精灵 Casper
- 图像类型间的转换
- NYOJ A Famous Music Composer
- 很棒的jQuery文件上传插件