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

操作系统多线程同步及互斥课程设计报告.docx

操作系统多线程同步及互斥课程设计报告.docx

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

燕山大学课程设计说明书 课程设计名称:操作系统 题目:多道程序缓冲区协调操作 班级:14计算机科学与技术1班 开发小组名称:砺剑编码小组 课题负责人:刘 课题组成员:刘 14计算机1班 A 14计算机1班 B 14计算机1班 B 14计算机1班 C 课题开发日期:2016.12.19-2016.12.30 1.概述 1.1目的 通过运用操作系统基本原理, 解决进程同步控制; 实现多道程序缓冲区协调操作设计,了解多线程的创建,运行原理;通过信号量机制的运用了解各线程间的协调工作机制;通过界面编程,熟练掌握可视化编程工具的能力;独立完成项目的需求分析和总体设计、详细设计,提升软件工程能力。 1.2主要完成的任务 如下图1所示,有多个PUT操作要不断循环地向Buffer1送字符数据,有Move1操作不断地将Buffer1的数据取到Buffer2,Move2操作不断地将Buffer1的数据取到Buffer3,有多个GET操作要不断地从Buffer2和Buffer3中取数据。PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失, 每个Buffer每次只能接受一个PUT或一个Move或一个Get。运用进程同步和互斥机制设计一个多道程序完成上述操作。 Put Move2 Buff1 Buff2 Buff3 Get Move1 Get 图1 Buffer操作 基本功能要求: (1) 可以随机产生字符数据,由put操作将数据放入Buff,buffer中容量单位是字符; (2)提供良好图形界面,显示Buffer的操作过程,可以暂停和继续系统的执行; (3) 可以设定各Buffer的容量、PUT、GET、Move操作的个数; (4) 可以设定PUT、GET、Move操作的速度; (5) 实时显示每个Buffer中已放入的数据和数据个数,当前Buffer中数据的个数和数据的内容,空闲Buffer的空间的个数; (6) 实时显示线程、进程所处于等待(阻塞)状态的个数; (7)程序运行结束,显示汇总数据,如:总的运行时间;Buffer中数据的个数;已放入BUFFER的数据个数;已取出的数据个数;平均每个buffer中的数据个数。 (8)能够将每次的实验输入和实验结果存储起来,下次运行时或以后可查询。 1.3使用的开发工具 操作系统:Window10 开发语言:Java 开发环境:NetBeans IDE 8.1 1.4解决的主要问题 (1)界面的设计; (2)界面显示各个buffer的模拟put字符,move字符和get字符操作; (3)线程间的同步和互斥问题; (4)各个线程状态的控制; (5)设置的速度、容量等参数的传递问题。 2.使用的基本概念和原理 2.1线程 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。线程基本上是轻量级的进程,它负责在单个程序里执行多任务。 2.2多线程 通常由操作系统负责多个线程的调度和执行。多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度。 2.3信号量 信号量是一个在一定范围内变化的整形数据,用来表示一种临界资源,线程通过信号量的值来确定自己的状态是执行还是挂起,各线程间也是通过信号量机制来协调运行顺序一起完成任务。 2.4同步与互斥 (1)进程同步 进程同步是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个线程,这个线程需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于他们之间的合作。 (2)进程互斥 进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。 3.总体设计 3.1 基本的技术路线 本课程设计使用面向对

文档评论(0)

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

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

1亿VIP精品文档

相关文档