计算机科学与技术学院课程教案.docx
《计算机科学与技术学院课程教案.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术学院课程教案.docx(25页珍藏版)》请在冰豆网上搜索。
计算机科学与技术学院课程教案
计算机科学与技术学院
课程教案
学期2015/201-1
课程名称计算机操作系统综合设计
授课对象2013本科
学时数32
教学大纲《计算机操作系统综合设计》教学大纲2014
教材名称无
参考资料:
1、《操作系统实验教程》,陆松年主编,訾小超,潘理,龚玲编著,电子工业出版社出版,2010年4月。
2、《操作系统实验教程》,袁宝华编著,清华大学出版社,2010年01月。
3、《操作系统实验教程:
核心技术与编程实例》,顾宝根,王立松,顾喜梅编著,科学出版社出版,2003年02月。
4、《计算机操作系统综合设计指导书》,自编。
主讲教师范太华
课程教学总体设计
一、本课程的目的及要求
《计算机操作系统综合设计》是《计算机操作系统原理》课程的实践课程。
过操作系统上机实验,培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的程序的能力,加深对操作系统理论的理解。
使学生更好地掌握操作系统的基本概念、基本原理及基本功能,具有分析现代操作系统,设计和开发简单操作系统部分功能的基本能力。
本课程要求学生具有一定的编程能力,熟悉链表、树、栈等结构的学生能方便理解学习内容,但这些内容不是必须的。
二、本课程的培养目标
通过本实验,使学生深入理解操作系统内核,掌握操作系统相关理论并能灵活实用操作系统理论;掌握操作系统例程的编写方法,具备设计并实现部分操作系统函数的能力;熟练分析优秀操作系统内核结构及实现方法。
3、教学环节安排
本课程是是一门实践性很强的课程,主要内容分为两类:
一类是验证性实验,一类是设计性实验。
全部内容分为8个实验,其中验证类2个,设计类6个。
2个验证性实验为必做实验;6个设计类实验中,5个为必做实验,其中一个为选做实验。
对于设计类实验,原则上要求学生按照操作系统原来理论课程中的算法进行设计,实验过程中,教师可以根据学生的设计情况,提共参考代码供学生学习,但提供的代码不应该是完整的代码,必须要求学生通过分析、学习、完善完成实验。
在教学过程中,对于难道较大的设计类型实验,教师可以提前安排实验内容,要求学生提前做好设计,在实验课堂进行调试。
对于课堂没有通过的学生,也允许学生实验课后进行补充完善,下次上课再进行验收。
4、课程考核
实验成绩评定:
实验成绩评定方式包含实验报告成绩、实验过程成绩两个部分,其中实验过程成绩占70%、实验报告成绩占30%,如果其中任何一个成绩不及格,则总成绩按不及格处理。
5、参考资料
1.《操作系统实验教程》,陆松年主编,訾小超,潘理,龚玲编著,电子工业出版社出版,2010年4月。
2.《操作系统实验教程》,袁宝华编著,清华大学出版社,2010年01月。
3.《操作系统实验教程:
核心技术与编程实例》,顾宝根,王立松,顾喜梅编著,科学出版社出版,2003年02月。
4.《计算机操作系统综合设计指导书》,自编。
实验内容
1、必做实验
序号
实验项目
实验内容
学时
实验类型
(演示、验证、综合、设计研究)
组数
每组学生人数
1
进程创建模拟实现
运行给定的参考程序,观察进程创建的过程,并分析结果。
2
验证
40
1
2
进程同步模拟实现
运行给定的参考程序,观察P、V原语模拟实现进程同步的过程。
2
验证
40
1
3
进程撤销模拟实现
编写程序,实现对进程的撤销操作。
通过不断创建和撤销进程,观察进程的树的变化。
4
设计研究
40
1
4
进程调度模拟实现
编写程序,按某种调度算法实现对进程的模拟调度操作,分析比较不同调度算法的特点。
4
综合
40
1
5
死锁预防实现
编写程序实现银行家算法,动态进行资源申请、分配、安全性检测并给出分配结果。
4
设计研究
40
1
6
请求分页系统页面置换算法实现
编写程序,按某种算法
实现分页系统的页面置换。
观察不同算法的页面置换情况,分析比较不同算法的特点。
4
设计研究
40
1
7
磁盘调度管理实现
编写程序,设计多个磁
盘调度请求,按某种磁盘调度算法实现动态调度并输出调度序列。
观察不同算法的调度情况并比较异同点。
4
综合
40
1
2、选开实验
序号
实验项目
实验内容
学时
实验类型
(演示、验证、综合、设计研究)
组数
每组学生人数
1
进程管理实现
编写程序模拟实现对进程的创建、撤销、调度等管理。
8
综合
40
1
2
内存管理实现
模拟管理64M内存块,设计内存分配函数和内存回收函数,模拟实现动态分区分配和回收操作。
8
综合
40
1
3
文件系统设计
编写程序,模拟实现一个简单的文件管理系统,能够完成文件的创建、删除、读、写等操作。
8
综合
20-13
2-3
4
EXE文件装载实现
在DOS环境下编写一个可显示本人姓名的程序并生成可执行文件;然后编写装载程序,把该可执行文件装入内存中,执行并观察结果。
8
综合
20-13
2-3
计算机科学与技术学院课程教案
章节
实验1进程创建模拟实验
时间第周
第1讲
基本
内容
1.输入给定代码;
2.进行功能测试并得出正确结果。
教学
目标
1.理解进程创建相关理论;
2.掌握进程创建方法;
3.掌握进程相关数据结构。
重点
难点
难点:
1、进程的创建
2、进程的释放
作业
思考:
1.进程创建的核心内容是什么?
2.该设计和实际的操作系统进程创建相比,缺少了哪些步骤?
教学组织
教学情况记录
1.本实验是验证性实验,要求学生输入给定的实验原代码并用自己熟悉的编译程序进行编译,然后运行并观察运行结果。
因此,首先:
对学生详细说明本次实验的目的、任务及要求。
实验要求
1)分析进程创建函数createpc程序模块;
2)画出createpc函数程序流程图;
3)撰写实验报告。
测试要求
1)至少创建10个进程;
2)创建进程树中4层以上的数型结构。
2.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
3.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验2P、V原语的模拟实现
时间第周
第2讲
基本
内容
1.输入给定代码;
2.进行功能测试并得出正确结果。
教学
目标
1.理解信号量相关理论;
2.掌握记录型信号量结构;
3.掌握P、V原语实现机制。
重点
难点
重点难点:
P、V原语实现机制
作业
思考:
1.如果修改wait操作,使之能一次申请多个信号量?
2.该设计和实际的P、V操作有什么异同点?
教学组织
教学情况记录
1.本实验针对操作系统中信号量相关理论进行实验,要求实验者输入实验指导书提供的代码并进行测试。
代码主要模拟信号量的P操作(wait)和V操作(signal)。
实验要求
1)分析signal和wait函数功能模块;
2)画出signal和wait函数流程图;
3)撰写实验报告。
测试要求
1)至少进行10次以上的wait和signal操作;
2)要求wait操作出现进程等待队列;
3)对有等待队列的信号量进行signal操作。
2.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
3.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验3进程撤销模拟实现
时间第周
第3讲
基本
内容
1.采用动态或静态方法生成一颗进程树(进程数目≥20);
2.设计进程撤销算法;
3.实现进程撤销函数,采用级联方式撤销;
4.可动态撤销进程;
5.可动态观察进程树的情况;
6.测试程序并得到正确结果。
教学
目标
1.理解进程撤销相关理论;
2.掌握进程撤销流程。
重点
难点
重点:
设计程序实现进程的撤销操作及操作过程
难点:
程序设计及撤销操作处理
作业
1.进程撤销的核心内容是什么?
2.可否采用其它的撤销方法?
教学组织
教学情况记录
1.简要介绍进程控制的基本方法,以及操作系统中原语作用。
向学生明确为什么要进行进程的撤销操作。
撤销操作过程中应该要做什么样的工作。
通过本次设计实验,要求学生进一步加深对操作系统中进程管理及进程撤销的重要性及相关理论的理解。
2.本次实验是设计性实验,要求学生自己根据操作系统原理教材中关于进程撤销的有关流程,设计程序实现进程的撤销操作。
由于前面已有进程创建源代码,学生可以在前面进程创建的基础上,设计进程撤销程序,实现进程的撤销操作。
3.向学生明确本次设计实验的要求:
实验要求
1)编写程序完成实验内容;
2)画出撤销函数流程图;
3)撰写实验报告。
测试要求
1)构建1棵进程树,该树至少包含4层;
2)对该树中的多个进程进行删除,至少对一个含有孙子进程的进程进行删除。
4.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
5.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验4进程调度模拟实现
时间第周
第4讲
基本
内容
1.设计可用于该实验的进程控制块,进程控制块至少包括进程号、到达时间和要求服务时间;
2.动态或静态创建多个(≥10)进程;
3.实现FCFS调度算法;
4.可动态修改进程到达时间;
5.调度所创建的进程并显示调度结果。
教学
目标
1.理解进程调度相关理论;
2.掌握FCFS进程调度方法。
重点
难点
重点:
设计程序实现进程的调度操作及操作过程
难点:
程序设计及不同算法的调度操作处理
作业
1.FCFS调度的优缺点是什么?
2.短程调度还有哪些调度算法?
教学组织
教学情况记录
1.简要介绍进程调度的作用、类型及进程调度的重要性。
向学生明确为什么要进行进程调度操作。
调度操作过程中应该要做什么样的工作及注意事项。
通过本次设计实验,要求学生进一步加深对操作系统中进程管理及进程调度的重要性及相关理论的理解。
2.本次实验是一个综合性实验,要求学生自己根据操作系统原理教材中关于进程调度的有关流程,设计程序实现进程调度操作。
由于前面已经实现进程创建和进程撤销实验,学生可以在前面进程创建的基础上,共享已有的PCB数据结构设计进程调度程序,实现进程的调度操作。
在调度算法选择上,学生可以在先来先服务、短进程优先、高响应比优先、优先级调度、轮转调度等算法中进行选择,选择其中的一种或多种调度算法进行调度实现。
通过实验,重点锻炼学生对各种调度算法的分析理解。
3.明确本次实验的要求:
实验要求
1)编写程序完成实验内容;
2)画出FCFS调度函数流程图;
3)撰写实验报告。
测试要求
1)要求测试结果至少包含进程号、到达时间、服务时间、开始执行时间,示例如下:
进程号
到达时间
服务时间
开始执行时间
0
0
3
0
1
1
5
3
2
2
5
8
2)可多次修改进程到达时间,进行多次调度并显示结果。
4.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
5.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验5死锁预防实现
时间第周
第5讲
基本
内容
编程实现银行家算法
动态进行资源申请、分配、安全性检测并给出分配结果。
教学
目标
1.理解死锁避免相关内容;
2.掌握银行家算法主要流程;
3.掌握安全性检查流程。
重点
难点
重点:
设计程序实现银行家及操作过程
难点:
银行家算法中资源分配和安全性检查算法的实现
作业
1.针对死锁有哪些可行方案?
2.死锁解除的难点是什么?
教学组织
教学情况记录
1.简要介绍死锁的概念、原因?
如何处理死锁?
什么是死锁的避免。
向学生明确为什么要进行进程死锁实验。
银行家算法是如何避免死锁的。
通过本次设计实验,要求学生进一步加深对操作系统中银行家算法避免死锁的的理解。
2.本次实验是设计性实验,要求学生自己根据操作系统原理教材中关于银行家算法的流程,设计程序实现资源分配和安全性检查。
3.由于前面已经实现进程创建、进程撤销、进程调度实验,学生可以在前面实验的基础上,共享已有的PCB数据结构设计进行资源请求的进程,实现进程的资源请求队列(当然学生也可以单独设计资源请求的进程队列),便于实验末尾将前面的各个实验组合成一个功能较完整的实验程序。
4.明确本次实验的要求:
实验要求
1)编写程序完成实验内容;
2)画出安全性检测函数流程图;
3)撰写实验报告。
测试要求
1)进行Request请求,输入参数为进程号、资源号和资源数;
2)进行3次以上的Request请求;
3)至少进行1次资源数目少于可用资源数,但不安全的请求。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验6请求分页系统页面置换算法实现
时间第周
第6讲
基本
内容
1.设计程序实现请求分页系统中有关页面置换算法
教学
目标
1.理解页面置换相关理论;
2.掌握请求分页系统中页面置换算法。
重点
难点
重点:
设计程序实现某种页面置换算法。
难点:
算法的程序实现。
作业
1.改进型Clock算法和Clock算法有何异同点?
2.页面置换还有哪些算法?
教学组织
教学情况记录
1.简要介绍虚拟存储管理中,请求分页系统页面置换的目的,页面置换算法的类型、特点。
明确本次实验的目的内容,通过本次实验应该到达的目的。
2.本次实验属于设计性实验。
指导学生在众多算法中,选择OPT、FIFO、LRU、CLOCK及改进算法中的某一种进行程序设计,从而实现某种算法的页面置换。
3.由于算法较多,学生可以自己设计一种或多种算法进行调式、测试并观察结果;也可选择一种算法进行设计,然后与其他同学的算法程序进行交换测试并观察结果。
观察不同算法的页面置换情况,分析比较不同算法的特点,加深对页面置换算法的理解。
4.本次实验要求:
实验要求
1)编写程序完成实验内容;
2)画出页面置换算法函数流程图;
3)撰写实验报告。
测试要求
1)修改页面调用标志和修改标志5次以上;
2)进行3次以上页面调度。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验7磁盘调度管理实现
时间第周
第7讲
基本
内容
设计程序实现某种磁盘调度算法
教学
目标
1.理解磁盘调度相关理论;
2.掌握多种磁盘调度算法;
3.彻底掌握SCAN磁盘调度算法。
重点
难点
重点:
磁盘调度算法及实现。
难点:
磁盘调度算法的程序设计。
作业
1.SCAN算法有哪些优缺点?
2.SCAN与CSCAN有什么异同?
教学组织
教学情况记录
1.简要介绍磁盘调度的概念、类型及特点。
不同磁盘调度算法对I/O时间的影响。
明确本次实验的目的、内容,通过本次实验应该到达的目的。
2.本次实验属于综合性实验。
涉及进程、磁盘管理等方面。
学生在设计过程中,涉及进程部分可以共享进程调度实验中使用的进程数据结构。
指导学生在众多算法中,选择FIFO、SSTF、SCAN、CSCAN算法中的某一种进行程序设计,从而实现某种算法的磁盘调度。
3.由于算法较多,学生可以自己设计一种或多种算法进行调式、测试并观察结果;也可选择一种算法进行设计,然后与其他同学的算法程序进行交换测试并观察结果。
观察不同算法的页面置换情况,分析比较不同算法的特点,加深对页面置换算法的理解。
4.本次实验要求:
实验要求:
1)编写程序完成实验内容;
2)画出所设计调度算法的调度函数流程图;
3)撰写实验报告。
测试要求:
1)进行3次以上的调度测试;
2)修改3次以上开始磁道数据。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验8进程管理实现
时间第周
第8讲
基本
内容
1.设计程序实现进程管理
2.完成进程的创建、撤销、调度等操作
教学
目标
1.掌握进程管理的基本方法。
2.掌握进程控制过程中进程创建、撤销及进程调度的基本方法。
重点
难点
重点:
进程的创建、撤销、调度过程的程序设计。
难点:
程序设计。
作业
教学组织
教学情况记录
1.简要介绍操作系统中进程管理的重要性,进程管理中的进程管理基本内容,着重介绍进程创建、撤销、调度等的实现方法。
明确本次实验的目的、内容,通过本次实验应该到达的目的。
2.本次实验是一个综合实验,实验内容涉及进程创建、撤销、调度等基本操作。
学生在实验设计过程中,对于创建和撤销可以共享前面实验过程中使用的进程创建、进程撤销实验源代码。
3.在进程调度过程的设计中,由于进程调度涉及到众多调度算法,不同应用目的操作系统也使用不同的调度算法,学生在设计过程中可以选择一种或以上的算法进行程序设计,并观察程序运行结果,进一步加深对程序创建、撤销调度方法的理解。
4.本次实验要求:
实验要求:
1)编写程序完成实验内容;
2)画出进程管理的流程图;
3)撰写实验报告。
测试要求:
1)进行3次以上的调度测试;
2)修改3次以上的进程调度参数。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验8内存管理实现
时间第周
第8讲
基本
内容
1.设计内存管理程序模拟管理64M内存块。
2.设计内存分配函数和内存回收函数,模拟实现动态分区分配和回收操作。
教学
目标
1.掌握内存管理的基本方法。
2.掌握内存管理中动态分区分配方法的原理及分配与回收操作。
重点
难点
重点:
模拟64内存管理的基本方法。
难点:
管理、分配与回收程序设计。
作业
教学组织
教学情况记录
1.简要介绍操作系统中内存管理的重要性,内存管理的基本方法,特别是动态分区管理的方法、特点及数据结构。
明确本次实验的目的、内容,通过本次实验应该到达的目的。
2.本次实验是一个综合实验,实验内容涉及内存管理中的动态分区分配方法,包括内存的管理、内存的分配方法及回收。
回收过程中,对于不同的内存区域,必须采用不同的回收处理。
学生在实验设计过程中,对于实验过程中使用的进程,可以共享前面实验使用的进程数据结构。
3.本次实验要求:
实验要求:
1)编写程序完成实验内容;
2)画出内存动态分区管理的流程图;
3)撰写实验报告。
测试要求:
1)进行3次以上的内存分配、回收管理测试;
2)修改3次以上的进程请求参数。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验8文件系统设计
时间第周
第8讲
基本
内容
1.编写程序,模拟实现一个简单的文件管理系统
2.文件系统能够完成文件的创建、删除、读、写等操作。
教学
目标
1.通过文件系统设计,掌握操作系统中的文件管理方法。
2.掌握操作系统中文件系统管理的基本操作。
重点
难点
重点:
文件系统的设计,实现对文件的基本操作。
难点:
文件系统的架构及实现。
作业
教学组织
教学情况记录
1.文件系统是操作系统中的重要功能,数据的存储、管理等都有文件系统来实现。
简要介绍操作系统中文件管理的重要性,文件管理中的文件创建、删除、都、写等操作的实现方法。
明确本次实验的目的、内容,通过本次实验应该到达的目的。
4.本次实验是一个综合实验,实验内容涉及文件系统的设计,及文件系统中的文件创建、删除、读、写等功能的实现。
学生在实验设计过程中,可以按2-3人为组组成团队进行设计。
5.在文件系统功能设计过程中,不能采用系统调用的方式进行文件的创建、删除、读、写等操作,应该自己设计程序,建立一个虚拟的文件系统,模拟实现文件管理操作功能。
4.本次实验要求:
实验要求:
1)编写程序完成文件系统设计;
2)画出文件系统的架构图及文件创建、删除等功能的流程图;
3)撰写实验报告。
测试要求:
1)进行3次以上的文件操作,包括:
创建、删除、读、写等操作。
5.加强实验过程的指导,对实验过程中出现的个性问题单独指导,对共性问题集中讲解。
特别注意学生在实验设计中出现的算法理解方面的错误,及时予以纠正,保证实验结果的正确性。
6.加强实验结果的检查和过程成绩评定。
对每一个学生的实验结果进行检查,根据实验完成情况客观评定过程成绩。
计算机科学与技术学院课程教案
章节
实验8EXE文件装载实现
时间第周
第8讲
基本
内容
1.在DOS环境下编写一个可显示本人姓名的程序并生成可执行文件;
2.编写装载程序,把该可执行文件装入内存中,执行并观察结果
教学
目标
1.掌握exe