数据结构课程设计报告..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文档。上传文档
查看更多
数据结构课程设计报告 姓 名: ***** 班 级:05 级 04 班 所选课题: 5、封锁资源管理子系统 目录 需求分析: 背景介绍 功能要求 概要设计 详细设计 调试分析 1、需求分析: 1.1 、背景介绍 在并发操作的系统中,许多用户可能同时对同一数据进行操作。并发操作带来的 问题是数据的不一致性,并发控制的主要技术是封锁。 封锁资源管理子系统就是通过加锁来控制用户对系统资源的并发使用。 基本的封锁 类型有 S 锁(共享锁)和 X 锁(排他锁)。共享锁:用户 A 对资源 R加上 S 锁,则只允 许 A 读取 R,但不能修改 R,其它的用户只能再对 R加 S 锁,直到 A 释放了 R上的 S锁。 这就保证了其它用户可以读 R但在 A释放 R上的 S 锁之前不能对 R进行修改。 排它锁: 用户 A 对资源 R加上锁,则只允许 A 读取和修改 R其它用户不能再对 R加任何锁,直 到 A 释放了 R上的锁。 两种封锁方式的相容矩阵如图所示: S X S OK NO X NO NO 相容矩阵 用户使用系统资源前必须申请封锁,即给出申请封锁的对象资源号、封锁方式和用 户名。其中资源号是取值为一正整数。子系统受封锁请求,根据所保存的封锁状态信 息决定请求是否能够获得封锁,进行相应处理,并向用户反馈处理结果。如果获得封 锁,则赋给该请求一个批准号,可以使用该资源;否则需要进入等待队列(赋给该请 求一个批准号)。 用户结束对某资源的使用后, 应释放封锁 (给出封锁对象的资源号和封锁批准号) 。 系统受理解锁请求时必须能迅速找到有关对象的封锁状况信息,以进行相应处理。 1.2 、功能要求 1)、受理用户资源请求 , 把用户添加进等待队列或活动队列 2 )、受理用户释放资源请求 3 )、查看资源活动队列 4 )、查看资源等待队列 5 )、查看系统所有资源 6 )、添加资源 7 )、用户读取使用资源 8 )、用户修改资源 9 )、添加用户 用列图如下: 2、概要设计 此部分为整个核心设计的流程,包括资源结构、用户结构、锁结构、等待队列、 活动队列、资源高效存储查询的设计,及请求、释放、读、写资源的实现方式设计。 为满足高效存储、查询资源的要求,可采用散列表为资源建索引,并用链表解决冲 突,存储的结构如下图所示: 封锁管理子系统示意图 其中散列表的元素对应为封锁对象,以对象的资源号为散列函数的自变量(即关 键码值)。散列表中元素仅为一个指向封锁对象链表的指针。 LO为封锁对象结点, 对应 于同一散列地址的封锁对象链接到一个链表中。 LR 为封锁请求结点。每个封锁对象结 点带两个封锁请求队列:活动队列中为当前持有对该对象的封锁请求,等待队列中为 正在等待对该对象进行封锁的封锁请求。 LO结点和 LR结点均向子系统自己管理的可利 用空间表申请。 Hash 函数采用求余的方法,在这个系统中应为资源的个数是不确定的,因此 hash 表的大小也可以随着资源数的不同而改变,我的设计是当记录的个数大于资源个数的 五倍时 hash 表大小翻倍。 而 S 锁和 X 锁的设计则采用了多态的方法,设计一个公共的抽象基类: Lock 里面 定义了三个接口, XLock 和 SLock 类都派生自

文档评论(0)

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

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

1亿VIP精品文档

相关文档