《操作系统》课程设计

发布 2022-10-05 11:16:28 阅读 4518

《计算机操作系统》

课程设计指导书。

陶涛,夏新宇。

合肥工业大学计算机与信息学院。

2024年5月11日。

目录。第1章课程设计预备知识 3

1.1 操作系统环境 3

1.2 程序开发环境 3

1.3 课程设计任务书 5

1.4 课程设计报告 6

第2章课程设计题目 7

操作系统》是计算机专业重要的专业基础课程之一,以操作系统的基本概念、技术、原理和重要算法为主要讲述内容。课程侧重于从理论的角度来介绍现代操作系统的核心技术内容,长篇论述较多,课程内容深,难度大。

操作系统课程设计是计算机与信息类专业的重要实践性教学环节。课程设计的主要任务是,在掌握程序的设计技能、专业基础课程和《操作系统》课程的理论知识的基础上,设计和实现操作系统的基本算法、模块与相关的资源管理功能,旨在加深对计算机硬件结构和系统软件的认识,初步掌握操作系统组成模块和应用接口的使用方法,提高进行工程设计和系统分析的能力,为毕业设计和以后的工程实践打下良好的基础。

本课程设计指导书内容分预备、设计题目安排两部分。预备介绍进入课程设计之前的预备知识和有关课程设计的总体概况,设计题目具体规定每个设计任务的内容和要求。

本课程设计开始前必需准备好相应的操作系统软件。由于操作系统软件的特殊性,无法象其它软件一样随时卸载和重装,从操作系统的应用范围、性能、**和可获得性等因素出发,本指导书选择流行的windows作为实验操作系统。有条件的读者还可以选用unix/linux或其它主机系统作为设计环境。

本书所涉及的课程设计都需要编程,建议使用c/c++作为编程语言,如果课程的设计环境为windows操作系统,请选用microsoft visual c/c++ 5.0/6.0/7.

0或c++ builder,一般不允许使用j**a、visual basic等解释执行的语言。

一) microsoft visual c/c++ 5.0

microsoft c/c++是美国microsoft公司推出的系列编程环境,是目前windows平台上使用最为广泛的c/c++开发环境。microsoft c/c++带有一个具有gui界面的集成环境,操作非常方便。

microsoft visual c/c++支持多种类型程序的开发,读者可根据自己的实际情况选择。如果熟悉windows编程技术,可以使用mfc型应用程序,否则可使用win32 console application型程序。

microsoft visual c/c++的使用较复杂,详细的使用方法请参见相关书籍和联机帮助。下面仅简单介绍一个利用microsoft visual c/c++5.0开发win32 console application应用程序的过程。

1. 启动microsoft visual c/c++ 5.0

双击图标:microsoft visual c/c++ 5.0

或选择菜单:microsoft visual c/c++ 5.0

2. 建立新项目exp1

选择菜单:file->new

选择页面标签:project。

选择应用程序类型:win32 console application

选择项目位置:c:\temp

输入应用程序名称:exp1

点击ok按钮,vc系统自动产生一个新项目exp1;

3. 建立源程序。

选择菜单:file->new

弹出对话框见上图。

选择页面标签:files。

选择文件类型:c/c++ source file

选择项目位置:c:\temp

输入文件名:main

注意选择add to project标签,在其前面添加“”符号。

点击ok按钮,vc系统自动产生一个新文件并将其加入项目exp1中;

4. 编辑源程序。

在窗口中,键入如下程序**:

#include ""

main()

int i, j ;

cout <<输入数i:";

cin >>i ;

cout <<输入数j:";

cin >>j ;

cout <<输入结果为:";

cout <

选择菜单file->s**e all存盘。

5. 编译、链接。

选择菜单build->rebuild all

强迫编译链接本项目所有的源程序。

6. 运行。

按ctrl-f5或选择相应菜单运行应用程序。

7. 调试。

程序执行如果出现错误,可以进行调试,方法如下。

a. 设置程序断点移动光标到怀疑出错的位置,单击鼠标右键,从弹出的菜单上选择insert/remove breakpoint。

b. 进入调试状态按f5执行程序,程序将在设置了断点的语句前停下来。

c. 查看变量的值移动鼠标到要查看的变量上方,略停一会,该变量的值会自动显示出来。

