女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>基于新信號(hào)量策略的實(shí)時(shí)提升技術(shù)分析

基于新信號(hào)量策略的實(shí)時(shí)提升技術(shù)分析

2017-10-23 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 1 操作系統(tǒng)對(duì)實(shí)時(shí)性能的影響
  操作系統(tǒng)從誕生發(fā)展到現(xiàn)代經(jīng)歷了批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)等演進(jìn)過程,具有多樣化特征,派生出不同分支。其中,實(shí)時(shí)性是操作系統(tǒng)的重要特性,它要求在規(guī)定的時(shí)間窗口內(nèi)邏輯正確地完成規(guī)定的任務(wù),具有及時(shí)性、交互性、多路性、獨(dú)立性等特點(diǎn)[1]。操作系統(tǒng)的實(shí)時(shí)性主要取決于I/O管理中的異步方式、內(nèi)存管理中的頁中斷機(jī)制、線程管理中的內(nèi)核代碼是否可搶占、資源管理中的信號(hào)量策略以及中斷延遲和時(shí)鐘精度等硬件支撐結(jié)構(gòu)[2]。由于多線程系統(tǒng)中線程對(duì)公共資源的爭(zhēng)奪,資源的有效管理成為提升系統(tǒng)實(shí)時(shí)性能的重要因素,而信號(hào)量是管理公共資源的經(jīng)典方式,所以,信號(hào)量設(shè)計(jì)是影響系統(tǒng)實(shí)時(shí)性的基礎(chǔ)設(shè)計(jì)。本文重點(diǎn)論述信號(hào)量策略對(duì)實(shí)時(shí)性能的影響,并以NT內(nèi)核為研究對(duì)象和實(shí)現(xiàn)平臺(tái),分析現(xiàn)有幾種信號(hào)量策略的優(yōu)、缺點(diǎn),提出了一種新策略,在保證系統(tǒng)通用性前提下提升了系統(tǒng)實(shí)時(shí)性。
  2 信號(hào)量策略對(duì)實(shí)時(shí)性能的影響
  荷蘭科學(xué)家設(shè)計(jì)的信號(hào)量算法為線程使用共享資源提供了有效的同步和互斥機(jī)制,NT內(nèi)核中,信號(hào)量(KSEMAPHORE)通過封裝DISPATCHER_HEADER結(jié)構(gòu)實(shí)現(xiàn)計(jì)數(shù)器和等待隊(duì)列,其數(shù)據(jù)結(jié)構(gòu)struct _KSEMA-PHORE{DISPATCHER_HEADER Header LONG Limit}在參考文獻(xiàn)[3]中有詳細(xì)描述,上述結(jié)構(gòu)可簡(jiǎn)略為:
  struct _KSEMAPHORE{LONG SignalState //信號(hào)量
  計(jì)數(shù)器變量
  LIST_ENTRY WaitList} //線程等待隊(duì)列鏈表
  它的操作有創(chuàng)建(CreateSemaphore)、刪除(CloseHandle)、請(qǐng)求(WaitForSingleObject)和釋放(ReleaseSemaphore)信號(hào)量等。
  線程使用資源前需要請(qǐng)求保護(hù)該資源的信號(hào)量,若信號(hào)量計(jì)數(shù)器減1后小于0,內(nèi)核阻塞線程并將其排在信號(hào)量的線程等待隊(duì)列中,同時(shí)啟動(dòng)線程調(diào)度程序?qū)⒂?jì)算資源交給等待運(yùn)行的線程,執(zhí)行請(qǐng)求操作的線程沒有陷入“忙等”,而是“讓權(quán)等待”。若擁有信號(hào)量的線程釋放資源使得計(jì)數(shù)器加1后還小于等于0,則喚醒線程等待隊(duì)列中的等待線程并送線程調(diào)度隊(duì)列。因此,在資源緊張情況下,請(qǐng)求和釋放信號(hào)量會(huì)涉及資源等待隊(duì)列和線程調(diào)度隊(duì)列兩個(gè)隊(duì)列。本文討論資源等待隊(duì)列,對(duì)于資源請(qǐng)求,采用什么策略將線程放入隊(duì)列;對(duì)于資源釋放,采用什么策略把線程從隊(duì)列中取出并放入調(diào)度隊(duì)列。考慮放入與取出線程時(shí)同時(shí)采用策略的復(fù)雜性,固定取出策略從隊(duì)列頭部取出線程,請(qǐng)求時(shí)采取策略將線程放入隊(duì)列,目前有以下三種策略[1]:
  (1)后進(jìn)先出LIFO(Last In First Out),線程請(qǐng)求資源后,若信號(hào)量計(jì)數(shù)器小于0,將線程排在線程等待隊(duì)列的隊(duì)頭。該策略易于實(shí)現(xiàn),線程等待隊(duì)列只需一個(gè)單鏈表即可,這種“后來先服務(wù)”的方式還可以利用CPU緩存TLB(Tanslation Lookaside Buffer)中存在的剛被掛起線程的頁表數(shù)據(jù),不必更新緩存,提高了運(yùn)行速度。但是,后進(jìn)先出方式讓最先被掛起的線程鮮有被服務(wù),若獲得資源的線程高頻率請(qǐng)求資源,會(huì)導(dǎo)致最先請(qǐng)求資源的線程由于長(zhǎng)時(shí)間處在隊(duì)尾得不到服務(wù)導(dǎo)致“餓死”(Starva-tion),使得一些線程頻繁調(diào)度,而一些線程很少被調(diào)度。
  (2)先進(jìn)先出FIFO(First In First Out),線程請(qǐng)求資源后,若信號(hào)量計(jì)數(shù)器小于0,將線程排在線程等待隊(duì)列的隊(duì)尾。該策略克服了線程的“餓死”現(xiàn)象,對(duì)資源有請(qǐng)求的線程都能公平地占有資源,請(qǐng)求隊(duì)列調(diào)度均衡化,從策略角度來看,所有線程都整齊劃一無差別。這種先來先服務(wù)的方式?jīng)]有考慮線程的其他因素,例如,對(duì)時(shí)間緊要程度的要求不同,有實(shí)時(shí)線程和一般線程之分,如果對(duì)實(shí)時(shí)線程和一般線程都采用先進(jìn)先出方式,那么實(shí)時(shí)線程的實(shí)時(shí)性將大幅降低,特別在等待隊(duì)列中已有很多線程的情況下,實(shí)時(shí)線程只有等待前面所有線程釋放信號(hào)量后才能得到調(diào)度,造成不必要的延時(shí)。信號(hào)量的數(shù)據(jù)結(jié)構(gòu)和操作也要復(fù)雜一些,需要一個(gè)隊(duì)尾指針。
  (3)基于優(yōu)先級(jí)隊(duì)列Priority,線程請(qǐng)求資源后,若信號(hào)量計(jì)數(shù)器小于0,則將線程根據(jù)其優(yōu)先級(jí)排在線程等待隊(duì)列的相應(yīng)位置。該策略克服了先進(jìn)先出的均衡化調(diào)度缺點(diǎn),使優(yōu)先級(jí)高的線程始終處在隊(duì)列的隊(duì)首,搶占優(yōu)先級(jí)低的線程;線程可根據(jù)時(shí)間特性來確定它的優(yōu)先級(jí)并排隊(duì),提高了線程的實(shí)時(shí)性。然而這種方式也有其不足,優(yōu)先級(jí)低的線程始終得不到調(diào)度,同樣會(huì)導(dǎo)致“餓死”。如果系統(tǒng)中有大量線程爭(zhēng)搶稀有資源,排隊(duì)過程還會(huì)引入隊(duì)列的搜索時(shí)間。
  這就需要一種策略,對(duì)于具有很強(qiáng)時(shí)效性的實(shí)時(shí)線程使用優(yōu)先級(jí)排隊(duì),對(duì)于一般線程按照先進(jìn)先出排隊(duì)。由于實(shí)時(shí)線程很少,配合哈希(Hash)表分類實(shí)時(shí)線程(如圖1虛直線上部分所示)基本不會(huì)引入搜索時(shí)間。
  3 基于Priority和FIFO結(jié)合的信號(hào)量策略
  針對(duì)優(yōu)先級(jí)隊(duì)列過分強(qiáng)調(diào)高優(yōu)先級(jí)線程的缺點(diǎn)和先進(jìn)先出隊(duì)列過分強(qiáng)調(diào)平均的缺點(diǎn),本文提出基于優(yōu)先級(jí)和先進(jìn)先出隊(duì)列結(jié)合的排隊(duì)策略,同時(shí)兼顧實(shí)時(shí)線程的強(qiáng)實(shí)時(shí)要求和一般線程的公平要求。
  NT內(nèi)核將用戶線程以一對(duì)一方式映射到內(nèi)核中,并基于優(yōu)先級(jí)調(diào)度內(nèi)核線程,內(nèi)核將優(yōu)先級(jí)從低到高分為32級(jí),0~15級(jí)為一般線程,16~31級(jí)為實(shí)時(shí)線程。本文將這種線程調(diào)度隊(duì)列的分級(jí)方式見之于信號(hào)量的等待隊(duì)列,如圖1虛直線上部分所示,把線程等待隊(duì)列構(gòu)造成一個(gè)長(zhǎng)度為17、類型為L(zhǎng)IST_ENTRY的哈希(Hash)指針數(shù)組,數(shù)組1~16根據(jù)優(yōu)先級(jí)排列同一級(jí)別的實(shí)時(shí)線程,數(shù)組0根據(jù)先進(jìn)先出排列一般線程。線程請(qǐng)求資源后,若信號(hào)量計(jì)數(shù)器小于0,且線程優(yōu)先級(jí)小于16,則將該線程按照先進(jìn)先出策略排在線程等待隊(duì)列的隊(duì)尾;若線程優(yōu)先級(jí)大于等于16,則按照優(yōu)先級(jí)排列該線程。當(dāng)線程釋放資源時(shí),若信號(hào)量計(jì)數(shù)器小于0,內(nèi)核應(yīng)先從優(yōu)先級(jí)隊(duì)列中搜索掛起線程,再從先進(jìn)先出隊(duì)列中搜索掛起線程。
  基于新信號(hào)量策略的實(shí)時(shí)提升技術(shù)分析
  4 新信號(hào)量策略在NT內(nèi)核中的實(shí)現(xiàn)及結(jié)果分析
  為了兼容操作系統(tǒng)上層軟件,本文僅修改“請(qǐng)求”函數(shù)的代碼而不改變現(xiàn)有信號(hào)量的數(shù)據(jù)結(jié)構(gòu),將圖1虛直線上部分描述的新信號(hào)量策略映射到虛直線下,把優(yōu)先級(jí)隊(duì)列和先進(jìn)先出隊(duì)列融合到一個(gè)隊(duì)列中,隊(duì)列的前半部分是優(yōu)先級(jí)隊(duì)列,由指針FLINK指定,后半部分為先進(jìn)先出隊(duì)列,由指針BLINK指定,這種復(fù)合型隊(duì)列同時(shí)具備優(yōu)先級(jí)和先進(jìn)先出隊(duì)列的優(yōu)點(diǎn),體現(xiàn)了“一個(gè)隊(duì)列兩種策略”。線程請(qǐng)求資源后,若信號(hào)量計(jì)數(shù)器小于0,且線程的優(yōu)先級(jí)小于16,按照先進(jìn)先出策略將線程排在BLINK指向的先進(jìn)先出隊(duì)列隊(duì)尾;若線程的優(yōu)先級(jí)大于等于16,則將線程按照優(yōu)先級(jí)策略在FLINK指向的優(yōu)先級(jí)隊(duì)列中搜索相應(yīng)的位置,找到小于優(yōu)先級(jí)隊(duì)列中的線程并放在該線程之后。當(dāng)線程釋放資源時(shí),若信號(hào)量計(jì)數(shù)器小于0,由于線程已經(jīng)根據(jù)策略放入恰當(dāng)?shù)奈恢茫瑑?nèi)核只需要從KSEMAPHORE→WaitList→FLINK取出第一個(gè)線程送往線程調(diào)度隊(duì)列即可
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)