操作系统课程设计之独占设备的分配
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//对用SDT的映射,key值为设备类型
publicstaticMapmapCO=newHashMap();
//对应COCT的映射,key值为控制器标识符
publicstaticMapmapCH=newHashMap();
//对应CHCT的映射,key值为通道标识符
publicstaticMythread[]mt=newMythread[3];
2、系统设计:
2.1、模块设计:
次程序包括3个包,分别为table包、map包、jframe包。table包中有SDT、DCT、COCT、CHCT表的结构;map包包括了分别对应SDT、DCT、COCT、CHCT的表的映射的写入和读的方法;jframe包包括界面和主要函数(MainF类、Mythread类、increase类、increaseP类、Fileread类)。MainF类能调用Mythread类、Fileread类,申请进程界面调用increaseP类,添加设备界面调用increase类
测试结果
与预期相符
与预期相符
与预期相符
测试说明
测试名称
独占设备的分配与回收
测试目的
验证进程申请资源的成功与否
测试技术
功能测试
测试方法
黑盒源自文库试法
测试用例
测试内容
进程申请设备并显示信息
测试步骤
不同进程申请不同资源
不同的进程申请相同的资源
进程申请不存在的设备
测试数据
process1申请print资源
process2申请keyword资源
测试方法
黑盒测试法
测试用例
测试内容
从指定文件读入所需信息并显示
测试步骤
从正确文件读入正确格式的信息
从正确的文件读入错误的信息
从错误的文件读入错误的信息
测试数据
f://aa.txt读格式正确的信息
f://aa.txt读格式错误的信息
从f://b.txt读格式错误信息
预期结果
正常显示
系统提示错误
系统提示错误
(2)行为:某进程在某时间申请某设备,系统通过查看申请设备的状态和控制器、通道来判断该进程能否申请成功、是否阻塞等并动态的显示出进程申请的时间和使用时间等信息。
(3)表示:系统包括3个界面:主界面、申请进程界面和添加设备界面。主界面包含了初始化按钮、开始按钮、添加设备、申请新进程、暂停按钮。其中添加设备和申请新进程按钮分别于添加设备界面和申请进程界面接口。申请进程界面需要输入新进程名,申请设备的类型、标识符和进程开始时间和执行时间;添加设备界面需要输入设备的类型、标识符、控制器和通道。
功能测试应用背景:它是从使用者的角度来编写的,它关注系统提供的功能特征及其不同的处理条件;测试功能的不同处理流程(包括正常处理的和异常处理);一个功能测试用例仅用于测试一个功能,一个功能可能需要多个功能测试用例来覆盖。
测试说明
测试名称
独占设备的分配与回收
测试目的
验证系统初始化的成功与否
测试技术
功能测试
测试技术
操作系统课程设计报告
院(系):
专业:
学生姓名:
班级:学号:
题目:独占设备的分配与回收
起迄日期:
设计地点:实验中心
指导教师:
2011—2012年度 第2学期
完成日期:2012 年 7 月 10 日
一、课程设计目的
在多到程序环境下,系统中的设备供所有进程共享。为防止进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。每当进程项系统提出I/O请求时,只要是可能和安全带,设备分配程序编按照一定的策略,吧设备分配给请求用户。在有的系统中,为了确保在CPU与设备之间能进行通信,还应分配相应的控制器和通道。为了实现设备分配,必须在系统中设置相应的数据结构。
process3申请io资源
process1、process2、process3申请print资源
Process1申请xxx资源
预期结果
各进程单独执行显示
根据先来先服务申请释放资源并显示
显示没有该设备
测试结果
与预期相符
与预期相符
与预期相符
测试说明
测试名称
独占设备的分配与回收
测试目的
验证暂停功能能否实现
掌握独占设备的分配流程,会使用安全性算法检查设备分配是否安全
二、课程设计内容与要求
1)合理设计SDT、DCT、COCT、CHCT的数据结构
2)独占设备、控制器与通道的数目可在界面进行设置
3)进程申请使用独占设备时至少要求包括申请时间与使用时间
4)可读取样例数据(要求存放在外部文件中)进行独占设备、控制器与通道数目的初始化,进行进程申请设备的初始化
申请新进程increaseP类
Mythread类:进程执行的方法
MainF类
四、系统测试与调试分析
1、系统测试
测试方法:黑盒
测试技术:功能测试
测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
测试报告:必须包含最终测试结果:列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格。
//允许申请3个进程,可根据需要做相应更改
以上4个映射用于存放对应表的信息,设计为全局静态是为了能存储文件和添加的设备、控制器、通道信息。
2.3、算法流程图:
实现设计中主程序和其他子模块的算法,以流程图的形式表示,需画出函数和过程的调用关系图。
文件读取Fileread(初始化)类
添加设备increase类
5)点击开始运行后,系统自动根据初始设定的数据进行设备分配与回收,所有状态信息需动态地显示出来:设备、控制器、通道数目,阻塞队列情况等
6)运行中可动态增加申请设备的进程,可随时暂停,查看当前状态
7)使用可视化界面进行演示
三、系统分析与设计
1、系统分析
(1)信息:此系统中包括了SDT、DCT、COCT、CHCT表,其中SDT包括了设备的类型,设备标识符;DCT包括设备类型、设备标识符、设备状态、该设备指向的控制器;COCT包括控制器标识符、控制器状态、与控制器相连的通道;CHCT包括通道标识符、通道状态、与通道相连的控制器。
2.2、数据结构说明:
设计中用到了Map(映射)的数据结构,Map结构包括了key和value两部分,通过key的匹配来查询value的值,符合次涉及到的要求,解决了四张表之间的关系
publicstaticMapmapD=newHashMap();
//对应DCT表的映射,key值为设备类型
publicstaticMapmapS=newHashMap();
publicstaticMapmapCO=newHashMap();
//对应COCT的映射,key值为控制器标识符
publicstaticMapmapCH=newHashMap();
//对应CHCT的映射,key值为通道标识符
publicstaticMythread[]mt=newMythread[3];
2、系统设计:
2.1、模块设计:
次程序包括3个包,分别为table包、map包、jframe包。table包中有SDT、DCT、COCT、CHCT表的结构;map包包括了分别对应SDT、DCT、COCT、CHCT的表的映射的写入和读的方法;jframe包包括界面和主要函数(MainF类、Mythread类、increase类、increaseP类、Fileread类)。MainF类能调用Mythread类、Fileread类,申请进程界面调用increaseP类,添加设备界面调用increase类
测试结果
与预期相符
与预期相符
与预期相符
测试说明
测试名称
独占设备的分配与回收
测试目的
验证进程申请资源的成功与否
测试技术
功能测试
测试方法
黑盒源自文库试法
测试用例
测试内容
进程申请设备并显示信息
测试步骤
不同进程申请不同资源
不同的进程申请相同的资源
进程申请不存在的设备
测试数据
process1申请print资源
process2申请keyword资源
测试方法
黑盒测试法
测试用例
测试内容
从指定文件读入所需信息并显示
测试步骤
从正确文件读入正确格式的信息
从正确的文件读入错误的信息
从错误的文件读入错误的信息
测试数据
f://aa.txt读格式正确的信息
f://aa.txt读格式错误的信息
从f://b.txt读格式错误信息
预期结果
正常显示
系统提示错误
系统提示错误
(2)行为:某进程在某时间申请某设备,系统通过查看申请设备的状态和控制器、通道来判断该进程能否申请成功、是否阻塞等并动态的显示出进程申请的时间和使用时间等信息。
(3)表示:系统包括3个界面:主界面、申请进程界面和添加设备界面。主界面包含了初始化按钮、开始按钮、添加设备、申请新进程、暂停按钮。其中添加设备和申请新进程按钮分别于添加设备界面和申请进程界面接口。申请进程界面需要输入新进程名,申请设备的类型、标识符和进程开始时间和执行时间;添加设备界面需要输入设备的类型、标识符、控制器和通道。
功能测试应用背景:它是从使用者的角度来编写的,它关注系统提供的功能特征及其不同的处理条件;测试功能的不同处理流程(包括正常处理的和异常处理);一个功能测试用例仅用于测试一个功能,一个功能可能需要多个功能测试用例来覆盖。
测试说明
测试名称
独占设备的分配与回收
测试目的
验证系统初始化的成功与否
测试技术
功能测试
测试技术
操作系统课程设计报告
院(系):
专业:
学生姓名:
班级:学号:
题目:独占设备的分配与回收
起迄日期:
设计地点:实验中心
指导教师:
2011—2012年度 第2学期
完成日期:2012 年 7 月 10 日
一、课程设计目的
在多到程序环境下,系统中的设备供所有进程共享。为防止进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。每当进程项系统提出I/O请求时,只要是可能和安全带,设备分配程序编按照一定的策略,吧设备分配给请求用户。在有的系统中,为了确保在CPU与设备之间能进行通信,还应分配相应的控制器和通道。为了实现设备分配,必须在系统中设置相应的数据结构。
process3申请io资源
process1、process2、process3申请print资源
Process1申请xxx资源
预期结果
各进程单独执行显示
根据先来先服务申请释放资源并显示
显示没有该设备
测试结果
与预期相符
与预期相符
与预期相符
测试说明
测试名称
独占设备的分配与回收
测试目的
验证暂停功能能否实现
掌握独占设备的分配流程,会使用安全性算法检查设备分配是否安全
二、课程设计内容与要求
1)合理设计SDT、DCT、COCT、CHCT的数据结构
2)独占设备、控制器与通道的数目可在界面进行设置
3)进程申请使用独占设备时至少要求包括申请时间与使用时间
4)可读取样例数据(要求存放在外部文件中)进行独占设备、控制器与通道数目的初始化,进行进程申请设备的初始化
申请新进程increaseP类
Mythread类:进程执行的方法
MainF类
四、系统测试与调试分析
1、系统测试
测试方法:黑盒
测试技术:功能测试
测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
测试报告:必须包含最终测试结果:列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格。
//允许申请3个进程,可根据需要做相应更改
以上4个映射用于存放对应表的信息,设计为全局静态是为了能存储文件和添加的设备、控制器、通道信息。
2.3、算法流程图:
实现设计中主程序和其他子模块的算法,以流程图的形式表示,需画出函数和过程的调用关系图。
文件读取Fileread(初始化)类
添加设备increase类
5)点击开始运行后,系统自动根据初始设定的数据进行设备分配与回收,所有状态信息需动态地显示出来:设备、控制器、通道数目,阻塞队列情况等
6)运行中可动态增加申请设备的进程,可随时暂停,查看当前状态
7)使用可视化界面进行演示
三、系统分析与设计
1、系统分析
(1)信息:此系统中包括了SDT、DCT、COCT、CHCT表,其中SDT包括了设备的类型,设备标识符;DCT包括设备类型、设备标识符、设备状态、该设备指向的控制器;COCT包括控制器标识符、控制器状态、与控制器相连的通道;CHCT包括通道标识符、通道状态、与通道相连的控制器。
2.2、数据结构说明:
设计中用到了Map(映射)的数据结构,Map结构包括了key和value两部分,通过key的匹配来查询value的值,符合次涉及到的要求,解决了四张表之间的关系
publicstaticMapmapD=newHashMap();
//对应DCT表的映射,key值为设备类型
publicstaticMapmapS=newHashMap();