![太原理工大學《操作系統(tǒng)B》實驗報告_第1頁](http://file4.renrendoc.com/view10/M00/04/29/wKhkGWWIxKCALn74AADhMZbDgic073.jpg)
![太原理工大學《操作系統(tǒng)B》實驗報告_第2頁](http://file4.renrendoc.com/view10/M00/04/29/wKhkGWWIxKCALn74AADhMZbDgic0732.jpg)
![太原理工大學《操作系統(tǒng)B》實驗報告_第3頁](http://file4.renrendoc.com/view10/M00/04/29/wKhkGWWIxKCALn74AADhMZbDgic0733.jpg)
![太原理工大學《操作系統(tǒng)B》實驗報告_第4頁](http://file4.renrendoc.com/view10/M00/04/29/wKhkGWWIxKCALn74AADhMZbDgic0734.jpg)
![太原理工大學《操作系統(tǒng)B》實驗報告_第5頁](http://file4.renrendoc.com/view10/M00/04/29/wKhkGWWIxKCALn74AADhMZbDgic0735.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《操作系統(tǒng)B》實驗報告學院:現(xiàn)代科技學院專業(yè):計算機科學與技術姓名:班級:計算機學號:指導教師:時間:年月太原理工大學學生實驗報告學院名稱現(xiàn)代科技學院專業(yè)班級實驗成績學生姓名學號實驗日期課程名稱操作系統(tǒng)B實驗題目幾種操作系統(tǒng)的界面一、目的和要求目的本實驗的目的是使學生熟悉1—2種操作系統(tǒng)的界面,在熟練使用機器的根底上,能了解各種操作命令和系統(tǒng)調用在系統(tǒng)中的大致工作過程。也就是通過操作系統(tǒng)的外部特征,逐步深入到操作系統(tǒng)的內(nèi)部實質內(nèi)容中去。要求能熟練的在1—2種操作系統(tǒng)的環(huán)境下工作,學會使用各種命令,熟悉系統(tǒng)提供的各種功能,主動而有效地使用計算機。熟悉系統(tǒng)實用程序的調用方法和各種系統(tǒng)調用模塊的功能和作用二、內(nèi)容實驗步驟在某種操作系統(tǒng)的環(huán)境下建立、修改、運行、打印源程序和結果,最后撤消一個完整的程序。提示:可按下述步驟進行編寫一個完整的源程序,通過編輯命令送入機器,建立源程序文件;編譯該源文件,建立相應的目標文件;編譯有錯時,再用編輯命令修改源文件,消除全部詞法和語法錯誤;連接目標文件,形成可執(zhí)行文件;執(zhí)行該文件,得到結果;打印輸出源程序和運行結果;撤消本次實驗中形成的所有文件。實驗內(nèi)容利用DOS命令建立一個1.cpp文件,程序清單如下:/*>1.cpp*/#include<stdio.h>#include<conio.h>intmain(){ printf("操作系統(tǒng)實驗報告!\n"); return0;}/*>over*/DOS命令截圖:1.cpp文件截圖:由于MS-DOS中不能顯示中文,所以圖中顯示為亂碼,此處為:操作系統(tǒng)實驗報告!DEV-CPP編譯、連接并運行程序。運行截圖:用DOS命令刪除程序清單1.cpp與執(zhí)行文件1.exe文件。三、總結本次實驗在WINDOWSXP操作系統(tǒng)下完成,考察了對WINDOWSXP操作系統(tǒng)的根本操作和DOS命令的使用,通過編譯工具學會根本的編譯、連接操作。本次實驗中使用到的DOS命令與工具:操作系統(tǒng):WINDOWSXPC語言編譯工具:DEV-CPPDOS命令:查看目錄:dir編輯文本:edit刪除文件:del實驗室名稱指導教師簽名太原理工大學學生實驗報告學院名稱現(xiàn)代科技學院專業(yè)班級實驗成績學生姓名學號實驗日期課程名稱操作系統(tǒng)B實驗題目進程調度程序設計一、目的和要求目的進程是操作系統(tǒng)最重要的概念之一,進程調度是操作系統(tǒng)的主要內(nèi)容,本實驗要求學生獨立地用高級語言編寫一個進程調度程序,調度算法可任意選擇或自行設計,本實驗可使學生加深對進程調度和各種調度算法的理解。要求設計一個有幾個進程并發(fā)執(zhí)行的進程調度程序,每個進程由一個進程控制塊(PCB)表示,進程控制塊通常應包括下述信息:進程名,進程優(yōu)先數(shù),進程需要運行的時間,占用CPU的時間以及進程的狀態(tài)等,且可按照調度算法的不同而增刪。調度程序應包含2—3種不同的調度算法,運行時可以任選一種,以利于各種方法的分析和比擬。系統(tǒng)應能顯示或打印各進程狀態(tài)和參數(shù)的變化情況,便于觀察。二、實驗內(nèi)容實驗原理題目本程序可選用優(yōu)先數(shù)法或簡單輪轉法對五個進程進行調度。每個進程處于運行R(run)、就緒W(wait)和完成F(finish)三種狀態(tài)之一,并假定起始狀態(tài)都是就緒狀態(tài)W。為了便于處理,程序中進程的運行時間以時間片為單位計算。各進程的優(yōu)先數(shù)或輪轉時間片數(shù)、以及進程需要運行的時間片數(shù),均由偽隨機數(shù)發(fā)生器產(chǎn)生。進程控制塊結構如表2-1所示:表2-1PCB進程標識符鏈指針優(yōu)先數(shù)/輪轉時間片數(shù)占用CPU時間片數(shù)進程所需時間片數(shù)進程狀態(tài)進程控制塊鏈結構如圖2-1所示:1┇R31┇R3┇W5┇WW0┇2圖2-1進程控制塊鏈結構其中:RUN—當前運行進程指針;HEAD—進程就緒鏈鏈首指針;TAIL—進程就緒鏈鏈尾指針。2.算法與框圖程序框圖如圖2-2所示。prioritypriority是輸入調度算法alog開始alog=priority/roundrobin?生成并按優(yōu)先數(shù)大小排列進程控制塊鏈進程時間片數(shù)為0?從鏈首取一個進程投入運行生成并按進入次序排列進程控制塊鏈鏈首進程投入運行時間片到,進程時間片數(shù)減1,優(yōu)先數(shù)減3運行進程退出,排到進程鏈尾部撤消該進程鏈首進程投入運行時間片到,進程時間片數(shù)減1,占用CPU時間加1優(yōu)先數(shù)大于鏈首進程?進程時間片數(shù)為0?撤消該進程運行進程退出,按優(yōu)先數(shù)插入進程鏈從鏈首取一個進程投入運行結束結束進程隊列空?進程隊列空?是是是否否否否否是roundrobin占用處理機時間片到?否是圖2-2進程調度框圖(1)優(yōu)先數(shù)法。進程就緒鏈按優(yōu)先數(shù)大小從大到小排列,鏈首進程首先投入運行。每過一個時間片,運行進程所需運行的時間片數(shù)減1,說明它已運行了一個時間片,優(yōu)先數(shù)也減3。理由是該進程如果在一個時間片中完成不了,優(yōu)先級應降低一級。接著比擬現(xiàn)行進程和就緒鏈鏈首進程的優(yōu)先數(shù),如果仍是現(xiàn)行進程高或者相同,就讓現(xiàn)行進程繼續(xù)運行,否那么,調度就緒鏈鏈首進程投入運行。原運行進程再按其優(yōu)先數(shù)大小插入就緒鏈,且改變它們對應的進程狀態(tài),直至所有進程都運行完各自的時間片數(shù)。(2)簡單輪轉法。進程就緒鏈按各進程進入的先后次序排列,鏈首進程首先投入運行。進程每次占用處理機的輪轉時間按其重要程度登入進程控制塊中的輪轉時間片數(shù)記錄項〔相應于優(yōu)先數(shù)法的優(yōu)先數(shù)記錄項位置〕。每過一個時間片,運行進程占用處理機的時間片數(shù)加1,然后比擬占用處理機的時間片數(shù)是否與該進程的輪轉時間片數(shù)相等,假設相等說明已到達輪轉時間,應將現(xiàn)運行進程排到就緒鏈末尾,調度鏈首進程占用處理機,且改變它們的進程狀態(tài),直至所有進程完成各自的時間片。實驗步驟根據(jù)實驗原理圖設計調度源碼,如下:#include<stdio.h>#include<stdlib.h>#definefurthest5structprocess/*PCBSTRUCTURE*/{intid;intpriority;intcputime;intalltime;charstate;intnext;}prochain[furthest-1];intprocnum;intrand();intalgo;intrun,head,tail,j;main()/*MAINPROGRAM*/{agan:printf("typethealgorithmis(1:RR,2:PRIO):");scanf("%d",&algo);if(algo==2){printf("outputofpriority.\n");init();prisch();}else{if(algo==1){printf("outputofroundrobin.\n");init();timesch();}else{printf("tryagain,please\n");gotoagan;}}for(j=1;j<=40;j++){printf("=");}printf("\n\n");for(j=1;j<=40;j++){printf("=");}printf("\n\n");printf("systemfinished\n");getch();}print()/*PRINTTHERUNNINGPROCESS,WAITINGQUEUEANDPCBSEQUENCELIST*/{intk,p;for(k=1;k<=40;k++)printf("=");printf("\nrunningproc.");printf("waitingqueue.");printf("\n%d",prochain[run].id);p=head;while(p!=0){printf("%5d",p);p=prochain[p].next;}printf("\n");for(k=1;k<=40;k++)printf("=");printf("\n");printf("id");for(k=1;k<furthest+1;k++)printf("%5d",prochain[k].id);printf("\n");printf("priority");for(k=1;k<furthest+1;k++)printf("%5d",prochain[k].priority);printf("\n");printf("cputime");for(k=1;k<furthest+1;k++)printf("%5d",prochain[k].cputime);printf("\n");printf("alltime");for(k=1;k<furthest+1;k++)printf("%5d",prochain[k].alltime);printf("\n");printf("state");for(k=1;k<furthest+1;k++)printf("%5c",prochain[k].state);printf("\n");printf("next");for(k=1;k<furthest+1;k++)printf("%5d",prochain[k].next);printf("\n");}insert(intq)/*INSERTAPROCESS*/{intp,s;p=head;s=prochain[head].next;while((prochain[q].priority<prochain[s].priority)&&(s!=0)){p=s;s=prochain[s].next;}prochain[p].next=q;prochain[q].next=s;}insert2()/*PUTAPROCESSONTOTHETAILOFTHEQUEUE*/{prochain[tail].next=run;tail=run;prochain[run].next=0;}init()/*CREATEAWAITINGQUEUE*/{inti;head=0;if(algo==2){for(i=1;i<furthest+1;i++){prochain[i].id=i;prochain[i].priority=(rand()+11)%41;prochain[i].cputime=0;prochain[i].alltime=(rand()+1)%7;prochain[i].state='W';prochain[i].next=0;if((prochain[i].priority<prochain[head].priority)&&(head!=0))insert(prochain[i].id);else{prochain[i].next=head;head=prochain[i].id;}}}else{for(i=1;i<furthest+1;i++){prochain[i].id=i;prochain[i].priority=(rand()+1)%3+1;prochain[i].cputime=0;prochain[i].alltime=(rand()+1)%7;prochain[i].state='W';prochain[i].next=(i+1)%(furthest+1);}head=1;tail=furthest;prochain[furthest].next=0;}run=head;prochain[run].state='R';head=prochain[head].next;prochain[run].next=0;print();}prisch()/*THEPROCESSWITHPRIOALGORITHM*/{while(run!=0){prochain[run].cputime+=1;prochain[run].priority-=3;prochain[run].alltime-=1;if(prochain[run].alltime==0){prochain[run].state='F';prochain[run].next=0;if(head!=0){run=head;prochain[run].state='R';head=prochain[head].next;}else{prochain[0].id=prochain[run].id;run=0;}}else{if((prochain[run].priority<prochain[head].priority)&&(head!=0)){prochain[run].state='W';insert(run);run=head;prochain[run].state='R';head=prochain[head].next;}}print();}}timesch()/*THEPROCESSWITHRRALRORITHM*/{while(run!=0){prochain[run].alltime-=1;prochain[run].cputime+=1;if(prochain[run].alltime==0){prochain[run].state='F';prochain[run].next=0;if(head!=0){run=head;prochain[run].state='R';head=prochain[head].next;}else{prochain[0].id=prochain[run].id;run=0;}}else{if((prochain[run].cputime==prochain[run].priority)&&(head!=0)){prochain[run].state='W';prochain[run].cputime=0;insert2();run=head;prochain[run].state='R';head=prochain[head].next;}}print();}}程序運行截圖簡單輪轉法截圖:優(yōu)先數(shù)法結果截圖:〔省略…18時間單位長截圖〕〔省略…18時間單位長截圖〕三、總結本次實驗對進程調度優(yōu)先數(shù)法和簡單輪轉法進行了程序模擬實現(xiàn),程序所用語言為C語言代碼,運行環(huán)境為windowsxp,編譯工具為Win-Tc,由于Win-Tc所用的DOS為MS-DOS無法實現(xiàn)DOS指令截留,所以在DOS窗口下只能看到最后兩行結果,為了得到全部運行結果,實驗中采用了管道輸出重定向,將程序輸出指向為TXT,所以本實驗以上截圖為TXT輸出截圖。另外實驗中使用的調度程序有許多缺陷,程序里面C語言不符合最新群眾C99規(guī)定,并且隨機函數(shù)未配置隨機種子,說為隨機其實連續(xù)兩次運行結果相同,經(jīng)過修改很多錯誤后才得以運行,而且得到的結果也不能全部顯示,所以開始自己根據(jù)流程圖寫一個調度模擬程序,但遺憾的是時間不夠,只完成了大概三分之一局部,實驗后會對其完善的,這里就附上完成局部程序與界面截圖。附:/*>sc.cpp*/#include<stdio.h>#include<conio.h>#include<malloc.h>#include<string.h>#include<time.h>#include<stdlib.h>#defineN5structPCB //定義一個進程結點數(shù)據(jù)域{ intid; //進程id intall_time; //總運行時間 intcpu_time; //現(xiàn)運行時間 intpriority; //優(yōu)先數(shù) charstate; //運行狀態(tài) structPCB*next; //指向下一個結點的指針};PCBPCBL[N+1];voidmenu();PCB*CreatePCBList();voidShowPCBList(PCB*p);intmain(void){ PCB*p; charkey; srand((int)time(0)); while(1) { system("cls"); printf("程序設計:操作系統(tǒng)進程調度"); printf("\n\nWELCOME"); printf("\n"); menu(); printf("\n"); printf("請輸入操作(A.B.Q):"); key=getchar(); fflush(stdin); printf("\n"); switch(key) { case'a': case'A': { p=CreatePCBList(); ShowPCBList(p); }break; case'b': case'B': { }break; case'q': case'Q': { printf("\n\t\t\t\t謝謝使用,再見!\n\n"); system("pause"); exit(0); } default: { printf("輸入錯誤!\n"); }break; } system("pause"); } system("pause"); return0;}voidmenu(){ printf("\t\t┏━━━━━━━━━━━━━━━━━━━┓\n"); printf("\t\t┃\tA.優(yōu)先數(shù)法\t\t┃\n"); printf("\t\t┃\tB.簡單輪轉法\t\t┃\n"); printf("\t\t┃\tQ.退出程序\t\t┃\n"); printf("\t\t┗━━━━━━━━━━━━━━━━━━━┛\n");}PCB*CreatePCBList(){ inti=1; PCB*head,*tail,*temp,*previous; charPCB_name[5][3]={"P1","P2","P3","P4","P5"}; temp=(structPCB*)malloc(sizeof(structPCB)); temp->id=i; temp->cpu_time=0; temp->all_time=(rand()+1)%7; temp->priority=(rand()+11)%41; temp->state='R'; temp->next=NULL; head=tail=temp; //指向當前第一個結點 while(i!=5) { i++; temp=(structPCB*)malloc(sizeof(structPCB)); temp->id=i; temp->cpu_time=0; temp->all_time=(rand()+1)%7; temp->priority=(rand()+11)%41; temp->state='R'; if(temp->priority>head->priority) //比擬當前定義的結點的優(yōu)先數(shù)與head的優(yōu)先數(shù),同時head指向的結點的優(yōu)先數(shù)是最大的 { temp->next=head; //如果前定義的結點的優(yōu)先數(shù)與head的優(yōu)先數(shù)大,那么head指向當前定義的結點 head=temp; } else { previous=head; while(previous->next!=NULL) //如果比優(yōu)先數(shù)最大的結點小,那么繼續(xù)與后面的節(jié)點進行比擬,知道找到一個適宜的位置,即為比前面結點的優(yōu)先數(shù)大,比后面的小 { if((temp->priority<=previous->priority)&&(temp->priority>=(previous->next)->priority)) { temp->next=previous->next; //交換兩個結點的位置 previous->next=temp; break; } else { previous=previous->next; //實現(xiàn)往后移 } } if(previous->next==NULL) //如果沒有找到比當前結點小的,那么將當前結點放在最后面 { tail->next=temp; temp->next=NULL; tail=temp; } } } return(head); //返回一個鏈表的頭結點}voidShowPCBList(PCB*p){ intn=1; printf("timer:%d>PCBList:\n",n); printf("\tstata\tid\tpriority\tcpu_time\tall_time\tnext.id\n",n); printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"); while(p!=NULL) { printf("\t%c",p->state); printf("\t%d",p->id); printf("\t%d",p->priority); printf("\t\t%d",p->cpu_time); printf("\t\t%d",p->all_time); if(p->next==NULL) printf("\t\t%s\n","NULL"); else printf("\t\t%d\n",p->next->id); p=p->next; } printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");}太原理工大學學生實驗報告學院名稱現(xiàn)代科技學院專業(yè)班級實驗成績學生姓名學號實驗日期課程名稱操作系統(tǒng)B實驗題目存儲管理程序設計一、目的和要求目的存儲管理的主要功能之一是合理地分配主存空間。請求頁式管理是一種常用的虛擬存儲管理技術。本實驗的目的是通過請求頁式存儲管理中頁面置換算法的模擬設計,來了解虛擬存儲技術的特點,掌握請求頁式存儲管理的頁面置換算法。要求模擬頁式虛擬存儲管理中硬件的地址轉換和缺頁中斷的處理過程,并用先進先出調度算法〔FIFO〕處理缺頁中斷。二、實驗內(nèi)容實驗原理設計一個地址轉換程序來模擬硬件的地址轉換和缺頁中斷處理過程。當訪問的頁在主存時那么形成絕對地址,但不去模擬指令的執(zhí)行,可用輸出轉換后的絕對地址來表示一條指令已完成。當訪問的頁不在主存時那么輸出“*該頁頁號〞來表示硬件產(chǎn)生了一次缺頁中斷。編制一個FIFO頁面調度程序。FIFO頁面調度算法總是先調出作業(yè)中最先進入主存的那一頁,因此,可以用一個數(shù)組來構成頁號隊列。數(shù)組中每個元素是該作業(yè)已在主存的頁面號,假定分配給作業(yè)的主存塊數(shù)為m,且該作業(yè)開始的m頁已裝入主存,那么數(shù)組可由m個元素組成:頁號標志主存塊號修改標志磁盤上的位置P[0],P[1],…,P[m-1]它們的初值為P[0]∶=0,P[1]∶=1,…,P[m-1]∶=m-1用一指針k指示當要裝入新頁時應調出的頁在數(shù)組的位置,k的初值為“0〞。實驗流程圖jj∶=P[k]j頁的修改標志=1?輸出“OUTj〞P[k]∶=Lk∶=(k+1)modm修改頁表輸出“INL〞取一條指令開始頁標志=1?輸出絕對地址取一條指令輸出“﹡頁號〞取指令中訪問的頁號=>L查頁表形成絕對地址置L頁修改標志〞1結束是〞存〞指令?有后繼指令?否(產(chǎn)生缺頁中斷)是否否否是是模擬硬件地址轉換模擬FIFO頁面調度是實驗步驟根據(jù)實驗原理圖設計調度源碼,如下:#include<iostream>#include<stdlib.h>#include<time.h>usingnamespacestd;structpageTable//定義頁表{intaddress;//地址intpage;//頁號intblock;//塊號structpageTable*next;};typedefstructpageTablePAGETABLE;PAGETABLE*pt;constintfirst_memory=1000;//內(nèi)存首地址intwork[320];//作業(yè)intindex,offset;//index是作業(yè)的頁號,offset為頁內(nèi)偏移地址PAGETABLE*oldPtr;//minPtr指向駐留時間最久的頁intcount;//記數(shù)器,用于記錄發(fā)生的缺頁數(shù)boolis_LRU=false;//是否是LRU算法voidinit();voidinsertPage();voidpushback_Page(PAGETABLE*,PAGETABLE*);voidprint(PAGETABLE*);voidrun(int);voidfind_FIFO();voidfind_LRU();intmain(){inti=0;while(1){cout<<"\nPleaseselectanumber(1,2,0)"<<endl;cout<<"1--先進先出算法〔FIFO〕"<<endl;cout<<"2--最久未使用算法〔LRU〕"<<endl;cout<<"0--程序結束"<<endl;cin>>i;if(i==1){cout<<"\nThisisaexampleforFIFO:"<<endl;is_LRU=false;init();//構造頁表和內(nèi)存}elseif(i==2){cout<<"\nThisisaexampleforLRU:"<<endl;is_LRU=true;init();//構造頁表和內(nèi)存}elseif(i==0){exit(1);}system("pause");return0;}}voidinit(){doublerate;intcount=0;//記數(shù)器初值為0srand(time(NULL));pt=newPAGETABLE;pt->next=NULL;for(inti=0;i<4;i++){insertPage();}oldPtr=pt->next;//初始化最久的頁面cout<<"頁表初始狀態(tài)為:"<<endl;print(pt);for(intk=0;k<320;k++)//初始化作業(yè){work[k]=k;}for(intf=0;f<53;f++)//作業(yè)運行{intm,m1,m2;m=rand()%320;if(m==319)m=318;run(m);print(pt);run(m+1);print(pt);if(m==0)m1=0;elsem1=rand()%m;run(m1);print(pt);run(m1+1);print(pt);m2=rand()%(320-m)+m-1;if(m2<0)m2=318;if(m2==319)m2=318;run(m2);print(pt);run(m2+1);print(pt);}rate=(double)count/318*100;cout<<"\n\n缺頁率為:"<<rate<<"%"<<endl;}/*構建頁表*/voidinsertPage(){PAGETABLE*newPage;staticintid=99;staticintblockId=-1;id++;blockId++;if(blockId==4)blockId=0;newPage=(PAGETABLE*)malloc(sizeof(PAGETABLE));if(newPage!=NULL){new>address=id;new>page=-1;new>block=blockId;new>next=NULL;pushback_Page(pt,newPage);}elsecout<<"沒有內(nèi)存足夠的空間為頁表分配!"<<endl;}voidpushback_Page(PAGETABLE*queue,PAGETABLE*item){PAGETABLE*previous,*current;previous=queue;current=queue->next;while(current!=NULL){previous=current;current=current->next;}previous->next=item;}voidprint(PAGETABLE*ptr){PAGETABLE*temp;temp=ptr->next;cout<<"頁號"<<"塊號"<<endl;while(temp!=NULL){cout<<""<<temp->page<<""<<temp->block<<endl;temp=temp->next;}}voidrun(intnum){intuniversal,count;PAGETABLE*previous,*current;index=work[num]/10;//程序所在的頁號offset=work[num]%10;//頁內(nèi)的位移量previous=pt;current=previous->next;while(current!=NULL&¤t->page!=index){previous=current;current=current->next;}if(current==NULL){cout<<"\n作業(yè)"<<num<<"沒有在內(nèi)存,發(fā)生缺頁中斷"<<endl;count++;if(is_LRU==false)//FIFO算法{find_FIFO();}else//LRU算法{find_LRU();}}else{if(is_LRU==false)//FIFO算法{universal=first_memory+(current->block)*10+offset;cout<<"\n作業(yè)"<<num<<"所在內(nèi)存的物理地址為"<<universal<<endl;}else{if(current->next==NULL){universal=first_memory+(current->block)*10+offset;cout<<"\n作業(yè)"<<num<<"所在內(nèi)存的物理地址為"<<universal<<endl;}else{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 24741:2024 EN Information technology - Biometrics - Overview and application
- 【正版授權】 ISO 24322:2024 EN Timber structures - Methods of test for evaluation of long-term performance - Part 1: Wood-based products in bending
- 【正版授權】 ISO 5284:2025 EN Conveyor belts - List of equivalent terms
- 【正版授權】 ISO 22915-1:2024 EN Industrial trucks - Verification of stability - Part 1: General
- 2025年度高新技術產(chǎn)業(yè)園區(qū)運營承包經(jīng)營合同
- 生物技術課程導入計劃
- 各行各業(yè)主管的共性與差異計劃
- 校外美術實踐基地建設計劃
- 老年醫(yī)學科醫(yī)生工作計劃
- 2025年灌裝機系列設備合作協(xié)議書
- GB/T 8151.12-2012鋅精礦化學分析方法第12部分:銀量的測定火焰原子吸收光譜法
- GB/T 4026-1992電器設備接線端子和特定導線線端的識別及應用字母數(shù)字系統(tǒng)的通則
- 馬工程教材《公共財政概論》PPT-第二章 公共財政職能
- GB/T 15242.1-1994液壓缸活塞和活塞桿動密封裝置用同軸密封件尺寸系列和公差
- GB/T 13762-2009土工合成材料土工布及土工布有關產(chǎn)品單位面積質量的測定方法
- 釀酒工藝教案
- 地形圖的識別及應用涉密地圖的保密管理課件
- 腹腔鏡手術的基本操作技巧課件
- 制造計量器具許可考核通用規(guī)范JJF12462010宣貫
- 隧道運營養(yǎng)護管理手冊-下冊
- 2023年山東司法警官職業(yè)學院單招綜合素質考試筆試題庫及答案解析
評論
0/150
提交評論