1,選擇一到三種磁碟排程演算法,模擬實現磁碟排程
2,能輸入當前磁頭的位置,磁頭移動方向,磁軌訪問請求序列等。
3,計算磁頭移動的總磁軌數
4,能夠顯示磁碟排程結果
//#include
#include
#include
"disk.h"
using
namespace std;
//磁碟
disk disk;
//新增訪問序列
void
addvist()
} cout << endl;
}//進行磁軌訪問排程
void
vistdisk()
elseif(
2==way)
else
cout <<
"磁頭走過的總道數:"
<< stepnum << endl;
cout <<
"走道序列:"
<< start;
for(
int i =
0; i < disk.visitnum; i++
)//初始化
disk.
initdisk()
; cout << endl;
}//設定磁頭移動方向
void
setdirection()
//設定磁頭位置
void
setdiskhead()
intmain()
}return0;
}
#include
"disk.h"
using
namespace std;
#include
disk::
disk()
//初始化成員變數
void disk::
initdisk()
}/** 新增訪問磁軌
* index: 要訪問的位置
*/void disk::
addvist
(int index)
/** 設定磁頭位置
*/void disk::
setdiskhead
(int index)
/** 先來先服務排程
* &sequence 訪問序列
* return: 磁頭走過的總道數
*/int disk::
fcfsdispatch
(int
* sequence)
return stepnum;}/*
* 最短尋道排程
*/int disk::
sstfdispatch
(int
* sequence)
}//訪問該磁軌,更改磁頭,並計算距離
sequence[num]
= visitlist[index]
; stepnum = stepnum +
abs(
(visitlist[index]
- diskhead));
diskhead = visitlist[index]
; visitlist[index]=-
1;num++;}
return stepnum;}/*
* 電梯排程演算法
*/int disk::
scandispatch
(int
* sequence)
}//根據磁頭移動方向,進行走道 if(
1==direction)
else
return stepnum;}/*
* 磁頭向左移動
*/int disk::
towardleft
(int
* sequence,
int index)
for(
int i = index; i >=
0; i--
)for
(int i = index+
1; i < visitnum; i++
)return stepnum;}/*
* 磁頭向右移動
*/int disk::
towardright
(int
* sequence,
int index)
for(
int i = index-
1; i >=
0; i--
)return stepnum;}/*
* 對訪問序列進行排序
*/void disk::
ascendingorder()
}}}/*
* 兩個數互動
*/void disk::
change
(int
& a,
int& b)
#pragma once
using
namespace std;
/** 磁碟類
*/class
disk
;
作業系統實驗6 磁碟排程模擬
1 掌握fcfs sstf scan等磁碟排程演算法 2 使用高階語言實現演算法,並比較不同演算法的優缺點。磁碟排程在多道程式設計的計算機系統中,各個程序可能會不斷提出不同的對磁碟進行讀 寫操作的請求。由於有時候這些程序的傳送請求的速度比磁碟響應的還要快,因此我們有必要為每個磁碟裝置建立乙個等待佇列...
作業系統磁碟排程演算法
裝置的動態分配演算法與程序排程相似,也是基於一定的分配策略的。常用的分配策略有先請求先分配 優先順序高者先分配等策略。在多道程式系統中,低效率通常是由於磁碟類旋轉裝置使用不當造成的。作業系統中,對磁碟的訪問要求來自多方面,常常需要排隊。這時,對眾多的訪問要求按一定的次序響應,會直接影響磁碟的工作效率...
作業系統 磁碟排程演算法
假定當前磁頭出在第100到,等待服務的程序有8個,它們請求的磁碟先後順序是90 70 159 21 1 15 120 145。採用最短尋道時間優先 掃瞄演算法對其排程,填好以下表?從100號磁軌開始,向磁軌號增加方向訪問 被訪問的下乙個磁軌號 移動距離 磁軌數 總共所需尋道長度 平均尋道長度 答 最...