![實(shí)驗(yàn)六文件存儲空間管理模擬-位示圖_第1頁](http://file4.renrendoc.com/view7/M00/0F/1F/wKhkGWbIvqaAA_F7AAGqAM4Icp4200.jpg)
![實(shí)驗(yàn)六文件存儲空間管理模擬-位示圖_第2頁](http://file4.renrendoc.com/view7/M00/0F/1F/wKhkGWbIvqaAA_F7AAGqAM4Icp42002.jpg)
![實(shí)驗(yàn)六文件存儲空間管理模擬-位示圖_第3頁](http://file4.renrendoc.com/view7/M00/0F/1F/wKhkGWbIvqaAA_F7AAGqAM4Icp42003.jpg)
![實(shí)驗(yàn)六文件存儲空間管理模擬-位示圖_第4頁](http://file4.renrendoc.com/view7/M00/0F/1F/wKhkGWbIvqaAA_F7AAGqAM4Icp42004.jpg)
![實(shí)驗(yàn)六文件存儲空間管理模擬-位示圖_第5頁](http://file4.renrendoc.com/view7/M00/0F/1F/wKhkGWbIvqaAA_F7AAGqAM4Icp42005.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)六文件存儲空間管理模擬--位示圖[實(shí)驗(yàn)?zāi)康腯通過一個簡單的基于位示圖的文件存儲空間管理模擬算法的設(shè)計,加深理解文件系統(tǒng)的外存分配管理原理[實(shí)驗(yàn)學(xué)時]4學(xué)時[實(shí)驗(yàn)類型]綜合性[實(shí)驗(yàn)內(nèi)容]
設(shè)計一個m行n列(自定)二維數(shù)組表示位示圖結(jié)構(gòu),利用初始化操作模擬給出位示圖的原始狀態(tài)或者某一時刻的當(dāng)前狀態(tài),設(shè)計算法:1)完成給某文件分配幾個盤塊的過程(返回分配的盤塊號并修改位示圖);2)完成某磁盤塊的回收過程(根據(jù)要回收的盤塊號求解出對應(yīng)位示圖位置并修改位示圖。注意:1可以以某文件為單位分配、回收,或者以某個磁盤塊為單位分配、回收2.
可以自行選擇采取連續(xù)分配或者離散分配方式,3.
要求程序?qū)Σ缓戏ǖ臈l件或輸入能給予恰當(dāng)?shù)奶幚怼實(shí)驗(yàn)參考代碼]略
(這么簡單,自己寫吧)/***@author:飛小飛**@date:2018年11月23日10:33**@目的:1配與回收,在本程序中位示圖i=0,j=0,b=0;開始*采用連續(xù)存儲分配方式**功能實(shí)現(xiàn):1.分配空間給文件2.回收文件的空間3.查看所有文件存儲信息**聯(lián)系作者:1511225190@*/#include<iostream>#include<string.h>#include<stdlib.h>#include<stdio.h>usingnamespacestd;intmap[100][100];typedefstructfile{char fileName[30];/*文件名字*/int length;/*文件長度*/int start;/*文件存儲時的初始位置*/}file;file File[60];int line,column;/*行列*/int fileTotalNum=0;/*總文件數(shù)*//***函數(shù)名:mapInit()**描述:對位示圖進(jìn)行初始化**參數(shù):無**返回值:無**/voidmapInit(){inti,j;printf("請輸入行和列:");scanf("%d%d",&line,&column);for(i=0;i<line;i++){for(j=0;j<column;j++){map[i][j]=0;printf("%3d",map[i][j]);}printf("\n");}}/***函數(shù)名:allocation(intfileNum)**描述:分配空間給文件,采用連續(xù)分配方式**參數(shù):fileNum第幾個文件**返回值:無**/voidallocation(intfileNum){int length=File[fileNum].length;int b[60];int i,j;int x=0;for(i=0;i<line;i++){for(j=0;j<column;j++){if(map[i][j]==0){b[x]=i*line+j;x++;if(x==length)break;/*這個break,跳出j循環(huán)*/}elsex=0;}if(x==length)break;/*這里break,跳出整個for循環(huán)體*/}if(length>x)printf("空間不足,無法分配\n");else{File[fileNum].start=b[0];for(inti=0;i<x;i++){int x1 =b[i]/column;int y1 =b[i]%column;map[x1][y1]=1;/*置1代表使用過*/}}for(i=0;i<line;i++){for(j=0;j<column;j++){printf("%3d",map[i][j]);}printf("\n");}}/***函數(shù)名:recovery(chars[])**描述:通過文件名回收文件占用空間,并將位示圖中對應(yīng)標(biāo)志位重新初始化為0**參數(shù):chars[]文件名**返回值:無**/voidrecovery(chars[]){intcnt=-1;for(inti=0;i<fileTotalNum;i++){if(strcmp(s,File[i].fileName)==0){cnt=i;/*記錄下第幾個文件*/break;}}if(cnt==-1){printf("沒有此文件,請重新輸入!\n");}int start =File[cnt].start;int length =File[cnt].length;for(inti=start;i<start+length;i++){int x1 =i/column;int y1 =i%column;map[x1][y1]=0;}for(inti=cnt+1;i<fileTotalNum;i++)/*刪除文件后將其后面的文件前移覆蓋原來文件*/{strcpy(File[i-1].fileName,File[i].fileName);File[i-1].start =File[i].start;File[i-1].length =File[i].length;}printf("回收成功\n");for(inti=0;i<line;i++){for(intj=0;j<column;j++){printf("%3d",map[i][j]);}printf("\n");}}/***函數(shù)名:allocInit()**描述:分配初始化**參數(shù):無**返回值:無**/voidallocInit(){printf("請輸入文件名\n");scanf("%s",&File[fileTotalNum].fileName);printf("請輸入文件長度\n");scanf("%d",&File[fileTotalNum].length);allocation(fileTotalNum);fileTotalNum++;}/***函數(shù)名:recoverInit()**描述:回收初始化**參數(shù):無**返回值:無**/voidrecoverInit(){charname[30];printf("請輸入回收文件名\n");scanf("%s",&name);recovery(name);fileTotalNum--;}/***函數(shù)名:showDir()**描述:顯示所有文件信息**參數(shù):無**返回值:無**/voidshowDir(){if(fileTotalNum==0)/*文件為空時*/printf("空文件\n");elsefor(inti=0;i<fileTotalNum;i++){printf("文件名:%s\n",File[i].fileName);printf("開始位置:%d\n",File[i].start);printf("文件長度:%d\n",File[i].length);}for(inti=0;i<line;i++){for(intj=0;j<column;j++){printf("%3d",map[i][j]);}printf("\n");}}voidpage(){printf("1為創(chuàng)建文件,2為回收文件,3為顯示所有文件信息\n");printf("請選擇操作模式\n");}intmain(){intmode;mapInit();while
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年巴音郭楞道路運(yùn)輸從業(yè)資格證考試內(nèi)容是什么
- 小學(xué)三年級100道口算題
- 2025年欽州貨運(yùn)上崗證模擬考試題
- 2025年荷澤貨運(yùn)從業(yè)資格證模擬考試駕考
- 華東師大版七年級數(shù)學(xué)上冊《第3章整式的加減3.1列代數(shù)式3.1.3列代數(shù)式 》聽評課記錄
- 湘教版數(shù)學(xué)八年級下冊《2.2.1平行四邊形的邊、角性質(zhì)》聽評課記錄
- 建筑項目經(jīng)理工作總結(jié)
- 初中理科教研組工作計劃
- 新學(xué)校校辦室工作計劃
- 平面設(shè)計師工作計劃范文欣賞
- 江蘇省鹽城市鹿鳴路初級中學(xué)2024-2025學(xué)年八年級上學(xué)期期末考試語文試題(含答案)
- 《反家庭暴力》課件
- 【物理】《跨學(xué)科實(shí)踐:制作簡易桿秤》(教學(xué)設(shè)計)-2024-2025學(xué)年人教版(2024)初中物理八年級下冊
- 新蘇教版一年級數(shù)學(xué)下冊第六單元《簡單的數(shù)量關(guān)系(一)》教案(共2課時)
- 浙江省寧波市九校2024-2025學(xué)年高一上學(xué)期期末聯(lián)考試題 數(shù)學(xué) 含答案
- GA/T 2146-2024法庭科學(xué)涉火案件物證檢驗(yàn)移動實(shí)驗(yàn)室建設(shè)通用要求
- 北京市石景山區(qū)2024-2025學(xué)年九年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024-2025學(xué)年成都市石室聯(lián)中七年級上英語期末考試題(含答案)
- 2025年度服務(wù)外包合同:銀行呼叫中心服務(wù)外包協(xié)議3篇
- 【課件】跨學(xué)科實(shí)踐制作微型密度計++課件人教版物理八年級下冊
- 北師大版五年級數(shù)學(xué)下冊第4課時體積單位的換算課件
評論
0/150
提交評論