d. 继续执行程序按f10/f11/f5继续执行程序。

下面是课程设计报告的要求:

一) 课程设计任务、要求、目的;

二) 原理及算法描述;

三) 开发环境;

四) 重要算法和设计思路描述;

五) 程序实现---数据结构;

六) 程序实现---程序清单;

七) 总结;

1. 进程/作业调度:先来先服务。(1人)

建立作业的数据结构描述;

手动来输入作业;

在屏幕上显示每个作业的执**况;

时间的流逝按如下方法模拟:按键盘,每按一次可认为过一个时间单位;

计算并显示一批作业的周转时间、平均周转时间、带权周转时间、平均带权周转时间。

将一批作业的执**况存入磁盘文件,以后可以读出并重放;

2. 进程/作业调度:短作业/进程优先。(1人)

建立作业的数据结构描述;

手动来输入作业;

在屏幕上显示每个作业的执**况;

时间的流逝按如下方法模拟:按键盘,每按一次可认为过一个时间单位;

计算并显示一批作业的周转时间、平均周转时间、带权周转时间、平均带权周转时间。

将一批作业的执**况存入磁盘文件,以后可以读出并重放;

3. 进程/作业调度:时间片轮转调度算法。(1人)

建立作业的数据结构描述;

手动来输入作业;

在屏幕上显示每个作业的执**况;

时间的流逝按如下方法模拟:按键盘,每按一次可认为过一个时间单位;

计算并显示一批作业的周转时间、平均周转时间、带权周转时间、平均带权周转时间。

将一批作业的执**况存入磁盘文件,以后可以读出并重放;

4. 动态分区分配算法:首次适应算法。(1人)

建立描述内存分配状况的数据结构;

建立描述进程的数据结构;

使用两种方式产生进程:手工输入;

在屏幕上显示内存的分配状况、每个进程的执**况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批进程的执**况存入磁盘文件,以后可以读出并重放;

5. 动态分区分配算法:循环首次适应算法。(1人)

建立描述内存分配状况的数据结构;

建立描述进程的数据结构;

使用两种方式产生进程:手工输入;

在屏幕上显示内存的分配状况、每个进程的执**况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批进程的执**况存入磁盘文件,以后可以读出并重放;

6. 动态分区分配算法:最佳适应算法。(1人)

建立描述内存分配状况的数据结构;

建立描述进程的数据结构;

使用两种方式产生进程:手工输入;

在屏幕上显示内存的分配状况、每个进程的执**况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批进程的执**况存入磁盘文件,以后可以读出并重放;

7. 页面置换算法:最佳置换算法。(1人)

建立相应的数据结构;

在屏幕上显示页面的状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批页的置换情况存入磁盘文件,以后可以读出并重放;

计算页面的缺页次数、缺页后的页面置换次数;

8. 页面置换算法:fifo算法。(1人)

建立相应的数据结构;

在屏幕上显示页面的状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批页的置换情况存入磁盘文件,以后可以读出并重放;

计算页面的缺页次数、缺页后的页面置换次数;

9. 页面置换算法:lru算法。(1人)

建立相应的数据结构;

在屏幕上显示页面的状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批页的置换情况存入磁盘文件,以后可以读出并重放;

计算页面的缺页次数、缺页后的页面置换次数;

10. 磁盘调度算法:先来先服务算法。(1人)

建立相应的数据结构;

在屏幕上显示磁盘请求的服务状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;

计算磁头移动的总距离及平均移动距离;

11. 磁盘调度算法:sstf算法。(1人)

建立相应的数据结构;

在屏幕上显示磁盘请求的服务状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;

计算磁头移动的总距离及平均移动距离;

12. 磁盘调度算法:scan算法。(1人)

建立相应的数据结构;

在屏幕上显示磁盘请求的服务状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;

计算磁头移动的总距离及平均移动距离;

13. 磁盘调度算法:cscan算法。(1人)

建立相应的数据结构;

在屏幕上显示磁盘请求的服务状况;

时间的流逝可用下面的方法模拟:按键盘,每按一次可认为过一个时间单位;

将一批磁盘请求的情况存磁盘文件,以后可以读出并重放;

计算磁头移动的总距离及平均移动距离;

14. 磁盘调度算法:fscan算法。(1人)

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....