操作系统实验报告

发布时间 : 星期三 文章操作系统实验报告更新完毕开始阅读

2.最佳适应算法

4.结果分析与小结

可变分区的分配与回收,关键在于细心。对于分配来说,根据三个算法来分配,基本用链表来模拟的话,应该没什么问题。而对于回收来说,要判断的条件就会比较多了,首先要考虑是不是第一个分区,再考虑是不是最后一个,两者都不是的话,就要考虑是否相邻的情况,对于第一个和最后一个,也同样需要考虑是否相邻的情况,所以用链表模拟的话,一定要细心,不然很容易会出现指针越界导致程序崩溃。

实验四 仿真各种磁盘调度算法

1.实验目的

了解磁盘调度的基本算法及性能

2.实验要求

由系统产生一系列磁盘请求(10个),分别给出先来先服务算法、最短寻道时间优先算法、扫描(SCAN)算法和循环扫描(CSCAN)算法时磁头移动顺序并计算磁头的平均移动磁道数。( 假设磁头刚从80磁道移到100磁道)

3.实验内容 a.算法原理 (1)先来先服务算法 即先来的请求先被响应。FCFS策略看起来似乎是相当\公平\的,但是当请求的频 率过高的时候FCFS策略的响应时间就会大大延长。FCFS策略为我们建立起一个随机 访问机制的模型,但是假如用这个策略反复响应从里到外的请求,那么将会消耗大量的 时间。为了尽量降低寻道时间,看来我们需要对等待着的请求进行适当的排序,而不是 简单的使用FCFS策略。这个过程就叫做磁盘调度管理。有时候FCFS也被看作是最简 单的磁盘调度算法 (2)最短寻道时间优先算法 要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。 (3)扫描算法 该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的 移动方向。例如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个访问对象, 应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样自里向外的访问,直 至再无更外的磁道需要访问时,才将磁道换向自外向里移动。这时,同样也是每次选择 这样的进程来调度,也就是要访问的当前位置内距离最近者,这样,磁头又逐步地从外 向里移动,直至再无更里面的磁道要访问,从而避免了出现“饥饿”现像 (4)循环算法 当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这 时,该里程就必须等待,为了减少这种延迟,CSCAN算法规定磁头单向移动,而本实 验过程中我们所设计的是磁头从里向外移动,而从外向里移动时只须改方向而已,本实 验未实现。但本实验已完全能演示循环扫描的全过程。

b.总程序流图

c.重要数据结构

d.各算法代码

1.double FCFS() 先来先服务算法

联系合同范文客服:xxxxx#qq.com(#替换为@)