Windows操作系统多核CPU内核线程管理方法.pdf

Windows操作系统多核CPU内核线程管理方法.pdf

ID:52398568

大小:354.79 KB

页数:4页

时间:2020-03-27

Windows操作系统多核CPU内核线程管理方法.pdf_第1页
Windows操作系统多核CPU内核线程管理方法.pdf_第2页
Windows操作系统多核CPU内核线程管理方法.pdf_第3页
Windows操作系统多核CPU内核线程管理方法.pdf_第4页
资源描述:

《Windows操作系统多核CPU内核线程管理方法.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机应用《自动化技术与应用》2010年第29卷第1期ComputerApplicationsWindows操作系统多核CPU内核线程管理方法李骥,姜守达。邹昕光\(哈尔滨工业大学自动化测试与控制系,黑龙江哈尔滨150001)摘要:Windows是采用CPU时间片轮转多任务分配机制的非实时操作系统,无法满足实时性要求比较高的任务需要。而随着CPU技术的快速发展,当前市场上双核甚至多核CPU已成为主流,这使得在Windows平台上用多核CPU的某些核独立执行任务,从而有效地提高软件的实时性成为可能。本文介绍一种在Windows内核模

2、式下编写Windows驱动程序,有效分配多核CPU资源从而提高软件实时性的方法。关键词:多核CPU;进程;线程;实时陆中图分类号:TP2316.7文献标识码:A文章编号:1003—7241(2010)01002704Multi..CoreCPUKernel--ModeThreadManagementApproachBasedonWindowsOperatingSystemLIji,JIANGShou-da,ZHOUXi-guangfDepartmentofAutomaticTestandControl,HarbinInstitut

3、eofTechnology,Harbin150001China)Abstract:Windowsisnon—real—timemulti—taskingoperatingsystemadoptedCPUtimesliceallocationmechanismandrotarymulti—taskingmethod.It’Sunabletomeetsomeoftherelativelyhighreal—timerequirementsoftasks.Withtherapiddevelop—mcntofCPUtechnology.th

4、ecurrentmarketdual—coreormulti—coreCPUhasbecomethemainstream,thismakesitpossibletouseapartofmulti。coreCPUtoperformdemandingreal—timetaskswiththerestperformothertasks.Itimprovethesoftwaretobecomethereal—timeeffectively.ThisarticlehighlightsaWindowskernelmodedriverappro

5、achthatcansupportaeffectiveallocationofresourcesofmulti—coreCPU,whichhasafunctionofconstructingarelativelyreal—timeSOftwareKeywords:multi—coreCPU;process;thread;real—timeproperty1引言本文分析了Windows系统的进程调度机制,并设计了一种基于Windows操作系统内核驱动的多核CPU线程管理方法,实现了一个基于Windows内核驱动的线程管理服务系统,它

6、能让用户根据每一个任务线程对CPU资源的需要程度和对实时性的要求,在多核CPU上合理为线程分配CPU核。2Windows系统的进程调度方法分图1Windows内核调度结构体关系图析WindowsNT中的每一个进程都是EPROCESS结构体。此结构体中除了进程的属性之外还引用了其它收稿日期:2009—06—19《自动化技术与应用》2010年第29卷第1期计算机应用ComputerApplications一些与实现进程紧密相关的结构体。例如,每个进程都10B有一个或几个线程,线程在系统中就是ETHREAD结构代表当前任务只能执行在1号

7、CPU上(CPU下标体。简要描述一下存在于这个结构体中的主要的信息,记数从0开始),又如0x00000004代表当前任务只能执行这些信息都是由对内核函数的研究而得知的。首先,结在2号CPU上,0x00000003代表当前任务可以运行在0构体中有KPROCESS结构体,这个结构体中又有指向这号和1号CPU上。些进程的内核线程(KTHREAD)链表的指针(分配地址空Windows的进程调度代码是在它的System进程下间),基优先级,在内核模式或是用户模式执行进程的线的,所以它不属于任何用户进程上下文。调度代码在适程的时间,处理器af

8、finity(掩码,定义了哪个处理器能当的时机会切换进程上下文,这里的切换进程上下文是执行进程的线程),时间片值。在ETHREAD结构体中指进程环境的切换,包括内存中的可执行程序,提供程还存在着这样的信息:进程ID、父进程ID、进程映象名。序运行的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。