操作系统实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《操作系统》

实验指导书

班级:0 9专升本(2)班学号:20091105

姓名:

宿州学院计算机科学与技术系

2010-06

目录

实验一进程调度 (1)

实验二银行家算法 (3)

实验三虚拟存储管理 (5)

实验四磁盘调度算法 (6)

要求:(说明,看后删除!)

1、四个实验均需要写;

2、“实验目的”—“实验结论”的格式均已经

写好,可以进行增删及修改。学生需要根据

“实验内容”独立完成相应的“算法设计”

部分,并将代码粘贴在这部分;其中“测试

实例”部分,学生自己进行测试实例的选取,

程序运行的结果需要附上相应的窗口截图,

以验证结果。

3、实验报告书,写好之后自行打印装订,于17

周前(这周为13周)交给学习委员,学习委

员统一上交。

实验一进程调度

实验目的

进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转两种调度算法结合使用的具体实施办法。本实验的设计思想是,先从就绪队列里选择最高优先数的进程投入运行,运行一个时间片,若执行完毕,进入完成状态;否则重新在就绪队列中选择新进程。

实验设备

⑴ PC兼容机

⑵ Windows、DOS系统

⑶TC语言

实验内容和要求

⑴设计进程控制块PCB表结构,每个进程有一个进程控制块(PCB)表示。考虑到本实验仅演示优先数调度算法和时间片轮转调度算法,进程控制块作简单化处理,只包含如下信息:进程标识(ID)、优先数(PRIORITY)、需要运行时间(ALLTIME)、已用CPU时间

⑵进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。

⑶每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。

每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。

输出内容参照格式:

输出运行进程和就绪队列

RUNNING PROG: ID0

READY_QUEUE:->id1->id2

输出各PCBi,格式为

ID:Idi(0≤i≤4)

PRIORITY:xx

CPUTIME:xx

ALLTIME:xx

STATE:xx

⑷重复以上过程,直到所要进程都完成为止。

算法设计

【学生编写代码处】

测试实例

自定

实验结论

“最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如在进程获得一次CPU后就将其优先数减少1;或者,进程等待的时间超过某一时限时增加其优先数的值,我们的实验采用动态优先数。

实验二银行家算法

实验目的

1、对死锁避免中的银行家算法作进一步理解。

2、加深理解死锁的概念。

3、加深理解安全序列和安全状态的概念。

4、通过编程,掌握银行家算法分配资源的一步步实现过程。

实验设备

⑴ PC兼容机

⑵ Windows、DOS系统

⑶TC语言

实验内容及要求

1、定义数据结构

假设有M个进程N类资源,则有如下数据结构:

MAX[M*N] M个进程对N类资源的最大需求量

AVAILABLE[N] 系统可用资源数

ALLOCATION[M*N] M个进程已经得到N类资源的资源量

NEED[M*N] M个进程还需要N类资源的资源量

2、设计进程对各类资源最大申请表示及初值确定。

3、设定系统提供资源初始状况。

4、编制程序,依据银行家算法,决定其申请是否得到满足。

输入部分:进程执行时提出资源请求(可利用随机数给出或从键盘输入)。

输出部分:判断资源是否可以安全分配,要求进程每提出一个资源请求,都要进行安全判断并给出安全序列,否则给出提示。

算法设计

【学生编写代码处】

测试实例

⑵某一系统进程T0时刻的资源分配为:

实验结论

银行家算法是确保系统处于安全状态是才正式将资源分配给进程,所以它能保证系统总是处于安全状态,不会产生死锁。而且,该算法允许系统中同时存在产生死锁的四个必要条件,与预防死锁的方法相比,施加限制条件较弱,系统性能好,但也有些不足。

实验三存储管理

实验目的

存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。

实验环境

⑴ PC兼容机

⑵ Windows、DOS系统

⑶ TC语言

实验内容及要求

1、任意给出一组页面访问顺序(如页面走向是1、

2、5、7、5、7、1、4、

3、5、6、

4、3、

2、1、5、2)。

2、分配给该作业一定的物理块(如3 块)。

3、利用先进先出(FCFS)法、最近最久未使用(LRU)、最佳置换法(OPT)三种置换算

法模拟页面置换过程并计算其缺页率并分析结果。

4、结果输出形式:FCFS,缺页率:XXX%

LRU, 缺页率:XXX%

OPT, 缺页率:XXX%

算法设计

【学生编写代码处】

测试实例

某作业一共8页,其页面访问走向是 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,系统分配给该作业3个物理块。

实验结果为: FCFS,缺页率:71%

LRU, 缺页率:57%

OPT, 缺页率:43%

实验结论

从实验数据来看,OPT算法为最好的一种算法。

相关文档
最新文档