操作系统课程设计教学大纲
更新时间:2024-06-30 21:46:01 阅读量: 综合文库 文档下载
操作系统课程设计课程教学大纲
名 称: 操作系统课程设计 英文名称: operating system 实习周数: 2 安排学期: 5
适用专业: 软件工程、网络工程
其中实验学时:
学 分: 2 课程编码:
一、课程设计目的及任务
操作系统是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。
操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统基本理论与管理方式。在算法基础上,解决实际的管理功能的问题,提高学生实际应用、编程的能力。
主要任务是实现操作系统和相关系统软件的设计,其中涉及进程创建,同步,进程间的通信,存储管理,文件系统等操作系统概念。
二、课程设计的基本要求
1)对需要上机完成的题目进行认真分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据。
2)以完整的作业包的形式提交原始代码、设计文档和可运行程序。课程设计报告字数不少于2000字,主要内容有:
(1)概述:设计主要完成的任务和解决的主要问题; (2)设计的基本概念和原理;
(3) 总体设计:实现的方法和主要技术路线;
(4) 详细设计:使用主要控件、函数; (5) 简要的使用说明;
(6)总结:特色、经验、教训和感受; 三、课程设计地点及要求
每个学生一台微机,需要安装windows98或windows2000操作系统,配备VC、VB、java或C编程语言,每个学生上机时间不少于24个小时。
四、课程设计的选题原则
在下面各设计任务中按学号指定一个题目进行设计。
五、课程设计的内容
设计一: 设计任务:
1
实现一个简单的shell(命令行解释器),类似于bash, csh等。本设计的主要目的在于学会如何在Unix系统下创建进程和管理进程。
要求实现的shell支持以下内部命令: 1. cd <目录>
更改当前的工作目录到另一个<目录>。如果<目录>未指定,输出当前工作目录。如果<目录>不存在,要求有适当的错误信息提示。改命令应能够改变PWD的环境变量。
2. environ
列出所有环境变量字符串的设置(类似于Unix系统下的env命令)。 3. echo <内容> 显示echo后的内容且换行。 4. help
简短概要地输出你的shell的使用方法和基本功能。 5. jobs
输出shell当前的一系列子进程,要求提供子进程的命名和PID号。 6. quit, exit, bye 退出shell。
所有的内部命令应当优于在$PATH中同名的程序。
任何非内部命令必须请求shell创建一个新进程,且该子进程执行指定的程序。这个新进程必须继承shell的环境变量和指定的命令行参数。
要求实现的shell支持以下内部命令:
1. Batch Processing 如果shell启动带有一个文件名作为参数,打开该文件并执行文件里所有命令。待所有进程全部结束退出shell。
2. Debugging 提供-v选项,shell启动时打开此选项将在运行过程中输出若干调试信息。在该模式下,shell应该显示所有被创建了的进程的PID号,通报已结束的子进程和传递给子进程的参数等。
3. Prompt (命令行提示符) 解释器打印$PS2作为提示符。
4. Background Processing 如果命令以符合&终止,在后台并发执行该程序。Shell立即等待下一命令的输入,而不等待该程序的结束。
注:所有命令和参数由空格或tab符分隔。 设计二: 设计任务:
掌握进程的管道通讯机制和信号量同步互斥机制。 1. 进程的管道通讯
2
编制一个程序,程序中创建一个子进程。然后父子进程各自独立运行,父进程不断地在标准输入设备上读入小写字母,写入管道。子进程不断地从管道中读取字符,转换为大写字母后输出到标准输出设备上。当读到x时,结束。
2. 信号量实现的同步互斥机制
编制一个程序,程序中创建5个子进程,代表五位哲学家,然后父进程结束。使用信号量机制解决哲学家进餐问题。当哲学家进餐时,屏幕输出:
[进程号] eating!
当哲学家思考时,屏幕输出: [进程号] thinging!
相关的系统调用和函数:pipe(); write(); read(); semget(); sepop(); semctl(); 要求:查找并阅读上述系统调用的相关资料,将上述相关的函数封装为P( )、V( )操作,使用你封装的P( )、V( )操作实现5位哲学家的同步和互斥。
设计三: 设计任务:
一个十字路口,共有四组红绿灯,每个路口的车辆都遵循“红灯停、绿灯行”的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展示出合理的“十字路口交通管理”情况。
1. 车辆数目:每个路口的车辆数目不超过5辆,程序能够提供参数来设定初始的车辆数目。
2. 交通灯设定:初始情况一个路口为红灯、一个路口为绿灯;红灯变为绿灯的间隔为3秒,必须保持十字路口交通灯的设定正确。
3. 车辆通行设定:路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固定、可以自行计算,但是不能为3秒。(即必须体现交通灯对通行的管制)。
提示
1. 进程的互斥:交通灯进程实际上是互斥的,即不能同时为红或者同时为绿。 2. 进程的消息通信或其他通信方式:对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆已经通过了路口。
3. 进程的调度:停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。
设计四: 设计任务:
请求页式管理是一种常用的虚拟存储管理技术。本设计通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。
通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:
3
① 50% 的指令是顺序执行的;
② 25% 的指令是均匀分布在前地址部分; ③ 25% 的指令是均匀分布在后地址部分。 具体的实施方法是:
①在 [0,319] 的指令地址之间随机选取一起点 m; ②顺序执行一条指令;
③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为 m′; ④顺序执行一条指令,其地址为 m′+1;
⑤在后地址 [m′+2,319] 中随机选取一条指令并执行 ; ⑥重复上述步骤② ~ ⑤ , 直到执行 320 次指令。 将指令序列变换成为页地址流 设:①页面大小为 1K;
②用户内存容量为 4 页到 32 页 ; ③用户虚存容量为 32K 。
在用户虚存中,按每 K 存放 10 条指令排列虚存地址,即 320 条指令在虚存中的存放方式为:
第 0 条 ~ 第 9 条指令为第 0 页 ( 对应虚存地址为 [0,9]); 第 10 条 ~ 第 19 条指令为第 1 页 ( 对应虚存地址为 [10,19] ) ; ┇ ┇
第 310 条 ~ 第 319 条指令为第 31 页 ( 对应虚存地址为 [310,319]) 。 按以上方式,用户指令可组成 32 页。
计算并输出下述各种算法在不同内存容量下的命中率。 先进先出的算法 (FIFO); 最近最少使用算法 (LRR); 最少访问页面算法 (LFR); 最近最不经常使用算法 (NUR)。 提示
1. 命中率 = 1 - 页面失效次数∕页地址流长度
在本实验中,页地址流长度为 320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。
4
2. 随机数产生办法
关于随机数产生办法,Windwos系统提供函数srand( ) 和 rand( ),进行初始化和产生随机数。例如:
#include
srand( (unsigned)time( NULL ) ); 语句可初始化一个随机数 ;
a[o]=10 * rand( ) / 32767 * 319 + 1; a[1]= 10 * rand( ) / 32767 * a[o]; ┇
语句可用来产生 a[0] 与 a[1] 中的随机数。 设计五: 设计任务:
模拟Linux文件系统。在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的 模拟Linux文件系统 。
1. 在现有机器硬盘上开辟20M的硬盘空间,作为设定的硬盘空间。
2. 编写一管理程序对此空间进行管理,以模拟Linux文件系统,具体要求如下: (1) 要求盘块大小1k 正规文件 (2) i 结点文件类型 目录文件 (共1byte)
块设备 管道文件 物理地址(索引表) 共有13个表项,每表项2byte 文件长度 4byte 。联结计数 1byte (3)0号块 超级块 栈长度50
空闲盘块的管理:成组链接 ( UNIX) 位示图法 (Linux) (4)每建一个目录,分配4个物理块 文件名 14byte (5)目录项信息
i 结点号 2byte (6)结构: 0#: 超级块
1#-20#号为 i 结点区 20#-30#号为根目录区 3. 该管理程序的功能要求如下:
5
(1) 能够显示整个系统信息,源文件可以进行读写保护。目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开。
(2) 改变目录:改变当前工作目录,目录不存在时给出出错信息。
(3) 显示目录:显示指定目录下或当前目录下的信息,包括文件名、物理地址、保护码、文件长度、子目录等(带/s参数的dir命令,显示所有子目录)。
(4) 创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。 (5) 删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。
(6) 建立文件(需给出文件名,文件长度)。 (7) 打开文件(显示文件所占的盘块)。
(8) 删除文件:删除指定文件,不存在时给出出错信息。 4. 程序的总体流程为: (1) 初始化文件目录;
(2) 输出提示符,等待接受命令,分析键入的命令;
(3) 对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。
六、课程设计的具体日程安排
序号 1 2 3 4 5 6 布置任务 问题分析及解决方案确定 形成编程思路 使用具体语言实现算法 上机调试程序 编写课程设计报告 内容 地点 教室 实验室 实验室 实验室 时间安排(天) 0.5 2 3 3 实验室、图书馆 1 实验室、图书馆 2 七、考核及成绩评定
教师根据设计报告、软件的运行演示和学生回答问题的情况评定成绩。
(1) 设计报告规范、完整,概念原理论述清楚、软件设计结构合理,独立完成设
计,软件运行正常,回答问题准确明了,可以评为优秀(A)。
(2) 设计报告规范、完整,概念原理论述清楚、软件设计结构合理,独立完成、
软件基本运行正常,回答问题正确,可以评为良(B)。 (3) 设计报告规范、概念原理论述基本清楚、软件设计结构合理,基本独立完成,
软件基本运行正常,回答问题部分正确,可以评为中良(C)。
(4) 设计报告基本规范、概念原理论述基本清楚、软件设计结构基本合理,部分
独立完成,软件基本可以运行,回答问题部分正确,可以评为及格(D)。 (5) 设计报告不规范、概念原理论述不清楚、软件设计结构不合理,大部分不能
独立完成,软件基本不能运行,回答问题大部分不正确,可以评为不及格(E)。
6
八、主要教材、参考书
[1]汤子嬴.计算机操作系统.西安:西安电子科技大学出版社.2008 [2]谭耀铭.操作系统.北京:中国人民大学出版社.1999
[3]张尧学,史美林.计算机操作系统教程(第三版).北京:清华大学出版社.2006
制定人:崔广才
审定人:高培成
2010年10月
7
正在阅读:
操作系统课程设计教学大纲06-30
平“语” 近人观后感 学好平“语” 近人中的“德”04-02
初中语文--古诗文教学案例研究03-16
心理健康教育行考作业05-02
系梁、横梁及桥面系施工专项方案03-31
员工晋升晋级管理制度 - 副本07-11
2015中考数学模拟试卷805-19
小学五年级常见作文题目讲解03-08
缠中说禅回复总结之十 - 缠中说禅 MACD - 图文10-29
35kV线路金具统计见表09-01
- 天大砼方案 - 图文
- 农业科技网络书屋能力提升_玉米错题选
- DNS习题
- 浅议检察官对罪犯谈话的技巧与效果
- 高考语文文言文翻译专题训练
- AB类学科竞赛目录(2015)
- 建筑面积计算新规定(2015最新)
- Revit2012初级工程师题集一
- 十三五项目米线可行性报告
- 2013体育学院党组织建设工作总结
- 2014Revit工程师题库
- 高中数学如何实施研究性学习
- 茶艺表演 中英互译
- 小学音乐湘文艺版 四年级下册 第十一课《(歌表演)脚印》优质课公
- 山西省农村合作经济承包合同管理条例
- 2015年镇江市中考化学一模试题参考答案及评分标准(定稿)
- 统计 题集
- 批评意见清单
- 8潞安集团蒲县黑龙关煤矿矿业公司2
- 鄂教版四年级语文上册复习精要(光谷四小)
- 教学大纲
- 操作系统
- 课程
- 设计
- 论文写作中常用的研究方法
- 新湘教版七年级数学上册《不等式的基本性质(课时2)》导学案
- 知识产权法复习知识点
- 硕士毕业论文-微量泵入硝普钠对血管内皮损伤的研究
- 初中英语书面表达教学的有效性及中考复习备考建议参考答案
- 120万吨年催化汽油加氢脱硫装置稳定塔设计 毕业论文
- 2011-2013年全国中考化学试题分类汇编:碳和碳的氧化
- 浙江省进一步划定永久基本农田技术方案
- 《长恨歌》与《沙恭达罗》的平行研究
- 水上作业专项方案(长江抛石)
- 蚁群算法与模拟退火算法对旅游路线问题的探究(附matlab程序)
- 《利用信息技术优化小学语文课堂教学》开题报告(修改稿)新
- 华生人性照护理论
- 儿科护理学章节练习题
- 【北师大版】一年级数学上册《名校期末测试卷》(附答案)
- 江西省2016年上半年水质化验工初级工考试试题
- 学校规章制度大全
- 市内人行天桥垂直绿化施工组织设计技术标
- 广东电网有限责任公司业扩报装及配套项目管理细则【2017年8月】
- 备战2013年历届高考数学真题汇编专题1 集合 理