xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 1.16MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-27
  • 語言: 其他
  • 標簽: 磁盤調度??

資源簡介

1、對于如下給定的一組磁盤訪問進行調度: 請求服務到達 A B C D E F G H I J K 訪問的磁道號 30 50 100 180 20 90 150 70 80 10 160 2、要求分別采用先來先服務、最短尋道優先以及電梯調度方法進行調度。 3、要求給出每種算法中磁盤訪問的順序,計算出平均移動道數。 4、假定當前讀寫頭在90號,向磁道號增加的方向移動。

資源截圖

代碼片段和文件信息

#include
#include
using?namespace?std;

typedef?struct?node
{
int?data;
struct?node?*next;
}Node;
void?main()
{
void?fcfs(Node?*intint);//聲明先來先服務函數FCFS
void?sstf(Node?*intint);//聲明最短尋道時間優先函數SSTF
void?scan(Node?*intint);//聲明掃描函數SCAN
void?print(Node?*);????//輸出鏈表函數
Node?*head*p*q;??????//建立一個鏈表
int?itc=0fs;????????//c為鏈表長度f是開始的磁道號s是選擇哪個算法
head=(Node?*)malloc(sizeof(Node));
head->next=NULL;
q=head;
cout<<“????????????/**************磁盤調度算法***************/“< cout< cout<<“新建一個單鏈表以0作為結束標志:“;
cin>>it;
while(it!=0)
{
p=(Node?*)malloc(sizeof(Node));
p->next=NULL;
p->data=it;
q->next=p;
q=p;
cin>>it;
c++;
}
cout<<“從幾號磁道開始:“;
cin>>f;????????????????????//f為磁道號
print(head);
cout<<“鏈表長度為:“< cout<<“1、先來先服務算法FCFS“< cout<<“2、最短尋道時間優先算法SSTF“< cout<<“3、電梯調度算法(掃描算法SCAN)“< cout<<“0、退出“< cout<<“請選擇:“;
cin>>s;
while(s!=0)
{
????switch(s)
????{
????case?1:cout<<“你選擇了:先來先服務算法FCFS“< fcfs(?headcf);
break;
????case?2:cout<<“你選擇了:最短尋道時間優先算法SSTF“< sstf(?headcf);
break;
????case?3:cout<<“你選擇了:電梯調度算法(掃描算法SCAN)“< scan(?headcf);
break;
????}
????cout<<“退出請選0繼續請選123:“;
????cin>>s;
}
}
/***********************************************************/
void?fcfs(Node?*headint?cint?f)//先來先服務算法
{
void?print(Node?*);

Node?*l;//*m*n;
float?num=0;?????????????//num為平均尋道長度??????
l=head->next;
for(int?i=0;i {
num+=abs(l->data-f);
f=l->data;
l=l->next;
}
num=num/c;
cout<<“先來先服務的尋道順序是:“< print(head);
cout<<“平均尋道長度:“<}
/*****************************************************************/
void?sstf(Node?*headint?cint?f)//最短尋道時間優先算法
{
void?print(Node?*);
Node?*p*q*r*s*l*m;
l=(Node?*)malloc(sizeof(Node));
l->next=NULL;
m=l;
q=head;
p=head->next;
s=head;
r=head->next;
float?num=0;
for(int?i=0;i {
int?min=abs(f-r->data);
for(int?j=0;j {
p=p->next;
q=q->next;
if(abs(f-p->data) {
min=abs(f-p->data);
r=p;
s=q;
}
}
num+=abs(f-r->data);
f=r->data;
s->next=r->next;
r->next=NULL;
m->next=r;
m=r;
q=head;
p=head->next;
s=head;
r=head->next;
}
num=num/c;
cout<<“最短尋道時間優先順序是:“< print(l);
cout<<“平均尋道長度:“<}
/***************************************************************/
void?scan(Node?*headint?cint?f)//掃描算法(電梯調度算法)
{
void?print(Node?*);
int?minmaxi=0j=0;
float?num=0;
Node?*p*q*r*s*m*n*x*y;?
r=(Node?*)malloc(sizeof(Node));//存放比開始磁道小的磁道
r->next=NULL;
s=r;
m=(Node?*)malloc(sizeof(Node));//存放比開始磁道大的磁道
m->next=NULL;
n=m;
x=(Node?*)malloc(sizeof(Node));
x->next=NULL;
y=x;
q=head;
p=head->next;
while(p->next!=NULL)
{
if(p->data-f>0)
{
q->next=p->next;
p->next=NULL;
n->next=p;
n=p;
p=q->next;
i++;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-06-08?17:44??磁盤調度\
?????文件????????4877??2011-06-08?17:52??磁盤調度\cpdd.cpp
?????文件????????3377??2011-06-09?14:30??磁盤調度\cpdd.dsp
?????文件?????????533??2011-06-09?15:07??磁盤調度\cpdd.dsw
?????文件???????41984??2011-06-09?15:07??磁盤調度\cpdd.ncb
?????文件???????48640??2011-06-09?15:07??磁盤調度\cpdd.opt
?????文件?????????242??2011-06-09?14:30??磁盤調度\cpdd.plg
?????目錄???????????0??2011-06-08?17:52??磁盤調度\Debug\
?????文件??????548925??2011-06-08?17:52??磁盤調度\Debug\cpdd.exe
?????文件??????789892??2011-06-08?17:52??磁盤調度\Debug\cpdd.ilk
?????文件??????259801??2011-06-08?17:52??磁盤調度\Debug\cpdd.obj
?????文件?????2012472??2011-06-08?17:52??磁盤調度\Debug\cpdd.pch
?????文件?????1090560??2011-06-08?17:52??磁盤調度\Debug\cpdd.pdb
?????文件???????74752??2011-06-09?14:30??磁盤調度\Debug\vc60.idb
?????文件??????110592??2011-06-08?17:52??磁盤調度\Debug\vc60.pdb
?????文件??????261632??2011-06-08?17:48??磁盤調度\操作系統實驗(進程調度+存儲管理+磁盤調度++銀行家算法+文件系統設計).doc

評論

共有 條評論