亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memory.cpp

?? 操作系統實驗
?? CPP
字號:
#include<stdlib.h>
#include<iomanip.h>

#define n 10  //假定系統允許的最大進程數為n
#define m 2  //假定系統允許的空閑表最大為m
#define min 100 //空閑表被分配時,如果分配后剩余的空間小于min,則將該空閑表全部分配,若大于min,則切割分配

struct 
{ 
float address;  //空閑表起始地址
float length;  //空閑表長度,單位為字節
int sign;   //空閑表登記欄標志,用"0"表示空欄目,用"1"表示未分配
}free_table[m];  //空閑表

struct 
{ 
float address;  //分配表起始地址
float length;  //分配表長度,單位為字節
int sign;   //分配表登記欄標志,用"0"表示空欄目
}used_table[n];  //分配表

void allocate(char task,float size) //給進程(task),采用最佳分配算法分配(size)大小的空間
{ 
 int i,k; 
 float ad; 
 k=-1; 
 for(i=0;i<m;i++)
  if(free_table[i].length>=size&&free_table[i].sign==1) 
   if(k==-1||free_table[i].length<free_table[k].length) 
   k=i; 
   if(k==-1)
   { 
	cout<<"無可用空閑區,請重新輸入!"<<endl;
    return; 
   } 

 if(free_table[k].length-size<=min) 
 { 
  free_table[k].sign=0; 
  ad=free_table[k].address; 
  size=free_table[k].length; 
 } 
 else 
 { 
  free_table[k].length=free_table[k].length-size; 
  ad=free_table[k].address+free_table[k].length; 
 } 
 
 //修改分配表
 i=0; 
 while(used_table[i].sign!=0&&i<n) //尋找空表目
  i++; 
 if(i>=n) 
 { 
  cout<<"無表目填寫已分分區,錯誤"<<endl;

  //修正空閑表
  if(free_table[k].sign==0) 
   free_table[k].sign=1; 
  else 
   {
    free_table[k].length=free_table[k].length+size; 
    return; 
   } 
 } 
 else 
 {//修改分配表
  used_table[i].address=ad; 
  used_table[i].length=size; 
  used_table[i].sign=task; 
 } 
 return; 
}//內存分配函數結束

void reclaim(char task) 
//釋放進程名為task的進程所占內存空間
{ 
 int i,k,j,s,t; 
 float S,L; 
 s=0; 
 while((used_table[s].sign!=task||used_table[s].sign==0)&&s<n) 
  s++; 
 if(s>=n)
 { 
  cout<<"找不到該進程,重新輸入!"<<endl;
  return; 
 } 

 //修改分配表 
 used_table[s].sign=0; 

 //取得歸還分區的起始地址S和長度L
 S=used_table[s].address; 
 L=used_table[s].length; 
 j=-1;k=-1;i=0; 

 while(i<m&&(j==-1||k==-1)) 
 { 
  if(free_table[i].sign==1) 
  { 
   if(free_table[i].address+free_table[i].length==S)k=i;//找到上鄰
   if(free_table[i].address==S+L)j=i;//找到下鄰
  } 
  i++; 
 } 

 if(k!=-1) 
  if(j!=-1) 
  { 
   free_table[k].length=free_table[j].length+free_table[k].length+L; 
   free_table[j].sign=0; 
  } 
  else 
   free_table[k].length=free_table[k].length+L; 
 else 
  if(j!=-1) 
  { 
   free_table[j].address=S; 
   free_table[j].length=free_table[j].length+L; 
  } 
  else 
  { 
   t=0; 
   while(free_table[t].sign==1&&t<m) 
    t++; 
   if(t>=m)//空閑表已滿,釋放內存失敗,將分配表復原
   { 
	cout<<"內存空閑表沒有空間,釋放內存失敗"<<endl;
    used_table[s].sign=task; 
    return; 
   } 
   free_table[t].address=S; 
   free_table[t].length=L; 
   free_table[t].sign=1; 
  } 
 return; 
}//釋放內存函數結束

