欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计--多道程序缓冲区协调操作

    • 资源ID:1442328       资源大小:245.18KB        全文页数:14页
    • 资源格式: DOCX        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计--多道程序缓冲区协调操作

    1、 课程设计说明书 操作系统 题目:多道程序缓冲区协调操作多道程序缓冲区协调操作 1.1. 概述概述 1.1 课程设计目的 本次课程设计的主要目的是通过模拟多道程序缓冲区协调操作, 充分理解操作系统中进 程、线程及线程间同步和互斥的概念;并通过自己编写程序了解软件开发流程,锻炼自己的 编程能力,充分提高自己的综合能力。 1.2 主要完成任务 模拟设定 PUT、 GET、 Move 操作的如下图所示, 有多个 PUT 操作要不断循环地向 Buffer1 送数据,有 Move1 操作和 Move2 操作要不断地将 Buffer1 的数据取到 Buffer2 和 Buffer3, 有多个 GET 操作

    2、要不断地从 Buff2 和 Buffer3 中取数据。PUT、 MOVE、 GET 每次操作一 个数据,为了在操作的过程中要保证数据不丢失, 每个 Buffer 每次只能接受一个 PUT 或一 个 Move 或一个 Get,多个操作不能同时操作同一 BUFFER。 PUT MOVE GET 软件能显示各个 Buffer 的操作过程和每个 Buffer 中的现有数据, 放入、 取出的总数据, 可以设置 Buffer 的容量及放入、取出数据的速度 ,设置 put、move、get 操作的线程数和操 作速度,软件结束运行时可以显示汇总数据,并能将统计结果保存到任意的路径下。 1.3 解决的主要问题

    3、在本次课程设计中解决的重要问题有线程间的同步和互斥问题,java 语言软件设计中 面向对象思想各个类的创建方法及类之间互相操作问题,软件界面设计问题。 2.2. 设计使用的基本概念和原理设计使用的基本概念和原理 2.1 多道程序 多道程序设计技术是在计算机内存中同时存放几道相互独立的程序, 使他们在管理程 序控制下,相互穿插运行。 Get2 Put Move2 Buff1 Buff2 Buff3 Move1 Get1 2.2 进程 进程是并发程序的执行,是多道程序系统中程序的执行过程。 2.3 线程 线程是进程中的一个实体, 是被系统独立调度和分派的基本单位。 线程自己基本上不 拥有系统资源,

    4、 只拥有一点运行中必不可少的资源, 但它可与同属一个进程的其他线程共享 进程所拥有的资源。 2.4 同步和互斥 相互合作的进程需要在某些点上协调, 先到达某点的进程需要等待后到达的进程, 进 程间的这种协调关系叫同步。 互斥是一种特殊的同步方式。 当多个进程需要使用相同的资源, 而次资源在任意时刻却只能供一个进程使用。 获得资源的进程可以继续执行, 没有获得资源 的进程必须等待。进程间的这种相互排斥关系叫做互斥。 2.5 基本原理 设计的基本理念是运用面向对象技术,设计三个缓冲区类 Buffer1, Buffer2,Buffer3,主要属性有容量,当前数据量,放入、取出数据量,放入、 取出速度

    5、等, 主要方法有放入、 取出等; 然后设计线程类 Producer, Transporter1, Transporter2,Consumer1,Consumer2,主要属性有线程个数,线程操作速度, 主要方法是重新 run()方法,调用相应 Buffer 的 put 和 get 方法,执行对 Buffer 的操作。利用信号量机制,对线程进行等待,唤醒操作,实现线程间的同步和互 斥;利用线程的休眠时间来模拟放入,取出的速度以及各个线程操作的速度。 3.3.总体设计总体设计 3.1 基本技术路线 本程序主要利用面向对象编程方法,采用 java 提供的多线程技术,来模拟 实现 P、V 操作。 3.2

    6、 总体结构、模块关系 本程序中Producer线程可以调用Buffer1的put方法向 Buffer1中放入数据; Transporter1 线程可以调用 Buffer1 的 get 方法,调用 Buffer2 的 put 方法,将数据从 Buffer1 中取出放入 Buffer2 中;Transporter2 线程可以调用 Buffer1 的 get 方法,调用 Buffer3 的 put 方法,将数 据从 Buffer1 中取出数据放入 Buffer3 中;Consumer1 线程可以调用 Buffer2 的 get 方法,从 Buffer2 中取出数据;Consumer2 线程调用 Buffer3 的 get 方法,从 Buffer3 中取数据。 程序运行前可以在设置中设置各个参数的值;程序运行中会在主界面显示各个 Buffer 中的操作,以及各个 Buffer 中的数据信息,包括现有数据,放入数据和取出数据,还能显 示程序运行时间;程序运行结束后可以在菜单中点击统计按钮,查看所有数据的统计结果, 并能保存结


    注意事项

    本文(操作系统课程设计--多道程序缓冲区协调操作)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583