欢迎来到天天文库
浏览记录
ID:18608502
大小:942.30 KB
页数:17页
时间:2018-09-19
《燕山大学os课程设计说明书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统课设报告1.概述31.1.目的31.2.主要完成的任务31.3.使用的开发工具31.4.解决的主要问题32.使用的基本概念和原理32.1.线程32.2.线程的同步42.3.模态对话框42.4.原理43.总体设计43.1.确定基本的技术路线43.2.软件的总体结构43.3.创建的进程和线程54.详细设计54.1.利用的进程操作的函数、原语、API54.1.1.信号量创建函数54.1.2.互斥对象的创建.54.1.3.线程创建函数64.1.4.等待函数64.2.模块内部的流程和实现算法64.3.全局变量的声明85.编码设计95.1.开发环境的设置和建立9
2、16操作系统课设报告5.2.编译环境的设置95.3.程序设计时要注意的事项105.4.主要程序的代码设计及注释105.5.解决的技术难点、经常犯的错误146.测试时出现的问题及其解决方法147.软件使用说明及运行结果147.1.基本功能147.2.需要运行的环境157.3.安装及运行157.4.操作157.5.运行结果158.总结168.1.操作系统课程设计完成情况168.2.收获和感受168.3.经验总结169.参考文献1716操作系统课设报告1.概述1.1.目的通过使用程序设计语言设计一个程序,模拟生产者消费者和搬运者对产品操作的过程。1.2.主要完成的
3、任务PutMove2Buff1Buff2Buff3GetMove1图1Buffer操作(1)可以随机产生字符数据,由put操作放入Buff1,buffer中容量单位是字符。(2)提供良好图形界面,显示Buffer的操作过程。(3)可以设定各Buffer的容量、PUT、GET、Move操作的个数;(4)可以设定PUT、GET、Move操作的速度;(5)实时显示每个Buffer中数据的个数和数据的内容,空闲Buffer的空间的个数;(6)实时显示线程、进程所处于等待(阻塞)状态的个数(7)程序运行结束,显示汇总数据:总的运行时间;Buffer中数据的个数;已放入
4、BUFFER的数据个数;已放已取的数据个数;平均每个buffer中的数据个数。1.3.使用的开发工具使用MFC在VC++6.0上完成程序的设计。1.4.解决的主要问题(1)可以随机产生字符数据。(2)设计put,get,move的线程。(3)可以设计buffer的容量,put,get,move的个数。(4)控制put,get,move的速度。(5)实时显示buffer的内容。2.使用的基本概念和原理2.1.线程线程,有时被称为轻量级进程(Lightweight16操作系统课设报告Process,LWP),是程序执行流的最小单元。线程是进程中的一个实体,是被系
5、统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。1.1.线程的同步临界段:临界段对象通过提供所有线程必须共享的对象来控制线程。只有拥有临界段对象的线程才可以访问保护资源(进行临界区操作)。在另一个线程可以获取对象的访问权。用户应用程序可能会使
6、用临界对象来阻止两个线程同时访问共享的资源发文件等。互斥量:互斥量的工作方式和临界段非常相似,其区别在于互斥量不公保护一个进程内的资源共享,而且还保护系统中进程之间的共享资源。它是通过为互斥量提供一个“互斥量名”来进行进程间资源共享协调的。事件:事件对象用于给线程传递信号,指示线程中特定的操作可以开始或结束。除非线程已经收到了这个事件信号,否则它将一直处于挂起状态。当事件对象进入其信号状态时,正在等待该事件的线程就可以开始执行。例如,一个应用程序可以通过事件来通知线程它需要的数据已经准备好。经常利用事件进行线程之间的通信。信号量:信号量与互斥相似,但是互斥只
7、允许在同一时刻一个线程访问它的数据,而信号量允许多个线程在同一时刻访问它的数据。WIN32不知道哪一个线程拥有信号量,它只保证信号量使用的资源计数正确的设置。1.2.模态对话框模态对话框(ModalDialogueBox,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。1.3.原理使用信号量作为同步互斥的工具,通过对BUFFER1、BUFFER2的容量,还有控制权设置不同的信号量来协调PUT、GET、MOVE线程,使其同步来实现P、V操作。2.总体设计2.1.确定基
8、本的技术路线用MFC设计的,是面向对象的程序。2.2
此文档下载收益归作者所有