總結關(guān)于Linux內核的一些算法

發(fā)布時(shí)間:2016-1-10 16:43    發(fā)布者:zzxydedu118
關(guān)鍵詞: Linux , 內核
1.Linux 調度
    I/O消耗型和處理器消耗型進(jìn)程(保證及時(shí)的IO響應和高效的CPU利用率)負載平衡:每顆CPU上有一個(gè)進(jìn)程隊列,當CPU的負載差大于25%時(shí)運行負載平衡程序。(從最忙的CPU上取下一個(gè)優(yōu)先級最高且CPU親和力最小的進(jìn)程到負載最輕的CPU進(jìn)程隊列中)。
    為什么要取優(yōu)先級最高的進(jìn)程呢?
    因為把優(yōu)先級高的進(jìn)程平均分配到各個(gè)CPU上去才能使系統的性能達到最高。CPU的親和力:主要是高速緩存或是其它原因,如某個(gè)進(jìn)程只能在某個(gè)CPU上運行。
    2.中斷處理程序與線(xiàn)程的不同之處。
    1、中斷中不能睡眠。
    2、中斷上下文具有較嚴格的時(shí)間限制,因為它打斷了正在運行的線(xiàn)程。
    3、中斷處理程序不具有自己的棧,它共享被中斷線(xiàn)程的棧,因此在分配一個(gè)任務(wù)棧要注意比實(shí)際需求的要大一點(diǎn),以防中斷發(fā)生時(shí),中斷程序使用棧時(shí)溢出。
    3. 自旋鎖:主要特點(diǎn),與等待一個(gè)信號量不同的是它在得不到想要的資源時(shí)進(jìn)程不會(huì )睡眠。
    4. 引入讀寫(xiě)自旋鎖。讀寫(xiě)自旋鎖減少了鎖的粒度。
    5.slab層:優(yōu)化動(dòng)態(tài)內存分配,(將相同大小的動(dòng)態(tài)內存分配和釋放放到一個(gè)連續的內存區,這樣就不會(huì )產(chǎn)生內存碎片,因為每次分配剛好是一個(gè)單位,每次釋放也剛好是一個(gè)單位,比如用在進(jìn)程控制塊的動(dòng)態(tài)分配與釋放中)。
    6. 磁盤(pán)塊I/O操作:使用Linux電梯算法,在磁盤(pán)底層操作時(shí)將磁盤(pán)塊IO請求按磁道排序,以減少磁頭尋跡時(shí)間而優(yōu)化磁盤(pán)IO操作。
    7.使用頁(yè)高速緩存和頁(yè)回寫(xiě),優(yōu)化文件系統。

本文地址:http://selenalain.com/thread-159896-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页