《操作系统》实验教学大纲
课程名称:
| 操作系统
|
|
|
课程编号:
| 408015
| 420013
| 436016
|
适用专业:
| 计算机科学与技术
| 网络工程
| 软件工程
|
总 学 分:
| 3.5
|
|
|
总 学 时:
| 64
|
|
|
其中实验学时
| 16
|
|
|
一、实验课程性质、目的与任务
《操作系统》课程实验与《操作系统》理论课程密切结合,是以操作系统实现算法为主的、非单独设课的四年制本科计算机专业学生的实验课程。所涉及的计算机知识面较广,具有较强的综合性。通过本门课程的学习,学生应掌握操作系统的基本特征和功能,了解操作系统的发展趋势,熟悉操作系统各功能中的基本算法,对操作系统的基本工作原理有深刻的认识,具有分析和设计操作系统主要功能、基本算法的能力,为学习后续课程和从事实践技术工作奠定基础。
通过本实验课程,应达到以下几个教学目的
1. 对操作系统的发展过程、功能结构、特征和发展趋势有清晰的了解。
2. 掌握进程和线程的创建、撤消和运行,进程调度、进程通信、死锁检测等基本方法;
3. 掌握内存空间的分配与回收、分页系统中的页面转换算法的基本原理与实现方法;
4. 掌握磁盘的调度与管理方法;
5. 通过模拟文件管理的工作过程,了解文件操作命令的实质。
6. 对网络操作系统的功能和特征有清晰的了解。
7. 了解操作系统安全相关的基本概念。
8. 具备分析和设计操作系统基本算法的能力。
二、实验教学基本要求
要求掌握流行操作系统的基本使用与管理操作,并学会用高级程序设计语言设计有关进程创建、进程调度、进程通信、死锁以及存储管理、设备管理、文件管理等主要算法的模拟程序。
上机实验要求:
1、准备好上机所需的程序;
2、上机输入和调试自己所编写的程序;
3、上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;算法分析;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| 安装buntu 10.0与Linux下C语言程序开发过程
| 2
| √
|
|
|
| √
|
|
2
| 进程与线程的用法
| 2
| √
|
|
|
| √
|
|
3
| 进程调度
| 2
|
| √
|
|
| √
|
|
4
| 生产者消费者问题的实现
| 2
|
|
| √
|
| √
|
|
5
| 死锁检测
| 2
|
| √
|
|
| √
|
|
6
| 连续存储分配管理
| 2
| √
|
|
|
| √
|
|
7
| 页面置换算法
| 2
|
| √
|
|
| √
|
|
8
| 磁盘臂调度算法
| 2
|
| √
|
|
| √
|
|
9
| 哲学家问题的实现
|
|
|
| √
|
|
| √
|
10
| 理发师问题的实现
|
|
|
| √
|
|
| √
|
11
| 读者-写者问题的实现
|
|
|
| √
|
|
| √
|
12
| 空闲区管理
|
|
| √
|
|
|
| √
|
13
| 文件操作
|
| √
|
|
|
|
| √
|
14
| 目录操作
|
| √
|
|
|
|
| √
|
四、实验教学内容
实验一:安装buntu 10.0与Linux下C语言程序开发过程
1、实验目的
掌握Linux操作系统软件Ubuntu10.0.4版的安装过程,了解Linux的基本操作
掌握Linux下C语言程序开发过程,熟悉使vi、gcc、gdb等命令的用法
2、方法原理
按Ubuntu10.0.4版安装要求进行系统安装,按gcc、gdb命令格式进行程序编译与调度。
3、主要实验仪器及材料
计算机、Linux操作系统
4、实验内容
(1)安装Linux操作系统软件Ubuntu10.0.4版,并通过网络对系统进行升级与配置。
(2)在Linux下用C语言程序编写一个简章程序并调试运行。
实验二:进程与线程的用法
1、实验目的
掌握进程与线程的创建、状态、进程等待、执行与进程终止等系统函数的使用方法,了解进程的状态与转换方法。
2、方法原理
利用linux下进程与线程函数编写相关程序。
3、主要实验仪器及材料
计算机、Linux操作系统
4、实验内容
以多线程实现多文件单词个数统计为例:已知2个.txt文件,通过多线程操作来统计两个文件中单词的个数。
实验三:进程调度
1、实验目的
掌握典型的进程调度算法程序的实现,理解进程调度方法。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
主要实现:(1)先来先服务FCFS(2)短作业优先SJF(三)优先级调度(四)时间片轮转调度算法的实现
实验四:生产者消费者问题的实现
1、实验目的
掌握利用信号量解决进程之间的同步与互斥问题。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
利用信号量实现生产者消费者中的同步与互斥。
实验五:死锁检测
1、实验目的
掌握死锁检测方法。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
根据银行家算法,在进程进行资源分配时,判定状态的安全性以决定是否分配资源。
实验六:连续存储分配管理
1、实验目的
掌握连续存储分配方式中空闲内存的管理方法。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
按连续存储分配要求,对内存空闲空间进行分配与回收。
实验七:页面置换算法
1、实验目的
掌握分布存储管理系统中页面置换算法的实现。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
按照FIFO、OPT、LRU页面置换算法要求,编写程序以模拟实现FIFO、OPT、LRU页面置换算法,并计算缺页率。
实验八:磁盘臂调度算法
1、实验目的
掌握分布存储管理系统中页面置换算法的实现。
2、方法原理
用C语言或VC编写相应算法程序。
3、主要实验仪器及材料
计算机、Linux操作系统、VC6.0
4、实验内容
按照FCFS、SDF、SCAN调度算法要求,编写程序实现FCFS、SDF、SCAN调度算法,并计算磁头总的移动次数。
五、考核方法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
1、实验指导书
[1]自编《操作系统实验指导书》
[2]《Linux操作系统实验教程》,费翔林,高等教育出版社,2009年4月
2、 主要参考书
[1]《计算机操作系统》汤子瀛哲凤屏汤小丹编著西安电子科技大学出版社,2007年
[2]《现代操作系统》(第三版),(荷)Andrew S.Tanenbaum著,陈向群、马洪兵译,机械工业出版社,2009年7月
[3]《计算机操作系统教程》(第三版),张尧学,,史美林,张高编著,清华大学出版社出版, 2006年10月
[4]《操作系统原理与应用》(第三版),沈祥玖李作纬,高等教育出版社,2009年11月
主 撰 人:羊四清
审 核 人:罗如为
2012.6