int main( ) 
{ 
 int i,select; 
 float SIZE; 
 char task; 

 //空閑分配表初始化:
 free_table[0].address=10240; //起始地址假定為10240
 free_table[0].length=10240;  //長度假定為10240
 free_table[0].sign=1;   //初始空閑表為一個整體空閑表
 
 for(i=1;i<m;i++) 
  free_table[i].sign=0;  //其余空閑表項未被使用

 for(i=0;i<n;i++) 
  used_table[i].sign=0;  //初始時均未分配

 while(true) 
 { 
  cout<<"★★★★★★★★★★★★★★  驗證實現存儲器管理  ★★★★★★★★★★★★★"<<endl;
  cout<<endl;
  cout<<"          1、申請內存"<<endl;
  cout<<"          2、釋放內存"<<endl;
  cout<<"          3、顯示主存"<<endl;
  cout<<"          4、退出程序"<<endl;
  cout<<endl;
  cout<<"根據以上的提示,請選擇(1—4): "; 
  cin>>select;
  switch(select) 
  { 
   case 1:   
	 cout<<endl;
     cout<<"申請內存空間的進程名task= ";
	 cin>>task;
	 cout<<endl;
	 cout<<"需要為該進程申請的空間size= ";
	 cin>>SIZE;
	 cout<<endl;
     allocate(task,SIZE); 
     break; 

   case 2:     
     cout<<endl;
	 cout<<"輸入要釋放內存的進程名task= ";
	 cin>>task;
     reclaim(task); 
     break; 

case 3:    
         //輸出內存空閑表和內存分配表
     cout<<endl;
	 cout<<"         ★內存空閑表情況★"<<endl;
	 cout<<"     起始地址  空間長度  標志"<<endl;
     for(i=0;i<m;i++)      
	 cout<<setw(10)<<free_table[i].address<<setw(10)<<free_table[i].length<<setw(7)<<free_table[i].sign<<endl;
	 cout<<"         ★內存分配表情況★:"<<endl;
	 cout<<"     起始地址  申請長度  標志"<<endl;
     for(i=0;i<n;i++) 
      if(used_table[i].sign!=0)      
	   cout<<setw(10)<<used_table[i].address<<setw(10)<<used_table[i].length<<setw(7)<<(char) used_table[i].sign<<endl;
      else     
	  cout<<setw(10)<<used_table[i].address<<setw(10)<<used_table[i].length<<setw(7)<<used_table[i].sign<<endl;
     break; 
   case 4: exit(0); 
	   break;

   default:cout<<"沒有該選項,請重新輸入"<<endl;
  }/*case*/ 
 }/*while*/ 

 return 1;

}//主函數結束

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕视频一区二区三区久| 日韩一区二区不卡| 国产麻豆精品95视频| 久久国产剧场电影| 美国三级日本三级久久99| 男女男精品视频| 秋霞国产午夜精品免费视频| 日韩电影在线观看电影| 青青草国产精品亚洲专区无| 美女尤物国产一区| 国产一区二区三区日韩 | 日韩精品1区2区3区| 亚洲一区二区三区小说| 首页国产欧美日韩丝袜| 日本vs亚洲vs韩国一区三区二区| 天使萌一区二区三区免费观看| 蜜臀av性久久久久av蜜臀妖精| 国产最新精品免费| 99精品视频中文字幕| 欧美在线一二三四区| 欧美一级一区二区| 久久久久久电影| 日韩毛片在线免费观看| 亚洲一二三四区不卡| 久久99国内精品| 99久久久免费精品国产一区二区| 一本大道av伊人久久综合| 欧美日韩一卡二卡| 精品国精品自拍自在线| 欧美经典一区二区| 亚洲高清不卡在线观看| 国产乱子伦一区二区三区国色天香 | 成人小视频免费在线观看| 粉嫩嫩av羞羞动漫久久久| 在线观看成人免费视频| 欧美videofree性高清杂交| 国产精品天干天干在线综合| 亚洲精品成人少妇| 激情图区综合网| 色欧美日韩亚洲| 精品国产乱码久久| 一区二区三区精品视频| 极品少妇xxxx精品少妇| 97精品电影院| 久久综合中文字幕| 亚洲宅男天堂在线观看无病毒| 韩国理伦片一区二区三区在线播放| 91久久香蕉国产日韩欧美9色| 精品国产91乱码一区二区三区| 亚洲日本va午夜在线影院| 日韩成人免费电影| 欧美亚洲动漫制服丝袜| 国产午夜精品在线观看| 日本亚洲最大的色成网站www| 99久久婷婷国产精品综合| 精品卡一卡二卡三卡四在线| 亚洲成人福利片| proumb性欧美在线观看| 久久亚洲捆绑美女| 免费视频一区二区| 欧美日韩精品久久久| 亚洲欧洲av一区二区三区久久| 黑人精品欧美一区二区蜜桃| 欧美三级中文字幕| 亚洲精品视频免费观看| 岛国av在线一区| 国产亚洲一二三区| 狠狠色狠狠色合久久伊人| 91精品国产综合久久婷婷香蕉| 一区二区三区精品在线观看| 91麻豆123| 一区二区三区欧美视频| 一本久久a久久免费精品不卡| 最好看的中文字幕久久| 欧美大片日本大片免费观看| 亚洲午夜成aⅴ人片| 在线中文字幕一区二区| 一区二区三区不卡视频| 91福利精品第一导航| 一区二区三区国产精品| 欧美最新大片在线看| 亚洲一级在线观看| 欧美精品777| 青青草原综合久久大伊人精品优势| 欧美日韩国产首页| 日本不卡在线视频| 久久综合狠狠综合| 粉嫩av一区二区三区粉嫩| 欧美国产1区2区| 91视频xxxx| 性久久久久久久| 精品日韩在线观看| 成人性生交大片免费看在线播放| 国产精品免费久久久久| 97久久精品人人做人人爽| 亚洲午夜久久久久中文字幕久| 欧美日韩国产片| 国产一区二区三区四区五区美女 | 亚洲女同ⅹxx女同tv| 在线观看亚洲a| 久久国产精品色| 亚洲va中文字幕| 精品福利一区二区三区免费视频| 精品制服美女丁香| 国产精品麻豆久久久| 在线观看一区二区视频| 久久91精品国产91久久小草| 国产视频视频一区| 欧美视频在线观看一区| 伦理电影国产精品| 亚洲人xxxx| 日韩精品一区二区三区蜜臀| 成人国产精品视频| 午夜日韩在线电影| 国产午夜精品在线观看| 欧美视频在线一区| 丰满亚洲少妇av| 日韩精品91亚洲二区在线观看| 中文一区二区完整视频在线观看| 91黄色小视频| 国产成人精品亚洲777人妖| 亚洲福利一区二区| 中文字幕一区二区三区色视频| 欧美日产国产精品| 色老综合老女人久久久| 国产在线精品一区在线观看麻豆| 亚洲综合成人网| 欧美激情在线看| 日韩一级视频免费观看在线| av激情综合网| 国产激情视频一区二区在线观看 | 一本久道久久综合中文字幕| 久久99久久99小草精品免视看| 亚洲精品中文字幕乱码三区| 精品奇米国产一区二区三区| 欧美日韩高清一区二区不卡| 99视频精品全部免费在线| 看电视剧不卡顿的网站| 亚洲国产精品久久久久婷婷884| 国产精品久久久久久久浪潮网站 | 国产高清一区日本| 免费高清不卡av| 五月天网站亚洲| 亚洲va欧美va天堂v国产综合| 日韩成人伦理电影在线观看| 亚洲一区二区三区中文字幕| 中文字幕一区二区三区在线播放 | 制服丝袜中文字幕一区| 色狠狠一区二区| 91日韩精品一区| 成人av电影在线网| av不卡在线播放| www.色综合.com| 99热在这里有精品免费| 99麻豆久久久国产精品免费优播| 丰满亚洲少妇av| 99久久99久久免费精品蜜臀| 91一区二区在线| 在线免费观看日韩欧美| 在线这里只有精品| 欧美色精品在线视频| 在线免费亚洲电影| 欧美日韩国产免费| 在线不卡免费av| 欧美成人福利视频| 国产日韩欧美制服另类| 亚洲国产成人午夜在线一区 | 亚洲一区二区三区四区五区黄| 一区二区理论电影在线观看| 亚洲一区二区欧美日韩 | 国产美女精品人人做人人爽| 精品一区二区免费| 国产精品影视天天线| 99久久久久免费精品国产| 欧美伊人精品成人久久综合97| 欧美精品成人一区二区三区四区| 日韩欧美国产电影| 国产三级三级三级精品8ⅰ区| 日本一区二区三区免费乱视频| 一区二区三区四区高清精品免费观看 | 2021中文字幕一区亚洲| 亚洲国产精品激情在线观看| 亚洲免费色视频| 日本不卡的三区四区五区| 国产激情一区二区三区桃花岛亚洲| 成人av集中营| 日韩一区二区影院| 中文字幕一区二区三区四区 | 日韩一区二区视频| 国产精品沙发午睡系列990531| 一区二区三区欧美日韩| 久久99热这里只有精品| 色狠狠av一区二区三区| 日韩无一区二区| 亚洲柠檬福利资源导航| 狠狠色综合播放一区二区| 色哟哟一区二区| 久久久精品tv| 日韩av电影免费观看高清完整版在线观看| 国产剧情一区二区|