1wThread轻量级通用多线程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1wThread轻量级通用多线程.pdf

中国计算机辅助设计与图形学2008——纪念全国首届CAD/CG学术会议30周年 _l●一_I_●_l-__-_---__-__—_-_—_--●__l-l___l●-●l●l_-__●---●I_ 1wThread:轻量级通用多线程· 杜钟章莉朱琨吴百锋 (复旦大学计算机与信息技术系上海200433) 摘要多线程技术是当前嵌入式系统开发中的常用技术,但一般都依赖于操作系统或者特定的函数库,通用性和可移植性较 差.本文提出了一种通用的轻量级多线程模型1wThread,采用标准C语言实现,在源程序级实现线程的上下文切换,因此完全 独立于操作系统争编译器.与同类技术相比,1wThread不但可以实现线程的优先级,而且可以为每个需要栈的线程动态分配出 独立的空间,大小与线程需要的空间一致,最大程度提高了内存利用率.另外,本文还提出了确定共享栈池大小的理论依据, 由此可针对不同应用精确估算出共享栈池容量的安全上限. 关键词通用多线程;共享栈;嵌入式系统;并行处理;计算机体系结构 1wThread:Lightweight General Multithreading Du Min+Zhang Li ZhuKun Wu Baifeng (Department ofComputing and Information Technology,Fudan University,Shanghai 200433。China) +Corresponding author:Phn:+86-21-6564-2070,Fax:+86-21-6564-2180,E-mail:062021102@fudaa.edu.cn Abstract Multithreading is a common technology in embedded system development.But it usually depends on some specific OS or library,lack of portability.In this paper,we introduce a lightweight general multithrcading model called lwThread,which is developed in pure C language.We implement the threads context switch in standard C statement,so it is completely independent of OS and compiler. Compared with other thread models,1wThread combines the priority scheduling with dynamic stack allocation in shared·stack pool,and the size matches exactly the need.We also present a method to determine the maximum stack memory used in the shared stack.We use this method to safely approximate the exact stack usage by static information ofeach threa Key words General Multithreading;Shared Stack;Embedded System;Parallel Processing;Computer Architecture 在嵌入式无线传感器网络系统领域,并发任务控制技术 一般可以分为两类:基于事件驱动的和基于多线程的。一般 来说,在资源使用上面,事件驱动要比多线程效率更高,而 嵌入式系统内存资源都比较紧张,因此得到了广泛的应用, 很多嵌入式系统都是基于这种技术,例如TinyOSll】,Sensor OSl21,Contiki[3】等等. 但是随着应用程序复杂度的增加,事件驱动模型边将会 变得越来越复杂。程序员需要用状态机之类的技术来实现流 程控制,开发和维护的难度会大大增加。多线程技术可以很 好地解决这些问题。但是一般的多线程支持都是由操作系统 提供,不具备可移植性.而且一般的多线程需要为每个线程 分配固定的栈空间,带来的内存消耗也相当可观.为此我们 需要一种轻量级的,而且通用的多线程技术. 1相关研究 现代的操作系统基本上都支持多线程,但是这些都是系 统提供的功能.这些并不是我们讨论的模型方案. ‘sI硐of‘。dbythe ProgramofAMD Ulliv∞时c‘,olⅫ砒i∞(AMD大学合作计

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档