




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 實(shí)驗(yàn)一二三四五六七八九十總評(píng)成績(jī)大學(xué)珞珈學(xué)院課程實(shí)驗(yàn)(設(shè)計(jì))報(bào)告課程名稱: 操作系統(tǒng)設(shè)計(jì) 2011年11 月 10 日實(shí)習(xí)一 處理器調(diào)度一、實(shí)習(xí)容選擇一個(gè)調(diào)度算法,實(shí)現(xiàn)處理器調(diào)度。二、實(shí)習(xí)目的本實(shí)習(xí)模擬在單處理器環(huán)境下的處理器調(diào)度,加深了解處理器調(diào)度的工作。三、實(shí)習(xí)題目本實(shí)習(xí)有兩題,可任選一題。第一題:設(shè)計(jì)一個(gè)按優(yōu)先數(shù)調(diào)度算法實(shí)現(xiàn)處理器調(diào)度的程序。提示:(1)假定系統(tǒng)有5個(gè)進(jìn)程,每個(gè)進(jìn)程用一個(gè)PCB來(lái)代表。PCB的結(jié)構(gòu)為:·進(jìn)程名如P1P5。·指針按優(yōu)先數(shù)的大小把5個(gè)進(jìn)程連成隊(duì)列,用指針指出下一個(gè)進(jìn)程PCB的首地址。·要求運(yùn)行時(shí)間假設(shè)進(jìn)程需要運(yùn)行的單
2、位時(shí)間數(shù)。·優(yōu)先數(shù)賦予進(jìn)程的優(yōu)先數(shù),調(diào)度時(shí)總是選取優(yōu)先數(shù)大的進(jìn)程先執(zhí)行。·狀態(tài)假設(shè)兩種狀態(tài):就緒和結(jié)束,用R表示就緒,用E表示結(jié)束。初始狀態(tài)都為就緒狀態(tài)。(2) 開(kāi)始運(yùn)行之前,為每個(gè)進(jìn)程確定它的“優(yōu)先數(shù)”和“要求運(yùn)行時(shí)間”。通過(guò)鍵盤(pán)輸入這些參數(shù)。(3) 處理器總是選擇隊(duì)首進(jìn)程運(yùn)行。采用動(dòng)態(tài)改變優(yōu)先數(shù)的辦法,進(jìn)程每運(yùn)行1次,優(yōu)先數(shù)減1,要求運(yùn)行時(shí)間減1。(4) 進(jìn)程運(yùn)行一次后,若要求運(yùn)行時(shí)間不等于0,則將它加入就緒隊(duì)列,否則,將狀態(tài)改為“結(jié)束”,退出就緒隊(duì)列。(5) 若就緒隊(duì)列為空,結(jié)束,否則轉(zhuǎn)到(3)重復(fù)。要求能接受鍵盤(pán)輸入的進(jìn)程優(yōu)先數(shù)與要求運(yùn)行時(shí)間,能顯示每次進(jìn)程調(diào)度的情
3、況,如哪個(gè)進(jìn)程在運(yùn)行,哪些進(jìn)程就緒,就緒進(jìn)程的排列情況。四. 實(shí)驗(yàn)過(guò)程 1.實(shí)驗(yàn)算法分析:優(yōu)先數(shù)調(diào)度算法又稱優(yōu)先權(quán)調(diào)度算法,在進(jìn)程調(diào)度中,優(yōu)先數(shù)調(diào)度算法每次從就緒隊(duì)列中選擇優(yōu)先數(shù)高的進(jìn)程,將處理機(jī)分配給他,使之投入運(yùn)行。根據(jù)進(jìn)程調(diào)度方式的不同,又可以將調(diào)地算法分為非強(qiáng)占式優(yōu)先數(shù)調(diào)度算法和搶占式優(yōu)先數(shù)調(diào)度算法。 2.本實(shí)驗(yàn)采用非搶占式優(yōu)先數(shù)調(diào)度算法實(shí)現(xiàn)進(jìn)程的調(diào)度,實(shí)現(xiàn)5個(gè)進(jìn)程的調(diào)度情況,實(shí)現(xiàn)代碼的分析,并驗(yàn)證過(guò)程。 3. 實(shí)驗(yàn)的流程圖如下圖所示:4.代碼段分析:struct PCB/定義一個(gè)進(jìn)程結(jié)點(diǎn)數(shù)據(jù)域,為每一個(gè)進(jìn)程定義一個(gè)進(jìn)程控制塊char name3; /進(jìn)程名int run_time;
4、/運(yùn)行時(shí)間int level; /優(yōu)先數(shù)char state; /運(yùn)行狀態(tài)struct PCB *next; /指向下一個(gè)結(jié)點(diǎn)的指針;struct PCB *creat() /創(chuàng)建一個(gè)函數(shù),用于返回一個(gè)鏈表 包含輸入各個(gè)節(jié)點(diǎn)的信息 并實(shí)現(xiàn)調(diào)度算法 void display(struct PCB *p) /用于輸出當(dāng)前鏈表中各結(jié)點(diǎn)的狀態(tài) 輸出各個(gè)時(shí)刻各個(gè)節(jié)點(diǎn)的狀態(tài)信息void main( void )struct PCB *head, *tail, *p;head = creat();/調(diào)用函數(shù)creat,head指向頭結(jié)點(diǎn)p = head;tail = p;printf("初始進(jìn)程的
5、情況: n"); 下面是對(duì)算法的總體實(shí)現(xiàn),以與對(duì)輸出操作-display(p); /顯示當(dāng)前結(jié)點(diǎn)的情況 輸出實(shí)驗(yàn)結(jié)果-5. 實(shí)驗(yàn)結(jié)果請(qǐng)輸入第1個(gè)結(jié)點(diǎn)的優(yōu)先數(shù): 1請(qǐng)輸入第1個(gè)結(jié)點(diǎn)的運(yùn)行時(shí)間: 10請(qǐng)輸入第2個(gè)結(jié)點(diǎn)的優(yōu)先數(shù): 2請(qǐng)輸入第2個(gè)結(jié)點(diǎn)的運(yùn)行時(shí)間: 20請(qǐng)輸入第3個(gè)結(jié)點(diǎn)的優(yōu)先數(shù): 3請(qǐng)輸入第3個(gè)結(jié)點(diǎn)的運(yùn)行時(shí)間: 30請(qǐng)輸入第4個(gè)結(jié)點(diǎn)的優(yōu)先數(shù): 4請(qǐng)輸入第4個(gè)結(jié)點(diǎn)的運(yùn)行時(shí)間: 40請(qǐng)輸入第5個(gè)結(jié)點(diǎn)的優(yōu)先數(shù): 5請(qǐng)輸入第5個(gè)結(jié)點(diǎn)的運(yùn)行時(shí)間: 50初始進(jìn)程的情況: P5 50 5 R P4 P4 40 4 R P3 P3 30 3 R P2 P2 20 2 R P1 P1 10 1
6、R (null)最新進(jìn)程調(diào)度的情況:P5-> P5 50 5 R P4 P4 40 4 R P3 P3 30 3 R P2 P2 20 2 R P1 P1 10 1 R (null)最新進(jìn)程調(diào)度的情況:P4-> P4 40 4 R P5 P5 49 4 R P3 P3 30 3 R P2 P2 20 2 R P1六.調(diào)試結(jié)果與分析通過(guò)本次試驗(yàn)的學(xué)習(xí),我深入的了解了進(jìn)程的調(diào)度情況,從算法的設(shè)計(jì)中學(xué)到了每個(gè)進(jìn)程用進(jìn)程控制塊的優(yōu)點(diǎn),并從中學(xué)習(xí)了操作系統(tǒng)中任務(wù)的運(yùn)作流程。實(shí)習(xí)二 主存空間的分配和回收一、實(shí)習(xí)容主存儲(chǔ)器空間的分配和回收。二、實(shí)習(xí)目的通過(guò)本實(shí)習(xí)幫助理解在不同的存儲(chǔ)管理方式下應(yīng)怎
7、樣進(jìn)行存儲(chǔ)空間的分配和回收。三、實(shí)習(xí)題目本實(shí)習(xí)有兩題,可任選一題??勺兎謪^(qū)管理方式下采用首次適應(yīng)算法實(shí)現(xiàn)主存分配和回收(1) 可變分區(qū)方式是按作業(yè)需要的主存空間大小來(lái)分割分區(qū)的。當(dāng)要裝入一個(gè)作業(yè)時(shí),根據(jù)作業(yè)需要的主存容量查看是否有足夠的空閑空間,若有,則按需分配,否則,作業(yè)無(wú)法裝入。假定存大小為128K,空閑區(qū)說(shuō)明表格式為:·起始地址指出空閑區(qū)的起始地址;·長(zhǎng)度一個(gè)連續(xù)空閑區(qū)的長(zhǎng)度;·狀態(tài)有兩種狀態(tài),一種是“未分配”狀態(tài);另一種是“空表目”狀態(tài),表示該表項(xiàng)目前沒(méi)有使用。(2) 采用首次適應(yīng)算法分配回收存空間。運(yùn)行時(shí),輸入一系列分配請(qǐng)求和回收請(qǐng)求。要求能接受來(lái)自鍵盤(pán)
8、的空間申請(qǐng)與釋放請(qǐng)求,能顯示分區(qū)分配與回收后的存布局情況。四. 實(shí)驗(yàn)過(guò)程 1.算法分析:首次適應(yīng)算法又稱最先適應(yīng)算法,該算法要求空襲那分區(qū)按地址遞增的次序排列。在進(jìn)行存分配時(shí),從空閑分區(qū)表(或空閑分區(qū)鏈)首開(kāi)始順序查找,直到找到第一個(gè)能滿足其大小要求的空閑分區(qū)為止。然后,再按照作業(yè)的大小,從該分區(qū)中劃出一塊存空間分配給請(qǐng)求者,余下的空閑分區(qū)仍然留在空閑分區(qū)表中。 2 程序的流程圖: 開(kāi)始輸出四個(gè)選項(xiàng)供選擇根據(jù)不同的選擇查看內(nèi)存分配申請(qǐng)內(nèi)存分配申請(qǐng)回收內(nèi)存顯示內(nèi)存分配情況輸入任務(wù)名,并給任務(wù)分配內(nèi)存輸入任務(wù),回該作業(yè)所占內(nèi)存3 實(shí)現(xiàn)并驗(yàn)證算法的程序分析1) 定義數(shù)據(jù)結(jié)構(gòu)類(lèi)型struct MZon
9、e /存分區(qū) /空閑區(qū)起始地址 int begin_addr; /一個(gè)連續(xù)空閑區(qū)的長(zhǎng)度 int length; /狀態(tài) int state; /存中任務(wù)名 char task_name32; /指向下一個(gè)空閑分區(qū) struct MZone *next; ;2) 插入任務(wù)到空閑分區(qū)并,分配存/Minsert函數(shù),功能插入任務(wù)到空閑分區(qū) int Minsert(struct MZone* Mnew) 插入任務(wù)到空閑分區(qū)/memoallocate函數(shù),用于分配存void memoallocate(void) struct MZone *Mnew = (struct MZone*)malloc(siz
10、eof(struct MZone); printf("輸入要分配存大小(kb):n"); scanf("%d",&Mnew->length); printf("輸入任務(wù)名:n"); scanf("%s",&Mnew->task_name); Minsert(Mnew)?printf("分配存成功n"):printf("沒(méi)有符合大小的空閑分區(qū),存分配失敗。n"); system("pause"); free(Mnew);3) 回收
11、存int Mreturn(char taskname) 顯示分配存的情況4) 顯示存分配情況 /存頭指針 struct MZone * Mhead = NULL;/showmemory函數(shù),顯示當(dāng)前存分配情況 void showmemory() struct MZone *Mpoint = Mhead; printf("存的使用情況n"); printf("beginaddrtlengthtstatettaskn"); while( NULL!=Mpoint) printf("%dktt",Mpoint->begin_addr)
12、; printf("%dkt",Mpoint->length); Mpoint->state?printf("CANUSEt"):printf("CANTUSEt"); printf("%sn",Mpoint->task_name); Mpoint = Mpoint->next; system("pause");5) 驗(yàn)證算法的正確性int main(void) int func_ = 0; /初始化Mhead Mhead = (struct MZone*)malloc(
13、sizeof(struct MZone); Mhead->begin_addr = 0; Mhead->length = MSIZE; Mhead->state = CANUSE; memset(Mhead->task_name, 0, sizeof(char)*32 ); Mhead->next = NULL; while( 1 ) printf("*首次適應(yīng)算法實(shí)現(xiàn)主存分配和回收系統(tǒng)(存MSIZE)*n"); printf("|1:查看存分配情況n"); printf("|2:申請(qǐng)分配存n"); pr
14、intf("|3:申請(qǐng)回收存n"); printf("|4:退出程序n"); printf("*n"); scanf("%d",&func_); switch( func_ ) case 1 :showmemory();break; case 2 :memoallocate();break; case 3 :memoreturn();break; case 4 :return 1; system("cls"); 五.實(shí)驗(yàn)的輸出結(jié)果/*首次適應(yīng)算法實(shí)現(xiàn)主存分配和回收系統(tǒng)(存MSIZE)*
15、|1:查看存分配情況 |2:申請(qǐng)分配存 |3:申請(qǐng)回收存 |4:退出程序*1存的使用情況beginaddr length state task0k 128k CANUSE請(qǐng)按任意鍵繼續(xù). . . *2輸入要分配存大小(kb):100輸入任務(wù)名:1分配存成功請(qǐng)按任意鍵繼續(xù). . . *3輸入要收回的任務(wù)名1存回收成功!請(qǐng)按任意鍵繼續(xù). . .*/-六.調(diào)試結(jié)果與分析 通過(guò)對(duì)可變分區(qū)管理方式下采用首次適應(yīng)算法實(shí)現(xiàn)主存分配和回收算法的設(shè)計(jì)與分析,是我充分的認(rèn)識(shí)了存的運(yùn)作流程,存的分配與回收至關(guān)重要,因此存的分配算法也很重要,通過(guò)本次試驗(yàn),我認(rèn)識(shí)到作為一個(gè)系統(tǒng)工程師所要做的事情。實(shí)習(xí)三 磁盤(pán)存儲(chǔ)空間的
16、分配和回收一、實(shí)習(xí)容模擬磁盤(pán)空閑空間的表示方法,以與模擬實(shí)現(xiàn)磁盤(pán)空間的分配和回收。二、實(shí)習(xí)目的磁盤(pán)初始化時(shí)把磁盤(pán)存儲(chǔ)空間分成許多塊(扇區(qū)),這些空間可以被多個(gè)用戶共享。用戶作業(yè)在執(zhí)行期間常常要在磁盤(pán)上建立文件或把已經(jīng)建立在磁盤(pán)上的文件刪去,這就涉與到磁盤(pán)存儲(chǔ)空間的分配和回收。一個(gè)文件存放到磁盤(pán)上,可以組織成順序文件(連續(xù)文件)、文件(串聯(lián)文件)、索引文件等,因此,磁盤(pán)存儲(chǔ)空間的分配有兩種方式,一種是分配連續(xù)的存儲(chǔ)空間,另一種是可以分配不連續(xù)的存儲(chǔ)空間。怎樣有效地管理磁盤(pán)存儲(chǔ)空間是操作系統(tǒng)應(yīng)解決的一個(gè)重要問(wèn)題,通過(guò)本實(shí)習(xí)使學(xué)生掌握磁盤(pán)存儲(chǔ)空間的分配和回收算法。三、實(shí)習(xí)題目本實(shí)習(xí)有三個(gè)題目,可以任
17、選一個(gè),但不能與存管理的題目類(lèi)似。 連續(xù)磁盤(pán)存儲(chǔ)空間的分配和回收提示:(1) 要在磁盤(pán)上建立順序文件時(shí),必須把按序排列的邏輯記錄依次存放在磁盤(pán)的連續(xù)存儲(chǔ)空間中??杉俣ù疟P(pán)初始化時(shí),已把磁盤(pán)存儲(chǔ)空間劃分成若干等長(zhǎng)的塊(扇區(qū)),按柱面號(hào)和盤(pán)面號(hào)的順序給每一塊確定一個(gè)編號(hào)。隨著文件的建立、刪除、磁盤(pán)存儲(chǔ)空間被分成許多區(qū)(每一區(qū)包含若干塊),有的區(qū)存放著文件,而有的區(qū)是空閑的。當(dāng)要建立順序文件時(shí)必須找到一個(gè)合適的空閑區(qū)來(lái)存放文件記錄,當(dāng)一個(gè)文件被刪除時(shí),則該文件占用的區(qū)應(yīng)成為空閑區(qū)。為此可用一空閑區(qū)表來(lái)記錄磁盤(pán)存儲(chǔ)空間未占用的部分,格式如下:序 號(hào)起始空閑塊號(hào)空閑塊個(gè)數(shù)狀 態(tài)156未 分 配2143未
18、 分 配32130未 分 配4(2) 建立文件時(shí),先查找空閑區(qū)表,從狀態(tài)為“未分配”的表項(xiàng)中找出一個(gè)塊數(shù)能滿足要求的區(qū),由起始空閑塊號(hào)能依次推得可使用的其它塊號(hào)。若不需要占用該區(qū)的所有塊時(shí),則剩余的塊仍應(yīng)為未分配的空閑塊,這時(shí)要修改起始空閑塊號(hào)和空閑塊數(shù)。若占用了該區(qū)的所有塊,則相應(yīng)登記欄中的狀態(tài)修改成“空表目”。刪除一個(gè)文件時(shí),需要考慮空閑塊的合并情況。磁盤(pán)存儲(chǔ)空間的分配和回收算法類(lèi)似于主存儲(chǔ)器的可變分區(qū)方式的分配和回收。同學(xué)們可參考實(shí)習(xí)二的第一題。(3) 當(dāng)找到空閑塊后,必須啟動(dòng)磁盤(pán)把信息存放到指定的塊中,啟動(dòng)磁盤(pán)必須給出由三個(gè)參數(shù)組成的物理地址:盤(pán)面號(hào)、柱面號(hào)和物理記錄號(hào)(即扇區(qū)號(hào))。故
19、必須把找到的空閑塊號(hào)換算成磁盤(pán)的物理地址。為了減少移臂次數(shù),磁盤(pán)上的信息按柱面上各磁道順序存放?,F(xiàn)假定一個(gè)盤(pán)組共有200個(gè)柱面,(編號(hào)0-199)每個(gè)柱面有20個(gè)磁道(編號(hào)0-19,同一柱面上的各磁道分布在各盤(pán)面上,故磁道號(hào)即盤(pán)面號(hào)。),每個(gè)磁道被分成等長(zhǎng)的6個(gè)物理記錄(編號(hào)0-5,每個(gè)盤(pán)面被分成若干個(gè)扇區(qū),故每個(gè)磁道上的物理記錄號(hào)即為對(duì)應(yīng)的扇區(qū)號(hào))。那么,空閑塊號(hào)與磁盤(pán)物理地址的對(duì)應(yīng)關(guān)系如下:則 物理記錄號(hào)=空閑塊號(hào) % 6磁道號(hào)=(空閑塊號(hào) / 6 )% 20 柱面號(hào)=(空閑塊號(hào) / 6)/20(4) 刪除一個(gè)文件時(shí),從文件目錄表中可得到該文件在磁盤(pán)上的起始地址和邏輯記錄個(gè)數(shù),假定每個(gè)邏輯
20、記錄占磁盤(pán)上的一塊,則可推算出歸還后的起始空閑塊號(hào)和塊數(shù),登記到空閑區(qū)表中。換算關(guān)系如下:起始空閑塊號(hào)=(柱面號(hào)´20+磁道號(hào))´6+物理記錄號(hào)空閑塊數(shù)=邏輯記錄數(shù)(5) 請(qǐng)?jiān)O(shè)計(jì)磁盤(pán)存儲(chǔ)空間的分配和回收程序,要求把分配到的空閑塊轉(zhuǎn)換成磁盤(pán)物理地址,把歸還的磁盤(pán)空間轉(zhuǎn)換成空閑塊號(hào)。要求能接受來(lái)自鍵盤(pán)的空間申請(qǐng)與釋放請(qǐng)求,能顯示或打印分配與回收后的空閑區(qū)表以與分配到的磁盤(pán)空間的起始物理地址:包括柱面號(hào)、磁道號(hào)、物理記錄(扇區(qū)號(hào))。四數(shù)據(jù)結(jié)構(gòu)與流程 用到的數(shù)據(jù)結(jié)構(gòu) 本程序用到的數(shù)據(jù)結(jié)構(gòu)為空閑表,其組成元素為結(jié)構(gòu)體,其中用來(lái)存空閑表的數(shù)組元素定義為: struct float ad
21、dress; /*分區(qū)起始地址*/ float lenth; /*空閑長(zhǎng)度,單位為塊*/ int flag; /*空閑表登記欄標(biāo)志,用“0”表示空欄目,“1”表示未分配*/ tablen; /*空閑表*/ 其中實(shí)型address作為分區(qū)起始?jí)K號(hào),用于記錄個(gè)空閑分區(qū)的起始?jí)K號(hào),在程序開(kāi)始時(shí),數(shù)組第0項(xiàng)address被初始化為0(默認(rèn)起始?jí)K號(hào))其他元素對(duì)應(yīng)項(xiàng)在初始化是不賦值。第二項(xiàng)length表示所對(duì)應(yīng)的項(xiàng)的長(zhǎng)度,單位為塊,在進(jìn)程請(qǐng)求磁盤(pán)空間時(shí),就是根據(jù)這一項(xiàng)大小為其分配合適的地址塊,在初始化,第0元素該項(xiàng)被值為1000(默認(rèn)地址塊數(shù)),其他項(xiàng)不被置值,最后一項(xiàng)flag用于空閑表登記欄標(biāo)志,用”0
22、”表示空欄目,表明此項(xiàng)不用于指示磁盤(pán)空閑區(qū),則該項(xiàng)其他元素都無(wú)效,“1”表示未分配,表明此項(xiàng)其他元素代表磁盤(pán)區(qū)域,可用于分配給文件,在初始化實(shí)第0項(xiàng)被初始化為1,其他項(xiàng)被初始化為0,表示為空。 另一個(gè)結(jié)構(gòu)體used_table,用于表示已分配表,從中可以看出已分配得的使用情況。其中address表示已分配分區(qū)起始?jí)K號(hào),length表示已分配分區(qū)長(zhǎng)度,單位為字節(jié),在初始化使所有項(xiàng)該元素都不賦值,flag表示已分配區(qū)登記欄標(biāo)志,用“0“表示空欄目,表明該項(xiàng)所有元素都無(wú)效,若不為0則代表該磁盤(pán)區(qū)域分配給的文件名,在初始化時(shí)由于沒(méi)有文件,所以全為0。 (2)主程序流程 系統(tǒng)初始化,輸入a的值。 選擇需
23、要的服務(wù)類(lèi)型。如a=1轉(zhuǎn),否則若a=2,轉(zhuǎn),否則若a=3轉(zhuǎn),否則退出。 輸入文件的名字和所需空間大小,為其分配磁盤(pán)區(qū)域。轉(zhuǎn)。 輸入需要撤銷(xiāo)的文件的名字,將其所占有的磁盤(pán)回收,轉(zhuǎn)。 將磁盤(pán)空閑表和磁盤(pán)分配區(qū)表打印,轉(zhuǎn)。 輸入a的值,返回。 結(jié)束。 磁盤(pán)分配流程 輸入文件的名字name和所需空間大小length,=0. 當(dāng)i<n且right=0時(shí),判斷tablei.flag 是否為1且tablei.lengthlength,若滿足則將right置為1,i項(xiàng)為分配的磁盤(pán)區(qū)域。 在空閑表中找一空標(biāo)志項(xiàng)j,將其address置為tablei.address,長(zhǎng)度為文件所需長(zhǎng)度,flag置為文件名。
24、 將tablei.address置為tablei.address+length, tablei.length置為tablei.length-length. (4)磁盤(pán)回收流程 輸入想撤銷(xiāo)的文件的名字。 在used_table中尋找flag 為name的項(xiàng)。若找不到。則報(bào)錯(cuò)。若找到,繼續(xù), 將used_tablei的起始?jí)K號(hào)分別負(fù)給head,tail,用于判斷磁盤(pán)中該區(qū)域的上下相臨區(qū)域是否被占用,若無(wú),則分情況將其合并。五.代碼分析實(shí)現(xiàn)磁盤(pán)連續(xù)分配的算法choice (void)while(a = !4)if(a = 1)else if(a = 2)else if(a = 3)printf(&q
25、uot;請(qǐng)選擇服務(wù)類(lèi)型:"); scanf("%d",&a); 主函數(shù)測(cè)試: int main(void) for(i=0;i<n;i+) used_tablei.flag=0; /*已分配區(qū)表初始化*/ table0.address=0.0; table0.length=1000.0; table0.flag=1; /*空閑表初始化*/ for(i=1;i<m;i+) tablei.flag=0; printf("請(qǐng)選擇服務(wù)類(lèi)型 n"); printf("-請(qǐng)選擇服務(wù)類(lèi)型- n"); printf(" 1 調(diào)入新的文件n"); printf(" 2 收回文件磁盤(pán)空間 n"); printf(&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地鐵豎井罩棚施工方案
- 景觀樹(shù)基礎(chǔ)施工方案
- 海安工裝拆除施工方案
- 水中微型樁施工方案
- 懸浮樓梯施工方案
- 壽光路牙石施工方案
- 工藝燈安裝施工方案
- 二零二五年度勞動(dòng)合同期限與績(jī)效考核結(jié)果關(guān)聯(lián)合同
- 二零二五年度合同解除后債務(wù)重組協(xié)議
- 二零二五年度咖啡連鎖店加盟經(jīng)營(yíng)合同
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(lèi)(正式版)
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)全面
- MOOC 跨文化交際通識(shí)通論-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課答案
- GB/T 28799.2-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第2部分:管材
- 10000中國(guó)普通人名大全
- 公路工程竣工驗(yàn)收鑒定書(shū)
- 項(xiàng)目章程模板范文
- 耳尖放血療法治療高血壓病技術(shù)
- 泰山產(chǎn)業(yè)領(lǐng)軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計(jì)算
評(píng)論
0/150
提交評(píng)論