操作系统课程设计
一、 目的
操作系统课程设计是计算机相关专业学生必修的实践性教学环节之一,是学习了操作系统课程后的综合性设计实践课程,是对该课程所学知识进行的一次全面的综合训练。通过学生完成所要求的设计任务,使学生系统掌握操作系统的基本原理,系统的设计与实现方法,培养学生利用所学知识解决复杂工程问题的能力。通过查阅资料、自学、指导和讨论,使学生掌握操作系统的功能模块的设计与实现方法;通过制定合理的实验方案和实验结果的分析,培养学生的科学实验能力;通过对实验结果的分析和总结以及课程设计报告的撰写,掌握科学实验方法以及科学实验报告的撰写方法;通过交流和答辩,培养学生的口头交流和表达能力。
二、总体要求
课程设计总时间为1.5周,每个人单独完成该题目的分析、设计和编码实现,并撰写课程设计报告文档。
三、设计题目
实现一个CPU&内存调度管理原型系统
已知条件:
文件Process.txt中存储了进程的基本信息,数据格式解释如下:
表1.进程基本信息
进程名 进程创建时间 优先级 备注
A进程 程序A
B进程 程序B
C进程 程序C
文件program.txt记录了程序的基本信息
表2.程序A的基本信息
文件名 A程序
包含的函数 大小
main 0.6k
A1 1.2k
A2 1.2k
A3 1.5k
A4 0.8k
文件run.txt记录了程序执行的基本过程
表3. 程序A执行过程
程序名 A程序
关键时间节点 操作类型 跳转目的地
或I/O操作时间
5 跳转 1021
10 跳转 2021
20 读写磁盘 10
30 跳转 2031
20 跳转 4050
100 结束
关键时间节点是相对开始的时间值
说明:未标注单位的时间单位均为ms,程序大小为KB,
要求设计系统包含如下基本功能:
- 编程实现进程管理,分别实现先来先服务和时间片轮转法完成进程调度。
- 利用请求式分页调度机制,使用先进先出页面调度算法和最近最少用(LRU)调度算法进行页面调度。
- 要求页面大小可设定、每个进程分配的页数可设定、时间片长度可设定。
- 系统能够显示进程占用CPU情况和各个进程状态(间隔1ms刷新一次)。
- 能够在进程全部运行结束时计算每个进程的周转时间和带权周转时间,并将结果写入到文件中(result.txt)并保存,文件内容包括:运行时间、开始时间、完成时间、周转时间、带权周转时间。
扩展功能: - 程序能够以图形界面显示
- 内存占用能够动态显示变化情况
四、报告要求
1、开发语言:可选用C++、Java、C等语言实现;
2、课程设计报告格式见附件A;
4、文档使用Word或者WPS编写。
五、考核办法
(1)成绩评定的标准
回答问题的情况。(主要考核该设计是否为自己独立完成,或对设计理解掌握的程度)
完成任务质量的高低
根据完成较高要求(扩展功能)的多少,酌情加分。
(2)课程设计结束时提交资料
打印的课程设计报告(用A4纸打印),装课程设计资料袋上交班长,班长收齐后交给任课教师。课程设计完成后将课程设计报告(电子版)(电子版文件命名方式:学号-姓名-班级)发给班长(请班长检查每位同学的文件命名是否符合要求,不符合要求的班长有权要求同学退回修改)由班长打包后统一提交任课教师。
(3)其他需要说明的
1、最后提交课程设计报告,没有报告没有成绩
2、17周周一开始现场检查系统的实现情况并回答老师提出的问题。
3、做好系统设计之后再上机实现,根据个人能力由上到下,采用逐步细化的方式实现。尽量自己完成,能力弱的可以实现简单些,能力强的实现复杂些。
附录A:课程设计报告格式
江苏大学京江学院
JingJiang college of JiangSu University
操 作 系 统 课 程 设 计
CPU&内存调度管理原型系统
专 业 班 级 :
学 号 :
学 生 姓 名 :
指 导 教 师 :
2023 年 12 月
[正文]
一、课设目的
二、课设题目
三、系统功能结构
使用语言或者图形方式表示你所实现的所有功能,例如:
四、主要数据结构
说明各种管理中所采用的方法,设计的数据结构的含义,例如:
五、系统设计
通过类图、状态图、活动图等方式说明设计过程,例如:
六、运行结果展示与分析
例如:
七、课程设计中遇到的问题及解决方法
八、设计感想
九、附件:带注释的代码
不要求每一条语句都注释,按功能块,例如循环、判断等进行注释,代码字可以小一些,以节省纸张
注:课程设计报告不得与他人雷同,否则影响成绩,严重者无成绩。