一、 课程教学的目标

(一)  课程性质

操作系统基础是计算机专业的核心专业课,操作系统课程设计是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。

(二)  课程的目的

操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握多道程序设计基本技能。课程设计的目标:

(1) 掌握进程和线程的概念;

(2) 掌握进程控制原语或进程控制系统调用的使用;

(3) 掌握多道程序设计的基本理论、方法和技术;

(4) 掌握相关语言进程控制的函数及windows98windows2000的进程控制的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字。

五、课程设计的软硬件环境

每个学生一台微机,需要安装windows98windows2000操作系统,配备VCVBjavaC编程语言,每个学生上机时间不少于24个小时。

六、实验内容

设计一个两道以上的程序,可以是固定的2道程序、也可以是灵活的多道模式。设计的内容可以是:

1)用多道程序技术实现一个游戏程序。如大炮打飞机、赛车比赛等。

2)用多道程序技术模拟客观世界一个多任务实际问题的解决。

七、资料收集

1Windows98/2000API函数手册

2VcVbjavaC++编程手册

3)操作系统基础(第2/3版 教材),汤子赢等,西北电子科技大学出版社

八、参考实列

下面给出一个军舰打飞机的游戏例题,只供学生参考和开阔思路,同学可根据自己的想法进行程序设计。

(一) 游戏功能

屏幕上方的飞机不断投下炸弹,射向屏幕下方的军舰船,游戏者通过按“→”“←”来控制船的移动避开炸弹或进行还击。具体程序中的设制由学生自己定义,可根据时间情况进行完善,时间允许游戏实现的功能就更全或更完善一些。

(二) 设计方案

 飞机、子弹、军舰和弹药可以设计成类,由类产生对县象,可移动的实体可以由对象产生进程。如果使用VB中,;由于飞机结构复杂,并没有直接画在窗体上,可采用引入图片的方法;其中的效果可引入API函数。飞机及轮船的图片可从office中截取,在ACDSEE中转换格式,利用photoshop中编辑制作。其中飞机中弹,飞机投弹药及轮船中弹都可是随机的。

(三) 进程的控制

进程可采用时钟控制也可以由操作系统根据时间片调度。由于程序中的许多事件的发生既要受时钟控制,又要在需要时仃止,这就需要采用进程同步和互斥的办法,同时又要考虑屏幕上的效果。