在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(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)>電子資料下載>DSP>基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動(dòng)的多核CPU 線程管理

基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動(dòng)的多核CPU 線程管理

2017-10-31 | rar | 0.5 MB | 次下載 | 1積分

資料介紹

1 引言
  本文分析了Windows 系統(tǒng)的進(jìn)程調(diào)度機(jī)制,并設(shè)計(jì)了一種基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動(dòng)的多核CPU 線程管理方法,實(shí)現(xiàn)了一個(gè)基于Windows 內(nèi)核驅(qū)動(dòng)的線程管理服務(wù)系統(tǒng),它能讓用戶根據(jù)每一個(gè)任務(wù)線程對(duì)CPU 資源的需要程度和對(duì)實(shí)時(shí)性的要求,在多核CPU上合理為線程分配CPU 核。
  基于Windows 操作系統(tǒng)內(nèi)核驅(qū)動(dòng)的多核CPU 線程管理
  圖1 Windows 內(nèi)核調(diào)度結(jié)構(gòu)體關(guān)系圖
  2 Windows 系統(tǒng)的進(jìn)程調(diào)度方法分析
  Windows NT 中的每一個(gè)進(jìn)程都是EPROCESS 結(jié)構(gòu)體。此結(jié)構(gòu)體中除了進(jìn)程的屬性之外還引用了其它一些與實(shí)現(xiàn)進(jìn)程緊密相關(guān)的結(jié)構(gòu)體。例如,每個(gè)進(jìn)程都有一個(gè)或幾個(gè)線程,線程在系統(tǒng)中就是ETHREAD 結(jié)構(gòu)體。簡(jiǎn)要描述一下存在于這個(gè)結(jié)構(gòu)體中的主要的信息,這些信息都是由對(duì)內(nèi)核函數(shù)的研究而得知的。首先,結(jié)構(gòu)體中有KPROCESS 結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體中又有指向這些進(jìn)程的內(nèi)核線程(KTHREAD)鏈表的指針(分配地址空間),基優(yōu)先級(jí),在內(nèi)核模式或是用戶模式執(zhí)行進(jìn)程的線程的時(shí)間,處理器affini ty(掩碼,定義了哪個(gè)處理器能執(zhí)行進(jìn)程的線程),時(shí)間片值。在ETHREAD 結(jié)構(gòu)體中還存在著這樣的信息:進(jìn)程ID、父進(jìn)程ID、進(jìn)程映象名。
  在E P R O C E S S 結(jié)構(gòu)體中還有指向P E B 的指針。
  ETHREAD 結(jié)構(gòu)體還包含有創(chuàng)建時(shí)間和退出時(shí)間、進(jìn)程ID 和指向EPROCESS 的指針,啟動(dòng)地址,I/O 請(qǐng)求鏈表和KTHREAD 結(jié)構(gòu)體。在KTHREAD 中包含有以下信息:內(nèi)核模式和用戶模式線程的創(chuàng)建時(shí)間,指向內(nèi)核堆棧基址和頂點(diǎn)的指針、指向服務(wù)表的指針、基優(yōu)先級(jí)與當(dāng)前優(yōu)先級(jí)、指向APC 的指針和指向T E B 的指針。
  KTHREAD 中包含有許多其它的數(shù)據(jù),通過觀察這些數(shù)據(jù)可以分析出KTHREAD 的結(jié)構(gòu)。圖1 描述了這些結(jié)構(gòu)體之間的關(guān)系。
  通過遍歷KPROCESS 結(jié)構(gòu)體中的ETHREAD,找到系統(tǒng)中當(dāng)前所有的KTHREAD 結(jié)構(gòu),這個(gè)結(jié)構(gòu)中的偏移量為0x124 處的Affinity 域(Windows XP sp3)即為設(shè)置CPU 親緣性掩碼的內(nèi)存地址。在此重點(diǎn)解釋CPU 親緣性的概念,CPU 親緣性就是指在系統(tǒng)中能夠?qū)⒁粋€(gè)或多個(gè)進(jìn)程或線程綁定到一個(gè)或多個(gè)處理器上運(yùn)行,這是期待已久的特性。也就是說:" 在1號(hào)處理器上一直運(yùn)行該程序"或者是"在所有的處理器上運(yùn)行這些程序,而不是在0 號(hào)處理器上運(yùn)行"。然后, 調(diào)度器將遵循該規(guī)則,程序僅僅運(yùn)行在允許的處理器上。在Windows 操作系統(tǒng)上,給程序員設(shè)定CPU 親緣性的接口是用一個(gè)32 位的雙字型數(shù)表示的, 它被稱為親緣性掩碼(Affinity bitMask)。親緣性掩碼是一系列的二進(jìn)制位,每一位代表一個(gè)CPU 單元是否可執(zhí)行當(dāng)前任務(wù)。例如一個(gè)在具有四個(gè)CPU 的PC 機(jī)上( 或四核CPU) ,親緣性掩碼的形式的二進(jìn)制數(shù)如下式所示:
  0000000000000000000000000000XXXXB
  其中自右向左,每一位代表0 到31 號(hào)CPU是否可用,由于本機(jī)只有四個(gè)CPU, 所以只有前四個(gè)位可用,X 為1則代表當(dāng)前任務(wù)可執(zhí)行在此位代表的CPU 上,X 為0 則代表當(dāng)前任務(wù)不可執(zhí)行在此位代表的CPU 上, 例如:
  00000000000000000000000000000010B
  代表當(dāng)前任務(wù)只能執(zhí)行在1 號(hào) CPU 上(CPU 下標(biāo)記數(shù)從0 開始),又如0x00000004 代表當(dāng)前任務(wù)只能執(zhí)行在2 號(hào)CPU 上,0x00000003 代表當(dāng)前任務(wù)可以運(yùn)行在0號(hào)和1 號(hào)CPU 上。
  Windows 的進(jìn)程調(diào)度代碼是在它的SySTem 進(jìn)程下的,所以它不屬于任何用戶進(jìn)程上下文。調(diào)度代碼在適當(dāng)?shù)臅r(shí)機(jī)會(huì)切換進(jìn)程上下文,這里的切換進(jìn)程上下文是指進(jìn)程環(huán)境的切換, 包括內(nèi)存中的可執(zhí)行程序, 提供程序運(yùn)行的各種資源。進(jìn)程擁有虛擬的地址空間,可執(zhí)行代碼, 數(shù)據(jù), 對(duì)象句柄集, 環(huán)境變量, 基礎(chǔ)優(yōu)先級(jí), 以及最大最小工作集等的切換。而Windows 最小的調(diào)度單位是線程, 只有線程才是真正的執(zhí)行體,進(jìn)程只是線程的容器。Windows 的調(diào)度程序在時(shí)間片到期,或有切換線程指令執(zhí)行(如Sleep,KeWaitForSingleObject 等函數(shù))時(shí), 將會(huì)從進(jìn)程線程隊(duì)列中找到下一個(gè)要調(diào)度的線程執(zhí)行體,并裝入到KPCR(Kernel ' s Processor CONtr ol Re g i o n , 內(nèi)核進(jìn)程控制區(qū)域) 結(jié)構(gòu)中,CPU 根據(jù)KPCR 結(jié)構(gòu)中的KPRCB 結(jié)構(gòu)執(zhí)行線程執(zhí)行體代碼。而在多核CPU 下,當(dāng)Windows 調(diào)度代碼執(zhí)行時(shí),從當(dāng)前要調(diào)度執(zhí)行的KTHREAD 結(jié)構(gòu)中取出Affinity,并與當(dāng)前PC 機(jī)上的硬件配置數(shù)據(jù)中的CPU 掩碼作與操作,結(jié)果寫入到指定的CPU,例如雙核CPU 的設(shè)備掩碼為0x03,如果當(dāng)前KTHREAD 里的Affinity 為0x01,那么0x01&0x03=0x01,這樣執(zhí)行體線程會(huì)被裝入CPU1的KPRCB 結(jié)構(gòu)中得以執(zhí)行,調(diào)度程序不會(huì)把這個(gè)線程交給CPU2 去執(zhí)行。此過程如圖2 所示。這就是為線程選擇指定CPU 核的原理。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)
主站蜘蛛池模板: 国产毛片毛片精品天天看 | 中文字幕123 | 高清一级做a爱视频免费 | 亚洲综合在线最大成人 | 国产三级日产三级日本三级 | 国产片一级aaa毛片视频 | 久久久久国产精品免费网站 | 日本一区二区不卡视频 | 五月婷婷天 | 色聚网久久综合 | 欧美午夜色大片在线观看免费 | 天天狠天天透天干天天怕处 | 成年人网站在线 | 91亚洲视频在线 | 五月婷婷激情六月 | 狠狠色网站 | 男人操女人免费网站 | 天天摸天天添人人澡 | 三级色图 | se97se成人亚洲网站在线观看 | 五月婷婷婷 | 色婷婷综合在线 | 亚洲五月激情 | 亚洲一卡2卡4卡5卡6卡在线99 | 美女中出视频 | 欧美一区二区三区视频 | 色视频网 | 成 人 a v黄 色 | 色www永久免费视频 色y情视频免费看 | 欧美黑人xxxx猛牲大交 | 欧美激情一欧美吧 | 日本黄色小视频在线观看 | 四虎成人免费影院网址 | 午夜va | 乱e伦有声小说 | 狠狠五月深爱婷婷网免费 | 操香蕉| 日本高清视频成人网www | 国产亚洲人成网站天堂岛 | 可以免费播放的在线视频 | 天天射综合网站 |