浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » D S P

內(nèi)核和進(jìn)程調(diào)度

發(fā)布時間:2012/4/3 0:31:30 訪問次數(shù):1270

    MantisOS使用了類似于UNIX的進(jìn)程調(diào)度模式,提供基于NJM2902V(TE1)優(yōu)先級的多線程調(diào)度和同一優(yōu)先級中進(jìn)行輪轉(zhuǎn)調(diào)度服務(wù)。它的運(yùn)行時間片是可配置的,目前設(shè)置為lOms。MantisOS也支持互斥信號量和計(jì)數(shù)信號量。MantisOS在邏輯上把RAM分配成兩部分:一部分是在編譯時分配給全局變量的,另一部分以堆的形式管理。當(dāng)系統(tǒng)創(chuàng)建一個新的線程時,內(nèi)核就從堆中分配堆?臻g,當(dāng)線程結(jié)束喇,空間又被歸還給堆。
    內(nèi)核主要的全局?jǐn)?shù)據(jù)結(jié)構(gòu)是線程表,每個線程有一個條目。當(dāng)線程表靜態(tài)分配后,擁有指定的最大線程數(shù)和指定大小的存儲單元。在編譯時,最大線程數(shù)是可以動態(tài)調(diào)整的(默認(rèn)是12)。每個線程表?xiàng)l目是10B(包含一個當(dāng)前棧指針、棧邊界信息(基本指針和大小)、指向線程開始函數(shù)的指針、目前線程狀態(tài)、當(dāng)前線程的掛起狀態(tài)、線程優(yōu)先級、線程的休眠時間、端口號(只用于網(wǎng)絡(luò)接收)和指向下一線程的指針)。線程有5種狀態(tài):空閑、運(yùn)行、就緒、阻塞、休眠。線程的阻塞狀態(tài)有兩種:阻塞空閑狀態(tài)和阻塞休眠狀態(tài)。MOS為線程設(shè)置了5種不同的優(yōu)先級:內(nèi)核級優(yōu)先級、休眠級優(yōu)先級、高優(yōu)先級、正常級優(yōu)先級、空閑優(yōu)先級。當(dāng)線程掛起時,線程的上下文環(huán)境(包括保存的寄存器值)存儲在它的棧中(這非常重要)因?yàn)榫程的上下文環(huán)境比線程表?xiàng)l目要大得多,當(dāng)線程分配時,它只需要存儲起來即可,所示線程表的靜態(tài)開銷炅有120B。
    內(nèi)核還為每一個優(yōu)先級別的線程保存表頭和表尾指針(默認(rèn)為SB大小,總共20B),可方便快速增加和刪除。這樣一來,當(dāng)操作線程鏈表時,可提高性能,因?yàn)檫@些操作很頻繁,并且時常與中斷一起發(fā)生。內(nèi)核還包括一個2B大小的當(dāng)前線程指針、1B大小的中斷狀態(tài),1B大小的標(biāo)志位。這樣,進(jìn)程調(diào)度表總的靜態(tài)開銷大小是144B。
    MOS也可以使用信號量機(jī)制,應(yīng)用程序可以根據(jù)自己的需要在程序中聲明。信號量是一個5B的結(jié)構(gòu),包含計(jì)數(shù)器字節(jié)(或稱為“鎖”)、頭指針、尾指針。在任何特定的時間中,任何一個線程要么屬于一個就緒列表,要么屬于信號量列表的。
    系統(tǒng)在以下情況會引發(fā)上下文環(huán)境的切換:調(diào)度器接收到一個來自硬件的定時器中斷、系統(tǒng)調(diào)用、信號量的操作。定時器中斷是唯一由內(nèi)核處理的中斷——其他硬件中斷被直接發(fā)送到相關(guān)設(shè)備驅(qū)動中進(jìn)行處理。設(shè)備驅(qū)動在接收到中斷后拋出一個信號量,用以激活一個等待線程,該線程處理導(dǎo)致該事件產(chǎn)生的中斷。
    除了驅(qū)動線程和用戶線程外,還有一個由內(nèi)核在啟動時創(chuàng)建的idle線程,idle線程的優(yōu)先級很低(只有其他線程阻塞時才運(yùn)行)。idle線程可以檢測CPU的利用情形,并且調(diào)整內(nèi)核參數(shù)以節(jié)約能量。
    MantisOS使用了類似于UNIX的進(jìn)程調(diào)度模式,提供基于NJM2902V(TE1)優(yōu)先級的多線程調(diào)度和同一優(yōu)先級中進(jìn)行輪轉(zhuǎn)調(diào)度服務(wù)。它的運(yùn)行時間片是可配置的,目前設(shè)置為lOms。MantisOS也支持互斥信號量和計(jì)數(shù)信號量。MantisOS在邏輯上把RAM分配成兩部分:一部分是在編譯時分配給全局變量的,另一部分以堆的形式管理。當(dāng)系統(tǒng)創(chuàng)建一個新的線程時,內(nèi)核就從堆中分配堆棧空間,當(dāng)線程結(jié)束喇,空間又被歸還給堆。
    內(nèi)核主要的全局?jǐn)?shù)據(jù)結(jié)構(gòu)是線程表,每個線程有一個條目。當(dāng)線程表靜態(tài)分配后,擁有指定的最大線程數(shù)和指定大小的存儲單元。在編譯時,最大線程數(shù)是可以動態(tài)調(diào)整的(默認(rèn)是12)。每個線程表?xiàng)l目是10B(包含一個當(dāng)前棧指針、棧邊界信息(基本指針和大。⒅赶蚓程開始函數(shù)的指針、目前線程狀態(tài)、當(dāng)前線程的掛起狀態(tài)、線程優(yōu)先級、線程的休眠時間、端口號(只用于網(wǎng)絡(luò)接收)和指向下一線程的指針)。線程有5種狀態(tài):空閑、運(yùn)行、就緒、阻塞、休眠。線程的阻塞狀態(tài)有兩種:阻塞空閑狀態(tài)和阻塞休眠狀態(tài)。MOS為線程設(shè)置了5種不同的優(yōu)先級:內(nèi)核級優(yōu)先級、休眠級優(yōu)先級、高優(yōu)先級、正常級優(yōu)先級、空閑優(yōu)先級。當(dāng)線程掛起時,線程的上下文環(huán)境(包括保存的寄存器值)存儲在它的棧中(這非常重要)因?yàn)榫程的上下文環(huán)境比線程表?xiàng)l目要大得多,當(dāng)線程分配時,它只需要存儲起來即可,所示線程表的靜態(tài)開銷炅有120B。
    內(nèi)核還為每一個優(yōu)先級別的線程保存表頭和表尾指針(默認(rèn)為SB大小,總共20B),可方便快速增加和刪除。這樣一來,當(dāng)操作線程鏈表時,可提高性能,因?yàn)檫@些操作很頻繁,并且時常與中斷一起發(fā)生。內(nèi)核還包括一個2B大小的當(dāng)前線程指針、1B大小的中斷狀態(tài),1B大小的標(biāo)志位。這樣,進(jìn)程調(diào)度表總的靜態(tài)開銷大小是144B。
    MOS也可以使用信號量機(jī)制,應(yīng)用程序可以根據(jù)自己的需要在程序中聲明。信號量是一個5B的結(jié)構(gòu),包含計(jì)數(shù)器字節(jié)(或稱為“鎖”)、頭指針、尾指針。在任何特定的時間中,任何一個線程要么屬于一個就緒列表,要么屬于信號量列表的。
    系統(tǒng)在以下情況會引發(fā)上下文環(huán)境的切換:調(diào)度器接收到一個來自硬件的定時器中斷、系統(tǒng)調(diào)用、信號量的操作。定時器中斷是唯一由內(nèi)核處理的中斷——其他硬件中斷被直接發(fā)送到相關(guān)設(shè)備驅(qū)動中進(jìn)行處理。設(shè)備驅(qū)動在接收到中斷后拋出一個信號量,用以激活一個等待線程,該線程處理導(dǎo)致該事件產(chǎn)生的中斷。
    除了驅(qū)動線程和用戶線程外,還有一個由內(nèi)核在啟動時創(chuàng)建的idle線程,idle線程的優(yōu)先級很低(只有其他線程阻塞時才運(yùn)行)。idle線程可以檢測CPU的利用情形,并且調(diào)整內(nèi)核參數(shù)以節(jié)約能量。
相關(guān)技術(shù)資料
4-3內(nèi)核和進(jìn)程調(diào)度

熱門點(diǎn)擊

 

推薦技術(shù)資料

業(yè)余條件下PCM2702
    PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!