一种实现Ad并行任务机制的新方法a.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文档。上传文档
查看更多
一种实现Ad并行任务机制的新方法a

1990年12月 计 算 机 学 报 第12婀 一 种实现 Ada并行任务机制的新方法 李赣生 王华民 襄纪海 (浙江大学计算机系) A NEW APPROACH F0R IMPLEMENTING Ada MULTI- TASKING FACILITIES !iGansheng, WangHuamin and 。juJ]ha (Zheiiang UnivtrMt AbstractA new approachto implementAdamulti-taskingfacilitieswith alltasksin a program sharingasinglestack in rDD—timeenvironmentispresented Compared with the ap— proachofimplementing a c‘actus’stack forAdarun—timestorageallocation in which each Iask has itsowDstack.thenew onesave8run-timestoragespaceand increasestheswitch-speedbe— tween tasksin therunning environment, 摘要 奉文提 出了在单机上实现 Ada语言的多任务的单栈存储组 织 的 新方法. 同一个任 务一个栈 的存储组 织的方法比较 ,太太节省 了存储 空间,提 高 了任 务环境 的转接速度. 一 、 引 言 实现 Ada语言的多任务机制的困难程度因 目标机的不同类型而不同.通常,有三 类 目标机: ·单计算机 ; ·多处理机 ,共享公共存储器的系统 ; ·多计算机系统,每个都有 自己的存储器.但是,每种实现都面临两个基本 问题t 1.处理机分配 ; 2.存储器的组织. 本文只考虑在单计算机上的实现问题.一般的办法是,每个 Ada任务都有 自己的单独 线性栈.在一个任务中的子程序调用的空间分配,都在 自己的栈中进行.每个任务的处 理机,可 由 Ada环境的运行子程序来进行调度 由于 Ada任务及其中的子程序的动态 本文 1988年 10月31日收到 李赣生等:一种实现 Ada并行任务机制的新方法 特性 ,不能在编译时确定每个栈的大小 ,也不能确定任务的总数. 因此 ,一般采用仙人掌 式的栈 (CaCtusstack)来实施每个任务一个栈的存储管理方案. 这个方案的主要 缺点 是 ,在将处理机 由一个任务 A转给另一个任务 B时,要增加保存任务 A的栈区与恢复任务 B的栈区的巨大开销,因而效率较低.本文提 出的一个程序 的全部任务共用一个栈的方 案,大大节省了栈区传送 的开销 ,同时,没有必要为任何任务保 留各 自栈 区的内容 的存区, 因而也节省了存储空间. 二、仙人掌型栈的存储组织方式的简单讨论 、 置常,多数高级语言都采用栈式存储管理技术来组织运行时的存储分配.当子程序 被调用时,该子程序的活动记录置于栈顶,返回时则释放 .但是 ,Ada的任务设施 ,在一 定的角度上看,是一个单独的程序,因而每个任务都应有一个 自己的栈.男一方面,由于 Ads任务的可嵌套性,以及在一个任务中子程序调用所需的栈空间在编译时不能确定, 同时一个 Ada程序中的任务总数又是不确定的,实施一个任务一个栈的方案就很麻烦 . 为此,修正单一线性栈的模式,使其既符合一任务一栈的模式,又允许一任务访 问多任务 栈中的变量,就产生一种所谓 “仙人掌型”栈的结构.这种栈由若干个线性栈组成,每个任 务一个栈 ,全部栈构成一个 仙人掌 形式的数据结构.例如,考虑下面 的程序: p~ocederc M AIN ,

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档