版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)-實驗六-文件系統(tǒng)設(shè) 計試驗寧德師范學(xué)院計算機(jī)系實驗報告(20142015學(xué)年第二學(xué)期)課程名稱 操作系統(tǒng) 實驗名稱實驗六文件系統(tǒng)設(shè)計試驗業(yè)一計算機(jī)科學(xué)與技術(shù)(非師)年 級2012級學(xué)號B2012102147 姓名一王秋 指導(dǎo)教師 王遠(yuǎn)帆實驗日期2015-06-20實驗?zāi)康呐c要求:通過設(shè)計一個基于索引結(jié)構(gòu)的文件系統(tǒng),加深對文件系統(tǒng)的基本知識理解。了解文件系統(tǒng)設(shè)計的基本概念。(1)熟悉文件系統(tǒng)的物理結(jié)構(gòu);(2)熟悉文件系統(tǒng)的目錄管理;(3)掌握文件系統(tǒng)空閑空間管理的基本方法;(4)進(jìn)一步理解現(xiàn)代操作系統(tǒng)文件管理知識。實驗設(shè)備(環(huán)境):(1) 一臺安裝有 Cygwin Terminal的計
2、算機(jī)(2) Windows XP操作系統(tǒng)(3) VC+6.0實驗內(nèi)容:(1)熟悉文件系統(tǒng)的物理結(jié)構(gòu);(2)熟悉文件系統(tǒng)的目錄管理;(3)掌握文件系統(tǒng)空閑空間管理的基本方法;(4)進(jìn)一步理解現(xiàn)代操作系統(tǒng)文件管理知識。實驗步驟、實驗結(jié)果及分析:(1)設(shè)計一個文件系統(tǒng)的索引結(jié)構(gòu),描述邏輯結(jié)構(gòu)與物理索引結(jié)構(gòu)之間的關(guān)系;(2)設(shè)計文件目錄,描述文件名與文件物理結(jié)構(gòu)之中的映射關(guān)系;(3)定義作業(yè);(4)設(shè)計文件建立;(5)設(shè)計文件系統(tǒng)的其它功能;實驗結(jié)合試驗運行結(jié)果:Pleaoc inpuft numbei of j DJtis : 4FILE 0:Maine an<l S j.e12FILE 1
3、: nane an d Slse23FILE 2:Name and SlseFlLE 3:Name And Sise34 Pte尊s any key to contimte圖1程序運 行結(jié)果4、思考該試驗中,從功能能上講,根據(jù)所學(xué)的文件系統(tǒng) 管理方面知識,你所設(shè)計的(模擬)文件還有那些 沒有實現(xiàn):對以后設(shè)計的修改建議:目前所做的修改及實際結(jié)果如下:程序清單:#include "stdio.h"#include "stdlib.h"/文件索引表的定義struct indexint lr32;int pr32;char st32;*wq;#define JO
4、BN 20/文件目錄的定義struct listchar names32;int size32;struct index*p32;/ 文件的索引表地址 *HEAD;作業(yè)序列struct que char name;int size;jobJOBN;int i,j,ly,li;char bb;int NFile=0;/系統(tǒng)的總文件數(shù),模擬開始時為 0;int N=0;/工作變量,標(biāo)記當(dāng)前分配文件int M=32;/系統(tǒng)中空閑磁盤物理塊數(shù),開始為 32塊int J48;/用位圖表示這些磁盤物理塊,Jji 為0時標(biāo)記第j*8+i塊空閑,為1標(biāo)記該塊已分配出去FILE *e;/記錄模擬中的相關(guān)數(shù)據(jù)in
5、t jobs=0;/ 作業(yè)數(shù)void run()int x1,y,z;/如果當(dāng)前空閑磁盤物理塊數(shù)能夠滿足需要,則進(jìn)行分配if(jobN.size<=M)iy=0;N=NFile;/標(biāo)記當(dāng)前分配文件NFile+;/標(biāo)記下次分配處理文件M-=jobN.size;HEAD->namesN=jobN.name;/將文件名以及大小,索引地址填寫到文件目錄HEAD->sizeN=jobN.size;wq=(struct index *)malloc(sizeof(structindex);HEAD->pN=wq;/對分配文件的索引表初始化for(z=0;z<32;z+)wq-
6、>lrz=z;/邏輯塊號wq->prz=0;/物理塊地址wq->stz='N'從位圖中分配,分配出去的塊其狀態(tài)為1。一直到分配完成for(j=0;j<4&&(ly<jobN.size);j+)for(i=0;i<8&&(ly<jobN.size);i+)if(Jji=0)li=j*8+i;wq->prly=li;wq->stly='Y'ly+;Jji=1;/找到一個空閑塊,就分配出去)/如果當(dāng)前空閑磁盤物理塊數(shù)不能夠滿足需要, 則出錯處理else fprintf(e,"
7、;n There are no free blocks in the memorynow! n");fprintf(e,"File %cmust wait!n",jobN.name);/報告目前為止的分配情況,首先報告文件目錄 的部分信息fprintf(e,"This time ,the filedirectory: -n");fprintf(e,"NAME INDEX_ADDRESSn");for(x1=0;x1<N+1;x1+)fprintf(e," %c%xn",HEAD->namesx
8、1,HEAD->px1)/其次報告文件索引表的部分信息for(x1=0;x1<N+1;x1+)fprintf(e," /The index of FILE%c:/n",HEAD->namesx1);fprintf(e," LOGIC_NUMBERPHYSICAL_NUMBER FLAGn");for(y=0;y<HEAD->sizex1;y+)fprintf(e,"%d %d %cn",HEAD->px1->lry,HEAD->px1->pry,HEAD->px1->s
9、ty);/第三,報告位圖信息fprintf(e," This time the bitmapping graph:n");for(j=0;j<4;j+)fprintf(e,"");for(i=0;i<8;i+)fprintf(e,"%d",Jji);fprintf(e,"n");void main() int k;e=fopen("results.txt","w");/打開保存結(jié)果的文件for(j=0;j<4;j+)for(i=0;i<8;i+)Jji
10、=0;/初始化位圖HEAD=(struct list*)malloc(sizeof(struct list);for(i=0;i<32;i+)HEAD->namesi=''HEAD->sizei=0;HEAD->pi=NULL;初始化文件目錄printf("Please input number of jobs:");scanf("%d”,&jobs);scanf("%c",&bb);int kk=0;/以下輸入建立的文件數(shù)以及文件名字,并將這些 信息保存在job數(shù)組之中while(kk&
11、lt;jobs)fprintf(e,"FILE %d: n",kk);printf("FILE %d: n",kk);printf("Name and Size");scanf("%c,%d",&(),&(jobkk.size);scanf("%c",&bb);fprintf(e,"%c,%d",,jobkk.size);kk+;for(k=1;k<=jobs;k+)run();/每個文件進(jìn)行一次分配/回收
12、資源fclose(e);for(i=0;i<32;i+)free(HEAD->pi);HEAD->pi=NULL;free(HEAD);HEAD=NULL;文件系統(tǒng)模擬程序1 .索引結(jié)構(gòu)和文件目錄2 .文件目錄模擬struct listchar names32;int size32;struct index*p32;/ 文件的索引表地址 *HEAD;該模擬文件最多只能模擬32個文件,HEAD指針指向 了該模擬目錄。3 .文件索引表模擬文件索引表的定義struct indexint lr32;int pr32;char st32;*wq;4 .位圖int J48。位圖J表示這些
13、磁盤物理塊的情況。Jji 為0時標(biāo)記塊空閑,為1標(biāo)記該塊已分配出 去。各塊號按行存儲。因此,Jji 表示j*8+i(塊 號)塊的分配情況5 .run函數(shù)6. Main函數(shù)為每個支標(biāo)退用一次分配過程關(guān)闈文件打開一個文件rtxt.郎并值擬中間結(jié)果初始化位圖回收賁源End初始但文件目錄 將要建市的工件信息 保存在0匕數(shù)組中實驗分析:程序要為每個文件建立一張索引表,索引表中 用數(shù)組指出文件信息所在的邏輯塊號和與之對應(yīng)的 物理塊號。程序中int Jji表示這些磁盤物理塊的情況。Jji 為0時標(biāo)記塊空閑,為1標(biāo)記該塊 已分配出去。各塊號按行存儲。實驗總結(jié)(包括過程總結(jié)、心得體會及實驗改進(jìn)意見等):1 .在
14、命令提示符中運行應(yīng)用程序時要先轉(zhuǎn)到 應(yīng)用程序所在的盤符下,要把應(yīng)用程序所在目錄位 置輸入正確,才能找到相應(yīng)的程序運行。2 .文件的物理結(jié)構(gòu)和組織是指邏輯文件在物 理存儲空間中存放方法和組織關(guān)系;使用多級目錄 可以解決文件重名問題與縮短搜索時間;現(xiàn)代操作 系統(tǒng)文件管理就是對塊空間的管理,包括空閑塊的 分配、回收和組織;索引文件結(jié)構(gòu)中的索引表是用 來指示邏輯記錄和物理塊之間對應(yīng)關(guān)系的。3 .通過本次實驗我了解了文件系統(tǒng)的基本概 念,物理文件結(jié)構(gòu)有三種結(jié)構(gòu),連續(xù)文件、鏈接文件、 索引文件。用戶能直接處理其中的結(jié)構(gòu)與數(shù)據(jù)的是 邏輯結(jié)構(gòu),文件在外存上的存儲組織形式是物理結(jié) 構(gòu)。只有合理的進(jìn)行存儲空間的管理,才能保證多 用戶共享外存和快速的實現(xiàn)文件的
溫馨提示
- 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年超額保險合同賠付限制
- 2025版城市更新改造項目投標(biāo)承諾書規(guī)范范本3篇
- 2025版木雕工藝品制作木工分包合同范本4篇
- 2025版企業(yè)銷售業(yè)務(wù)員合作協(xié)議范本3篇
- 2025年度豬圈建造與農(nóng)業(yè)循環(huán)經(jīng)濟(jì)合同4篇
- 二零二五版電影院裝修升級合同范本3篇
- 2025版學(xué)校教師聘用合同范本:職稱晉升條款詳解3篇
- 2025年度體育場館草坪鋪設(shè)與維護(hù)服務(wù)合同4篇
- 2025年度貨車司機(jī)勞動合同(附交通事故責(zé)任及賠償)
- 2025年度智能科技股權(quán)眾籌協(xié)議書模板
- 高考語文復(fù)習(xí)【知識精研】《千里江山圖》高考真題說題課件
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 高中物理斜面模型大全(80個)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機(jī)構(gòu)GCP SOP
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論