(一) 课程性质
“操作系统基础”是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。
(二) 课程的目的
操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握多道程序设计基本技能。课程设计的目标:
(1) 掌握进程和线程的概念;
(2) 掌握进程控制原语或进程控制系统调用的使用;
(3) 掌握多道程序设计的基本理论、方法和技术;
(4) 掌握相关语言进程控制的函数及windows98或windows2000的进程控制的API函数和MFC的使用
(5) 培养学生多道程序设计的能力;
(一) 课程设计的题目
基于WINDOWS的多道程序设计
(二) 设计内容
本课程设计的内容为“多道程序间的同步和互斥操作”,其指导思想是通过这个课程设计掌握多道程序的基本要点,解决进程和线程概念的理解难点,以利用基本概念和原理的进行多道程序设计为重点,在有限的一周时间内,利用诸如VC++或Java掌握多道程序及其进程同步和互斥的设计的基本方法, 达到能用、会用、巧用的效果。
(三) 设计的要求
(1) 课程设计按班分小组进行,每小组3人;
(2) 一定使用多道程序设计和的同步和互斥技术;
(3) 外观明显体现多道的特征;
(4) 每个小组选择其中的一个题目;
(5) 根据题目的基本要求进行丰富的创意和想象。
(四) 学时分配
(1) 基本任务简介、原理讲解 2 学时
(2) 软件设计方法 6 学时
(3) 上机设计、编程、调试 26 学时
(4) 检查考核 2 学时
(一) 设计的步骤
(1) 需求分析:了解基本原理,确定软件的基本功能,查找相关资料,画出基本的数据流图;
(2) 总体设计: 确定软件的总体结构、模块关系和总体流程;
(3) 详细设计:确定模块内部的流程和实现算法。
(4) 上机编码和调试;
(5) 实际数据运行测试。
(二) 组织形式与指导方法
课程组织形式
(1) 课程设计按班分小组进行,每小组3人;
(2) 小组设课题组长一名;
(3) 每个小组推荐一个优秀开发人员;
(4) 每个小组的成员要有明确的分工;
(5) 小组按贡献大小自我评定成绩(ABCDE)。
教师指导方法
基本任务简介、原理讲解、软件设计方法有教师统一讲解。
每小班大约30人,每小班至少配备2名指导教师跟综辅导答疑,解决技术难题。要求指导教师熟悉多道程序间的协同操作、进程同步和互斥的原理,具有VC++或Java程序设计的经验。
(三) 设计的考评
教师根据设计报告、软件的运行演示和学生回答问题的情况评定成绩。
(1) 设计报告规范、完整,概念原理论述清楚、软件设计结构合理,独立完成设计,软件运行正常,能够突出表现多道程序运行的特点,回答问题准确明了,可以评为优秀(A)。
(2) 设计报告规范、完整,概念原理论述清楚、软件设计结构合理,独立完成、软件基本运行正常,能够表现多道程序运行的特点,回答问题正确,可以评为良(B)。
(3) 设计报告规范、概念原理论述基本清楚、软件设计结构合理,基本独立完成,软件基本运行正常,基本能够表现多道程序运行的特点,回答问题部分正确,可以评为中良(C)。
(4) 设计报告基本规范、概念原理论述基本清楚、软件设计结构基本合理,部分独立完成,软件基本可以运行,基本能够表现多道程序运行的特点,回答问题部分正确,可以评为及格(D)。
(5) 设计报告不规范、概念原理论述不清楚、软件设计结构不合理,大部分不能独立完成,软件基本不能运行,回答问题大部分不正确,可以评为不及格(E)。
(一) 课程设计报告主要内容
(1)概述:设计主要完成的任务和解决的主要问题;
(2)设计的基本概念和原理;
(3)总体设计:实现的方法和主要技术路线;
(4)详细设计:使用主要控件、函数;
(5)完成的情况;
(6)简要的使用说明;
(7)总结:特色、经验、教训和感受;
(8)参考文献
(二)课程设计报告编写的基本要求
(1)采用B5纸书写或打印;
(2)如为打印,题目采用宋体3号字加重,正文小标体采用宋体四号,正文采用宋体五号字;
(3)字数不少于2000字。
每个学生一台微机,需要安装windows98或windows2000操作系统,配备VC、VB、java或C编程语言,每个学生上机时间不少于24个小时。
六、实验内容
设计一个两道以上的程序,可以是固定的2道程序、也可以是灵活的多道模式。设计的内容可以是:
(1)用多道程序技术实现一个游戏程序。如大炮打飞机、赛车比赛等。
(2)用多道程序技术模拟客观世界一个多任务实际问题的解决。
(1)Windows98/2000API函数手册
(2)Vc、Vb、java、C++编程手册
(3)操作系统基础(第2/3版 教材),汤子赢等,西北电子科技大学出版社
下面给出一个军舰打飞机的游戏例题,只供学生参考和开阔思路,同学可根据自己的想法进行程序设计。
(一) 游戏功能
屏幕上方的飞机不断投下炸弹,射向屏幕下方的军舰船,游戏者通过按“→”或“←”来控制船的移动避开炸弹或进行还击。具体程序中的设制由学生自己定义,可根据时间情况进行完善,时间允许游戏实现的功能就更全或更完善一些。
(二) 设计方案
飞机、子弹、军舰和弹药可以设计成类,由类产生对县象,可移动的实体可以由对象产生进程。如果使用VB中,;由于飞机结构复杂,并没有直接画在窗体上,可采用引入图片的方法;其中的效果可引入API函数。飞机及轮船的图片可从office中截取,在ACDSEE中转换格式,利用photoshop中编辑制作。其中飞机中弹,飞机投弹药及轮船中弹都可是随机的。
(三) 进程的控制
进程可采用时钟控制也可以由操作系统根据时间片调度。由于程序中的许多事件的发生既要受时钟控制,又要在需要时仃止,这就需要采用进程同步和互斥的办法,同时又要考虑屏幕上的效果。