用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计

上传人:龙*** 文档编号:107748352 上传时间:2019-10-20 格式:DOC 页数:13 大小:228KB
返回 下载 相关 举报
用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计_第1页
第1页 / 共13页
用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计_第2页
第2页 / 共13页
用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计_第3页
第3页 / 共13页
用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计_第4页
第4页 / 共13页
用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计》由会员分享,可在线阅读,更多相关《用多线程同步方法解决生产者-消费者问题-计算机操作系统原理课程设计(13页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学华夏学院课程设计报告书课程名称: 操作系统原理 题 目: 系 名: 信息工程系 专业班级: 姓 名: 学 号: 指导教师: 苏永红 司晓梅 年 月 日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:用多线程同步方法解决生产者消费者问题初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:用c/c+语言在Linux操作系统环境下实现通过研究Linux的线程机制和信号量实现生产者消费者问题的并发控制。有界缓冲区内设有20个存储单元,放入取出的数据项设定为120这20个整型数。(1) 每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区

2、的全部内容、当前指针位置和生产者消费者线程的标识符。(2) 生产者和消费者各有两个以上。(3) 多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。提示:(1)有界缓冲区/连续存储区可用数组实现。(2) 编译命令可用:gcc -lpthread -o 目标文件名源文件名(3) 多线程编程方法参见电子文档。设计报告撰写格式要求:1设计题目和要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价和总结8 附录:程序清单,注意加注释

3、(包括关键字、方法、变量等),在每个模块前加注释;时间安排 7月1日 布置课程设计任务;分配题目后,查阅资料、 准备程序; 7月 27月4 日上机调试程序、书写课程设计报告;7月5 日 提交课程设计报告及相关文档。指 导 教 师 签 字: 2012年 6月 20日系 主 任 签 字: 2012年 6月 22日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:设计一个虚拟存储区和内存工作区初始条件:Linux操作系统,GCC编译环境要求完成的主要任务 主要任务:用c/c+语言在Linux操作系统环境下通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点

4、,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。1、最佳淘汰算法(OPT)2、先进先出的算法(FIFO)3、最近最久未使用算法(LRU)命中率页面失效次数页地址流长度设计程序时先用srand()和rand()函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。设计报告撰写格式要求:1设计题目和要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结

5、果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价和总结8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释; 时间安排 7月1日 布置课程设计任务;分配题目后,查阅资料、 准备程序; 7月 27月4 日上机调试程序、书写课程设计报告;7月5 日 提交课程设计报告及相关文档。指 导 教 师 签 字: 2012年 6月 20日系 主 任 签 字: 2012年 6月 22日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:编程序模拟银行家算法初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:银行家算法是避免死锁的一种

6、重要方法,本实验要求用用c/c+语言在Linux操作系统环境下编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。思想:将一定数量的资金供多个用户周转使用,当用户对资金的最大申请量不超过现存资金时可接纳一个新客户,客户可以分期借款,但借款总数不能超过最大的申请量。银行家对客户的借款可以推迟支付,但是能够使客户在有限的时间内得到借款,客户得到所有的借款后能在有限的时间内归还。用银行家算法分配资源时,测试进程对资源的最大需求量,若现存资源能满足最大需求就满足当前进程的申请,否则推迟分配,这样能够保证至少有一个进程可以得到所需的全部资源

7、而执行到结束,然后归还资源,若OS能保证所有进程在有限的时间内得到所需资源则称系统处于安全状态。设计报告撰写格式要求:1设计题目和要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价和总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释; 时间安排 7月1日 布置课程设计任务;分配题目后,查阅资料、 准备程序; 7月 27月4 日上机调试程序、书写课程设计报告;7月5 日 提交课程设计报告及相关文档。

8、指 导 教 师 签 字: 2012年 6月 20日系 主 任 签 字: 2012年 6月 22日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:用多线程同步方法解决哲学家就餐问题初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:用c/c+语言在Linux操作系统环境下,通过研究Linux的线程机制和信号量实现哲学家就餐问题的并发控制。为避免死锁,可采用只许4个哲学家入席且桌上有5支筷子的办法。几把椅子可用连续存储单元。1 每个哲学家取得一双筷子开始用餐后,即时显示“Dining”和该哲学家的标识符以及餐桌上有几位哲学家及其所坐的位置。2 设定共有

9、10个哲学家需用餐。每位用餐耗时10秒钟以上。3 多个哲学家须共享操作函数代码。提示:1 有界缓冲区/连续存储区可用数组实现。2 编译命令可用:gcc -lpthread -o 目标文件名源文件名3 多线程编程方法参见电子文档。设计报告撰写格式要求:1设计题目和要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价和总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释; 时间安排 7月1日 布置课程设计

10、任务;分配题目后,查阅资料、 准备程序; 7月 27月4 日上机调试程序、书写课程设计报告;7月5 日 提交课程设计报告及相关文档。指 导 教 师 签 字: 2012年 6月 20日系 主 任 签 字: 2012年 6月 22日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:文件系统模拟设计初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作能实现以下几条命令,用输入命令来模拟用户程序中调用的文件操作:Login 用户登录Di

11、r 列文件目录(列出文件名、物理地址、保护码和文件长度)Create 创建文件 Delete 删除文件Open 打开文件 Close 关闭文件Read 读文件 Write 写文件源文件可以进行读写保护。文件系统管理中用到的数据结构有:首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2并以编号作为物理地址,在目录中进行登记。设计报告撰写格式要求:1设计题目和要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册)

12、:内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价和总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释; 时间安排 7月1日 布置课程设计任务;分配题目后,查阅资料、 准备程序; 7月 27月4 日上机调试程序、书写课程设计报告;7月5 日 提交课程设计报告及相关文档。指 导 教 师 签 字: 2012年 6月 20日系 主 任 签 字: 2012年 6月 22日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 设计题目:支持多个进程(线程)并发运行的简单进程(线程)管理模拟系统初始条件:Linux操作系统,GCC编译环境要求完成的主要任务:主要任务:1实验内容学习进程管理的设计和实现,学习和运用操作系统原理,设计一个操作系统子系统的模拟系统。通过该系统的设计调试可增加对操作系统实现的感知性。设计一个允许n个进程并发运行的进程管理的模拟系统。该系统包括简单的进程控制、同步及通信机构,其进程调度算法可任意选择。分析系统所需的数据结构、算法的流程以及化分各个功能模块。2实验原理进程管理包括进程的创建、控制、阻塞、唤醒和撤消。进程在运行过程中状态在不断的变化。进程运行过程中,因为竞争资源而需对它们进行同步控制。所

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号