网站大量收购独家精品文档,联系QQ:2885784924

操作系统课程设计 指导手册.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计 指导手册

操作系统课程设计 指导书 《操作系统》课程设计 目录 第一章 概述 1 第二章 课程设计要求及注意事项 2 第三章 课程设计项目 3 题目一:生产者和消费者问题 3 题目二:读者-写者问题的实现 6 题目三:文件管理系统的设计 8 第四章 参考文献 10 附录A 课程设计报告规范 11 第一章 概述 操作系统课程是计算机科学与技术专业核心课程。《高级语言程序设计》、《数据结构》等课程为其前趋课程。该课程理论性强,难以理解。通过该课程设计,能帮助学生深透理解并真正领会操作系统课程所介绍的感念、原理、方法和技巧,以及操作系统的整体认识。 该课程设计为1.5周即45学时。涉及内容共分十个子任务,其中两个为同步程序设计,八个为文件系统中的子目录管理、目录项结构、文件分配表(FAT)作用、创建文件、文件复制、文件头结构、程序加载方法、内存驻留(TSR)方法。这八个任务对操作系统原理中的文件系统所涉及到的理论知识进行了全面而有机地训练。 实现语言为汇编语言或C或VC++等。学生可以根据自己情况选做一个或多个项目进行设计。 第二章 课程设计要求及注意事项 设计环境要求: 硬件:普通PC386以上微机;一张软盘; 软件:操作系统:Windows 2000; 开发语言:VC++ 、汇编语言; 设计要求: 要求每位学生事先准备一张软盘,设计中针对软盘进行操作。 设计前应复习设计中所涉及的理论知识和算法,针对设计要求完成基本代码编写并完成预习报告、设计中认真调试所编代码并进行必要的测试、记录并分析设计结果,设计后认真书写符合规范格式的设计报告(参见附录A),并要求用正规的课程设计报告纸和封面装订整齐,按时上交。 第三章 课程设计项目 题目一:生产者和消费者问题 1、实验目的 (1)掌握基本的同步互斥算法,理解生产者和消费者模型。 (2)了解Windows 2000/XP中多线程的并发执行机制,线程间的同步和互斥。 (3)学习使用Windows2000/XP中基本的同步对象,掌握相应的API。 2、实验要求 (1)创建生产者和消费者线程 在Windows2000环境下,创建一个控制台进程,在此进程中创建n个线程来模拟生产者或者消费者。这些线程的信息由本程序定义的“测试用例文件”中予以指定。 该文件的格式和含义如下: 3 1 P 3 2 P 4 3 C 4 1 4 P 2 5 C 3 1 2 4 第一行说明程序中设置几个临界区,其余每行分别描述了一个生产者或者消费者线程的信息。每一行的各字段间用Tab键隔开。不管是消费者还是生产者,都有一个对应的线程号,即每一行开始字段那个整数。第二个字段用字母P或者C区分是生产者还是消费者。第三个字段表示在进入相应线程后,在进行生产和消费动作前的休眠时间,以秒计时;这样做的目的是可以通过调整这一列参数,控制开始进行生产和消费动作的时间。如果是代表生产者,则该行只有三个字段。如果代表消费者,则该行后边还有若干字段,代表要求消费的产品所对应的生产者的线程号。所以务必确认这些对应的线程号存在并且该线程代表一个生产者。 (2)生产和消费的规则 在按照上述要求创建线程进行相应的读写操作时,还需要符合以下要求: ①共享缓冲区存在空闲空间时,生产者即可使用共享缓冲区。 ②从上边的测试数据文件例子可以看出,某一生产者生产一个产品后,可能不止一个消费者,或者一个消费者多次地请求消费该产品。此时,只有当所有的消费需求都被满足以后,该产品所在的共享缓冲区才可以被释放,并作为空闲空间允许新的生产者使用。 ③每个消费者线程的各个消费需求之间存在先后顺序。例如上述测试用例文件包含一行信息“5 C 3 l 2 4”,可知这代表一个消费者线程,该线程请求消费1,2,4号生产者线程生产的产品。而这种消费是有严格顺序的,消费1号线程产品的请求得到满足后才能继续往下请求2号生产者线程的产品。 ④要求在每个线程发出读写操作申请、开始读写操作和结束读写操作时分别显示提示信息。 (3)相关基础知识 本实验所使用的生产者和消费者模型具有如下特点: 本实验的多个缓冲区不是环形循环的,也不要求按顺序访问。生产者可以把产品放到目前某一个空缓冲区中。 消费者只消费指定生产者的产品。 在测试用例文件中指定了所有的生产和消费的需求,只有当共享缓冲区的数据满足了所有关于它的消费需求后,此共享缓冲区才可以作为空闲空间允许新的生产者使用。 本实验在为生产者分配缓冲区时各生产者间必须互斥,此后各个生产者的具体生产活动可以并发。而消费者之间只有在对同一产品进行消费时才需要互斥,同时它们在消费过程结束时需要判断该消费对象是否已经消费完毕并清除该产品。 Wind

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档