

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 實驗報告題目:</b></p><p><b> 自制時鐘</b></p><p><b> 問題描述</b></p><p> 編制和調試一個自制時鐘,在屏幕右上角當時的時間;按XX:XX:XX形式顯示,并且能正確進位,24小時應消零。系統(tǒng)每隔55ms就自動調用新
2、的中斷,在主程序中取系統(tǒng)時間,并駐留程序。在新的1Ch號中斷中顯示時間。 編制一個匯編程序,它應包括兩個部分: 1) 新的1CH中斷處理程序,其功能是,首先執(zhí)行原1CH中斷處理,然后取當 時系統(tǒng)時間,處理進位,正確顯示當時的時間。 2) 初始化程序:其功能是,首先取原1CH中斷向量,然后設置新1CH中斷向 量,最后駐留新1CH中斷處理程序</p><p><b> 數據結構及符號說明</
3、b></p><p> CLOCK: 設置新的1CH中斷處理程序并常駐內存。</p><p> DISPLAY:利用宏定義及宏調用保存光標位置,并寫入字符。</p><p> SHOW: 在在屏幕右上角顯示正確變化的當時時間</p><p> TRNS: 利用宏定義及宏調用將時間的二進制轉換成ASCII字符顯示出來
4、。</p><p> CURSOR: 在屏幕右上角顯示當時的系統(tǒng)時鐘,如20:05:33。</p><p> DEAL: 對時間的進位進行處理控制。</p><p><b> 流程圖</b></p><p><b> 源程序及說明</b></p><p>&l
5、t;b> .286</b></p><p> DATAS SEGMENT</p><p><b> h1 db 0</b></p><p><b> h2 db 0</b></p><p><b> m1 db 0</b></p>&l
6、t;p><b> m2 db 0</b></p><p><b> s1 db 0</b></p><p><b> s2 db 0</b></p><p> DATAS ENDS</p><p> CODES SEGMENT</p><p&
7、gt; ASSUME CS:CODES,DS:DATAS</p><p><b> START:</b></p><p> MOV AX,DATAS</p><p> MOV DS,AX</p><p> mainprocfar</p><p> ;保存原有1ch中斷</p
8、><p> mov al,1ch</p><p> mov ah,35h</p><p><b> int 21h</b></p><p><b> push es</b></p><p><b> push bx</b></p>&
9、lt;p><b> push ds</b></p><p> ;設置新的1ch中斷</p><p> mov ax,seg clock</p><p><b> mov ds,ax</b></p><p> mov dx,offset clock</p><p&g
10、t; mov al,1ch</p><p> mov ah,25h</p><p><b> int 21h</b></p><p><b> ;常駐內存</b></p><p> mov ax,3100h</p><p><b> int 21h<
11、;/b></p><p> ;恢復原有1ch中斷</p><p><b> pop ds</b></p><p><b> pop dx</b></p><p><b> pop ds</b></p><p> mov al,1ch<
12、;/p><p> mov ah,25h</p><p><b> int 21h</b></p><p><b> ;退出</b></p><p> mov ax,4c00h</p><p><b> int 21h</b></p>
13、<p> main endp</p><p> clockprocfar</p><p> call gettime</p><p><b> iret</b></p><p> clockendp</p><p><b> ;獲取系統(tǒng)時間</b>
14、;</p><p> gettime procnear</p><p><b> pusha</b></p><p> mov ah,2ch</p><p><b> int 21h</b></p><p> ;將除數10保存在bl中</p><
15、;p> mov bl,10d</p><p><b> ;處理小時</b></p><p><b> mov al,ch</b></p><p><b> cbw</b></p><p><b> div bl</b></p>
16、<p><b> mov h1,al</b></p><p><b> mov h2,ah</b></p><p><b> ;處理分鐘</b></p><p><b> mov al,cl</b></p><p><b>
17、 cbw</b></p><p><b> div bl</b></p><p><b> mov m1,al</b></p><p><b> mov m2,ah</b></p><p><b> ;處理秒</b></p>
18、<p><b> mov al,dh</b></p><p><b> cbw</b></p><p><b> div bl</b></p><p><b> mov s1,al</b></p><p><b> mov
19、 s2,ah</b></p><p><b> ;顯示時間</b></p><p> call showtime</p><p><b> popa</b></p><p><b> ret</b></p><p> gettime
20、endp</p><p><b> ;顯示時間</b></p><p> showtime proc near</p><p><b> pusha</b></p><p><b> ;獲取當前光標位置</b></p><p><b&g
21、t; mov bh,0h</b></p><p> mov ah,03h</p><p><b> int 10h</b></p><p><b> push dx</b></p><p><b> push cx</b></p><p
22、><b> ;重置光標</b></p><p><b> mov bh,0d</b></p><p><b> mov dh,0d</b></p><p> mov dl,72d</p><p> mov ah,02h</p><p>&
23、lt;b> int 10h</b></p><p><b> ;顯示時間</b></p><p> add h1,30h</p><p><b> mov al,h1</b></p><p> mov ah,0eh</p><p><b>
24、; int 10h</b></p><p> add h2,30h</p><p><b> mov al,h2</b></p><p> mov ah,0eh</p><p><b> int 10h</b></p><p><b> ;顯
25、示":"</b></p><p> mov al,3ah</p><p> mov ah,0eh</p><p><b> int 10h</b></p><p><b> ;顯示分鐘</b></p><p> add m1,30h&
26、lt;/p><p><b> mov al,m1</b></p><p> mov ah,0eh</p><p><b> int 10h</b></p><p> add m2,30h</p><p><b> mov al,m2</b><
27、/p><p> mov ah,0eh</p><p><b> int 10h</b></p><p><b> ;顯示":"</b></p><p> mov al,3ah</p><p> mov ah,0eh</p><p&
28、gt;<b> int 10h</b></p><p><b> ;顯示秒</b></p><p> add s1,30h</p><p><b> mov al,s1</b></p><p> mov ah,0eh</p><p><b
29、> int 10h</b></p><p> add s2,30h</p><p><b> mov al,s2</b></p><p> mov ah,0eh</p><p><b> int 10h</b></p><p><b>
30、 ;恢復原來光標位置</b></p><p><b> pop cx</b></p><p><b> pop dx</b></p><p><b> mov bh,0h</b></p><p> mov ah,02h</p><p>
31、;<b> int 10h</b></p><p><b> popa</b></p><p><b> ret</b></p><p> showtime endp</p><p> CODES ENDS</p><p><b>
32、 END START</b></p><p><b> 運行結果</b></p><p><b> 實驗說明</b></p><p> 1.實驗過程中應該定義保存原1CH中斷的向量單元。</p><p> 2.實驗中用到以下的功能調用:25H(置中斷向量),35H(取中斷向量),
33、2CH(取系統(tǒng)時間)以及“int 10h“中的02H(置光標位置)、03(讀光標位置)、0E(寫字符),我們應熟悉上述功能調用的實現,否則在實現過程中將會出現麻煩。</p><p> 3.實驗過程中,不僅僅需要能在DOS中顯示時間,并且應保證其他程序能使用DOS。</p><p> 4.在具體的實踐過程中要注意顯示時間時光標位置的重置問題。</p><p>
34、5.掌握宏定義以及宏調用的相關規(guī)范,實驗過程中,要先進行宏的定義后進行宏的調用</p><p><b> 實驗報告題目</b></p><p><b> 處理器調度</b></p><p><b> 問題描述</b></p><p> (1) 假定系統(tǒng)有五個進程,每一個
35、進程用一個進程控制塊PCB來代表,進程控制塊的格式為:</p><p> 其中,進程名——作為進程的標識,假設五個進程的進程名分別為P1,P2,P3,P4,P5。</p><p> 指針——按優(yōu)先數的大小把五個進程連成隊列,用指針指出下一個進程的進程控制塊的首地址,最后一個進程中的指針為“0”。</p><p> 要求運行時間——假設進程需要運行的單位時間數。
36、</p><p> 優(yōu)先數——賦予進程的優(yōu)先數,調度時總是選取優(yōu)先數大的進程先執(zhí)行。</p><p> 狀態(tài)——可假設有兩種狀態(tài),“就緒”狀態(tài)和“結束”狀態(tài)。五個進程的初始狀態(tài)都為“就緒”,用“R”表示,當一個進程運行結束后,它的狀態(tài)為“結束”,用“E”表示。</p><p> (2) 在每次運行你所設計的處理器調度程序之前,為每個進程任意確定它的“優(yōu)先數”和
37、“要求運行時間”。</p><p> (3) 為了調度方便,把五個進程按給定的優(yōu)先數從大到小連成隊列。用一單元指出隊首進程,用指針指出隊列的連接情況。例:</p><p><b> 隊首標志</b></p><p><b> K2 </b></p><p> (4) 處理器調度總是選隊
38、首進程運行。采用動態(tài)改變優(yōu)先數的辦法,進程每運行一次優(yōu)先數就減“1”。由于本實驗是模擬處理器調度,所以,對被選中的進程并不實際的啟動運行,而是執(zhí)行:</p><p><b> 優(yōu)先數-1</b></p><p><b> 要求運行時間-1</b></p><p> 來模擬進程的一次運行。</p><
39、;p> 提醒注意的是:在實際的系統(tǒng)中,當一個進程被選中運行時,必須恢復進程的現場,讓它占有處理器運行,直到出現等待事件或運行結束。在這里省去了這些工作。</p><p> (5) 進程運行一次后,若要求運行時間0,則再將它加入隊列(按優(yōu)先數大小插入,且置隊首標志);若要求運行時間=0,則把它的狀態(tài)修改成“結束”(E),且退出隊列。</p><p> (6) 若“就緒”狀態(tài)的進程
40、隊列不為空,則重復上面(4)和(5)的步驟,直到所有進程都成為“結束”狀態(tài)。</p><p> (7) 在所設計的程序中應有顯示或打印語句,能顯示或打印每次被選中進程的進程名以及運行一次后進程隊列的變化。</p><p> (8) 為五個進程任意確定一組“優(yōu)先數”和“要求運行時間”,啟動所設計的處理器調度程序,顯示或打印逐次被選中進程的進程名以及進程控制塊的動態(tài)變化過程。</p&
41、gt;<p><b> 數據結構及符號說明</b></p><p> 進程控制塊PCB的結構</p><p> #define num 3 //假定系統(tǒng)中進程個數為3</p><p> struct PCB{</p><p> char ID;//進程名</p><p>
42、; int runtime;//要求運行時間</p><p> int pri;//優(yōu)先數</p><p> char state; //狀態(tài),R-就緒,F-結束</p><p><b> };</b></p><p> struct PCB pcblist[num];//定義進程控制塊數組</p>
43、<p><b> 流程圖</b></p><p><b> 源程序及說明</b></p><p> 設置進程和CPU單位運行時間</p><p> #include"ProcPCB.h"</p><p> #include"stdio.h&quo
44、t;</p><p> #include"stdlib.h"</p><p> extern int unitTime;</p><p> int procInit(procPCB **pcbHead)</p><p><b> {</b></p><p> int
45、procNum;</p><p> procPCB *head=NULL,*pcb1=NULL,*pcb2=NULL;</p><p> printf("請輸入進程個數:\n");</p><p> scanf("%d",&procNum);</p><p> for(int i=0;i
46、<procNum;i++)</p><p><b> {</b></p><p> printf("進程名 需要時間\n");</p><p> pcb2=(procPCB *)malloc(sizeof(procPCB));</p><p> scanf("%s%d"
47、;,pcb2->name,&pcb2->requiredTime);</p><p> pcb2->status="Ready";</p><p> pcb2->runTime=0;</p><p> if(pcb1==NULL)</p><p> head=pcb2;</p&
48、gt;<p><b> else</b></p><p> pcb1->next=pcb2;</p><p> pcb1=pcb2;</p><p><b> }</b></p><p> //如果進程個數不為0</p><p> if(pro
49、cNum!=0)</p><p><b> {</b></p><p> pcb2->next=head;</p><p> printf("請輸入CPU單位時間:\n");</p><p> scanf("%d",&unitTime);</p>
50、<p><b> }</b></p><p> *pcbHead=head;</p><p> return procNum;</p><p><b> }</b></p><p><b> 顯示進程</b></p><p> #
51、include"ProcPCB.h"</p><p> #include"windows.h"</p><p> #include"stdio.h"</p><p> COORD whereXY()</p><p><b> {</b></p>
52、;<p> HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);</p><p> CONSOLE_SCREEN_BUFFER_INFO csbi;</p><p> GetConsoleScreenBufferInfo(handle,&csbi);</p><p> return csbi.dw
53、CursorPosition;</p><p><b> }</b></p><p> void gotoXY(COORD pos)</p><p><b> {</b></p><p> HANDLE handle=::GetStdHandle(STD_OUTPUT_HANDLE);<
54、;/p><p> SetConsoleCursorPosition(handle,pos);</p><p><b> }</b></p><p> void SetCursorVisible(bool bVisible)</p><p><b> {</b></p><p&
55、gt; HANDLE handle=::GetStdHandle(STD_OUTPUT_HANDLE);</p><p> CONSOLE_CURSOR_INFO cci;</p><p> cci.bVisible=bVisible;</p><p> cci.dwSize=10;</p><p> ::SetConsoleCur
56、sorInfo(handle,&cci);</p><p><b> }</b></p><p> void ProcShow(procPCB *head,bool bVisible)</p><p><b> {</b></p><p> bool flag=true;</p
57、><p> procPCB *p=head;</p><p> Sleep(500);</p><p> SetCursorVisible(bVisible);</p><p> printf("進程名 需要時間 運行時間 運行狀態(tài)\n");</p><p> while(h
58、ead!=p||flag)</p><p><b> {</b></p><p> flag=false;</p><p> printf("%-8s %-10d %-10d %-8s\n",p->name,p->requiredTime,p->runTime,p->status);<
59、;/p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> 運行結果</b></p><p><b> 設置進程</b></p>
60、;<p> 設置CPU時間并運行</p><p><b> 實驗說明</b></p><p> 通過本次實驗,我對時間片輪轉的調度思想有了進一步的了解,通過動手實現其調度算法,更加深刻的理解了時間片輪轉調度算法與其他幾種算法的不同和優(yōu)點。同時,在實驗過程中,回顧書本上的理論知識,鞏固了我的知識</p><p><b&g
61、t; 實驗報告題目</b></p><p><b> 內存的分配和回收</b></p><p><b> 問題描述</b></p><p> 本實驗主要是模擬基于多道程序設計系統(tǒng)在可變分區(qū)式和分頁式兩種存儲管理方式下的主存分配和回收。在程序中采用鏈表方式來管理作業(yè)和頁表項,采用隊列來管理等待作業(yè)。在模擬
62、可變分區(qū)式存儲管理時,采用最先適應算法實現主存的分配與回收,建立了已分配區(qū)表和未分配區(qū)表,等待隊列。在模擬分頁式存儲管理時,采用位示圖來表示主存,建立了作業(yè)表和頁表,在主存中的作業(yè)隊列和等待隊列。需要說明的是,我們沒有考慮系統(tǒng)可容納作業(yè)的道數和作業(yè)對除主存以外的其它資源的要求,認為只要系統(tǒng)主存可以滿足要求作業(yè)就加載到主存。同時等待隊列是采用先進先出的管理方式</p><p><b> 數據結構和符號說
63、明</b></p><p> 可變分區(qū)式存儲管理的已分配區(qū)表和未分配區(qū)表的結構用記錄描述如下:</p><p> /***全局變量*****/</p><p> int bitMap[N][N]={0};</p><p> int freeBlock=N*N;</p><p> /********
64、/</p><p><b> 建立頁表并初始化</b></p><p> *pt=(PageTable *)malloc(sizeof(PageTable)*p->pageCount);</p><p> PageTable *ptcopy=*pt;</p><p> for(int k=0;k<p-
65、>pageCount;k++)</p><p><b> {</b></p><p> (*pt+k)->pageNum=k;</p><p> (*pt+k)->blockNum=-1;</p><p><b> }</b></p><p> P
66、ageTable *pageTable[N*N]={NULL};//指向進程頁表的指針數組</p><p> void ShowMenu()</p><p><b> {</b></p><p> printf("1.申請內存\n");</p><p> printf("2.回收內存
67、\n");</p><p> printf("3.顯示內存\n");</p><p> printf("4.顯示頁表\n");</p><p> printf("5.退出\n");</p><p><b> } </b></p>
68、<p> 頁表的結構用記錄描述:</p><p> //作業(yè)的頁表結構體typedef struct{ int pagenum;//頁號 int blocknum;//塊號}PageTable;</p><p><b> 流程圖</b></p><p><b> 源程序及說明</b></p>
69、;<p><b> 內存的分配</b></p><p> #include"Process.h"</p><p> #include"PageTable.h"</p><p> #include"MemoryManager.h"</p><p&
70、gt; #include"stdio.h"</p><p> #include"stdlib.h"</p><p> bool MemoryAllocation(Process* &p,PageTable **pt)</p><p><b> {</b></p><p&
71、gt; if(p->pageCount>freeBlock)</p><p><b> {</b></p><p> printf("內存不足\n");</p><p> free(p);//釋放申請的進程空間</p><p><b> p=NULL;</b>
72、;</p><p> return false;</p><p><b> }</b></p><p> //建立頁表并初始化</p><p> *pt=(PageTable *)malloc(sizeof(PageTable)*p->pageCount);</p><p> Pa
73、geTable *ptcopy=*pt;</p><p> for(int k=0;k<p->pageCount;k++)</p><p><b> {</b></p><p> (*pt+k)->pageNum=k;</p><p> (*pt+k)->blockNum=-1;</
74、p><p><b> }</b></p><p> for(int i=0;i<N;i++)</p><p><b> {</b></p><p> for(int j=0;j<N;j++)</p><p><b> {</b><
75、/p><p> if(ptcopy-*pt==p->pageCount)</p><p><b> {</b></p><p> return true;</p><p><b> }</b></p><p> if(bitMap[i][j]==0)</p&
76、gt;<p><b> {</b></p><p> bitMap[i][j]=1;</p><p> freeBlock--;</p><p> ptcopy->blockNum=i*8+j;</p><p><b> ptcopy++;</b></p>
77、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 內存的回收</b></p>
78、<p> #include"MemoryManager.h"</p><p> #include"PageTable.h"</p><p> #include"Process.h"</p><p> #include"stdio.h"</p><p&
79、gt; #include"stdlib.h"</p><p> void MemoryRecory(Process* &p,PageTable* &pt)</p><p><b> {</b></p><p><b> int x,y;</b></p><p&
80、gt; for(int i=0;i<p->pageCount;i++)</p><p><b> {</b></p><p> x=(pt+i)->blockNum/N;</p><p> y=(pt+i)->blockNum%N;</p><p> bitMap[x][y]=0;<
81、;/p><p> freeBlock++;</p><p><b> }</b></p><p><b> free(p);</b></p><p><b> p=NULL;</b></p><p><b> free(pt);<
82、;/b></p><p><b> pt=NULL;</b></p><p><b> }</b></p><p><b> 3、主程序調用</b></p><p> #include"Process.h"</p><p&g
83、t; #include"stdio.h"</p><p> #include"MemoryAllocation.h"</p><p> #include"MemoryRecory.h"</p><p> #include"ShowBitMap.h"</p><
84、p> #include"stdlib.h"</p><p> #include"string.h"</p><p> #include"windows.h"</p><p> #define N 8</p><p> /***全局變量*****/</p>
85、<p> int bitMap[N][N]={0};</p><p> int freeBlock=N*N;</p><p> /********/</p><p> PageTable *pageTable[N*N]={NULL};//指向進程頁表的指針數組</p><p> Process *process[N*N]
86、={NULL};</p><p> int processCount=0;</p><p> int index=0;</p><p> int NextIndex()</p><p><b> {</b></p><p> for(int i=0;i<processCount;i
87、++)</p><p><b> {</b></p><p> if(process[i]==NULL)</p><p><b> return i;</b></p><p><b> }</b></p><p><b> retur
88、n i;</b></p><p><b> }</b></p><p> void InitProcess(Process* &p)</p><p><b> {</b></p><p> p=(Process *)malloc(sizeof(Process));<
89、/p><p> printf("請輸入:\n進程名 進程分頁數\n");</p><p> scanf("%s%d",p->name,&p->pageCount);</p><p><b> }</b></p><p> bool IsProcessEm
90、pty()</p><p><b> {</b></p><p> if(processCount==0)</p><p><b> {</b></p><p> printf("當前沒有進程運行\(zhòng)n");</p><p> return tru
91、e;</p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> int SearchProcess()</p><p><b> {</b></p>
92、<p> if(IsProcessEmpty())</p><p> return -1;</p><p> char processName[10];</p><p> printf("請輸入進程名:\n");</p><p> scanf("%s",processName);&
93、lt;/p><p> for(int i=0;i<N*N;i++)</p><p><b> {</b></p><p> if(process[i]!=NULL&&strcmp(processName,process[i]->name)==0)</p><p><b> ret
94、urn i;</b></p><p><b> }</b></p><p> printf("沒有名為%s的進程\n",processName);</p><p> return -1;</p><p><b> }</b></p><p&
95、gt; void ShowPageTable()</p><p><b> {</b></p><p> int tempCount;</p><p> if(IsProcessEmpty())</p><p><b> return;</b></p><p>
96、for(int i=0;i<N*N;i++)</p><p><b> {</b></p><p> if(process[i]!=NULL)</p><p><b> {</b></p><p> tempCount++;</p><p> printf(&
97、quot;進程名:%s,頁面數:%d\n",process[i]->name,process[i]->pageCount);</p><p> printf("頁號:");</p><p> for(int j=0;j<(*(process+i))->pageCount;j++)</p><p> prin
98、tf("%d ",(pageTable[i]+j)->pageNum);</p><p> printf("\n塊號:");</p><p> for(j=0;j<process[i]->pageCount;j++)</p><p> printf("%d ",(pageTable[
99、i]+j)->blockNum);</p><p> printf("\n");</p><p><b> }</b></p><p> if(tempCount==processCount)</p><p><b> return;</b></p>
100、<p><b> }</b></p><p><b> }</b></p><p> void ShowMenu()</p><p><b> {</b></p><p> printf("1.申請內存\n");</p>&
101、lt;p> printf("2.回收內存\n");</p><p> printf("3.顯示內存\n");</p><p> printf("4.顯示頁表\n");</p><p> printf("5.退出\n");</p><p><b&
102、gt; }</b></p><p> void main()</p><p><b> {</b></p><p> int select;</p><p> while(true)</p><p><b> {</b></p><
103、p> ShowMenu();</p><p> scanf("%d",&select);</p><p> switch(select)</p><p><b> {</b></p><p><b> case 1:</b></p><
104、;p> InitProcess(process[index]);</p><p> if(MemoryAllocation(process[index],&pageTable[index]))</p><p> processCount++;</p><p> index=NextIndex();</p><p><
105、;b> break;</b></p><p><b> case 2:</b></p><p> index=SearchProcess();</p><p> if(index==-1)</p><p><b> break;</b></p><p&
106、gt; MemoryRecory(process[index],pageTable[index]);</p><p> processCount--;</p><p> index=NextIndex();</p><p><b> break;</b></p><p><b> case 3:<
107、;/b></p><p> ShowBitMap();</p><p><b> break;</b></p><p><b> case 4:</b></p><p> ShowPageTable();</p><p><b> break;<
108、;/b></p><p><b> case 5:</b></p><p><b> exit(0);</b></p><p><b> break;</b></p><p><b> default:</b></p><
109、p> printf("請輸入正確編號:\n");</p><p><b> }</b></p><p><b> }</b></p><p> //ShowBitMap();</p><p><b> }</b></p><
110、;p><b> //</b></p><p><b> 運行結果</b></p><p><b> 1、運行主界面</b></p><p> 2、申請內存p1并顯示內存</p><p><b> 3、再申請內存p2</b></p>
111、;<p><b> 4、顯示頁表</b></p><p> 5、回收內存p1再顯示內存</p><p><b> 實驗說明</b></p><p> 在清楚主存儲器分配和回收的情況下,做些實驗還是比較簡單的。關鍵是注意當找到一個大的塊時,如何將這個大塊分成兩小塊,一塊用于分配,另一塊依舊是未分配。希望
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設計——操作系統(tǒng)課程設計模擬操作系統(tǒng)
- 操作系統(tǒng)課程設計-- 操作系統(tǒng)
- 操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計
- 內存管理(操作系統(tǒng))操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計題目
- 操作系統(tǒng)課程設計報告
- 操作系統(tǒng)課程設計論文
- 操作系統(tǒng)課程設計 (4)
- 操作系統(tǒng)課程設計1
- 課程設計報告--操作系統(tǒng)
- linux操作系統(tǒng)課程設計
- 操作系統(tǒng)課程設計報告
- 操作系統(tǒng)原理課程設計
- 操作系統(tǒng)課程設計--模擬操作系統(tǒng)的實現
- 操作系統(tǒng)課程設計報告
評論
0/150
提交評論