《操作系统》课程设计

发布 2022-10-05 11:35:28 阅读 2195

安徽理工大学计算机系软件教研室

1.根据设计任务,用自己熟悉的计算机语言编制程序,在机器上调试运行,并通过上机考核。

2.按照学校“课程设计报告格式”的要求,写出课程设计报告,并提交“课程设计说明书”的书面和电子两种版本,以及相关源程序和能够运行的执行文件;

3.课程设计报告在2024年7月9日之前交来。

题目1:生产者、消费者。

在windows2000环境下,创建一个控制台进程,此进程包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面介绍)的要求进行读写操作。

用信号量机制分别实现读者优先和写者优先问题。

读者-写者问题的读写操作限制(包括读者优先和写者优先)

写-写互斥:不能有两个写者同时进行写操作。

读-写互斥:不能同时有一个线程在读,而另一个线程在写。

读-读允许:可以有一个或多个读者在读。

读者优先的附加限制:如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。

写者优先的附加限制:如果一个读者申请进行读操作时已有另一个写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。

运行结果显示要求:要求在每个线程创建、发出读写申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。

题目2:银行家算法实现。

目的:熟悉银行家算法,加深死锁有关概念的理解。

内容:编制银行家算法通用程序,并检测思考题中所给状态的安全性。

要求:下列状态是否安全?(三个进程共享12个同类资源)

进程已分配资源数最大需求数。

1 14状态a)

2 46状态b)

考虑下列系统状态。

分配矩阵最大需求矩阵可用资源矩阵。

问系统是否安全?若安全就给出所有的安全序列。若进程2请求(0420),可否立即分配?

题目3:子用户界面及托盘的实现。

要求:启动程序后将在任务栏托盘区生成一应用程序托盘。

左键双击弹出一子用户界面窗口。

右键单击托盘可关闭应用程序。

设计思路:为了关闭显示的窗口后托盘不会消失,必须将程序设计成两个线程。

在主线程创建主窗口和在任务栏生成托盘并建立托盘和主窗口的消息映射。

将子线程创建成用户界面线程(窗口线程)。主线程动态地生成子线程。

为了在主线程中关闭子用户界面线程,因此需在主线程和子线程之间建立通信机制。

题目4:定时关机程序。

编制定时关机程序的目的主要是为了有效节省资源。其要求如下:

方便设置时间,并把节假日考虑在内。

具有托盘功能。

中途可用鼠标设置。(如双击可重新设置时间,右键可退出程序)

能适应windows2000/xp等操作系统。

设计思想说明(10分);

数据结构的说明(10分);

各模块的算法流程图(10分);

程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共60分,其中书面源程序占20分,软盘(或光盘或网上传递来)的源程序中的文件系统及其各功能在计算机上实现程度占40分)

使用说明书(即用户手册)(内容包含如何登录、退出、读、写、等操作说明)(5分)

体会,建议(5分)

指导教师:殷晓波。

2024年6月25日。

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....