




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、常州大學操作系統課程實驗報告姓 名 金苗 專業(yè)班級 信息與計算科學 學 號 13434104 指導老師 張英麗 實驗時間 2015年10月23日2015年12月15日實驗一 Windows XP 系統管理一 實驗目的1) 了解和學習Windows系統管理工具及其使用;2) 熟悉Windows系統工具的內容和應用;3)熟悉Windows操作系統的應用環(huán)境。二 實驗環(huán)境需要準備一臺運行Windows XP操作系統的計算機。三 背景知識Windows XP的“管理工具”中集成了許多系統管理工具,利用這些工具,管理員可以方便地實現各種系統維護和管理功能。這些工具都集中在“控制面板”的“管理工具”選項下
2、,用戶和管理員可以很容易地對它們操作和使用。在默認情況下,只有一些常用工具如服務、計算機管理、事件查看器、數據源 (ODBC) 、性能和組件服務等隨Windows XP系統的安裝而安裝。四 實驗內容與步驟為了幫助用戶管理和監(jiān)視系統,Windows XP提供了多種系統管理工具,其中最主要的有計算機管理、事件查看器和性能監(jiān)視等。步驟1:登錄進入Windows XP。步驟2:在“開始”菜單中單擊“設置”-“控制面板”命令,雙擊“管理工具”圖標。在本地計算機“管理工具”組中,有哪些系統管理工具,基本功能是什么:1) 本地安全策略:查看和修改本地安全策略,如用戶權限和審核策略 2) Internet信息
3、服務:管理 IIS,Internet 和 Intranet 站點的 WEB服務器 3) 服務:啟動和停止服務 4)計算機管理:管理磁盤以及使用其他系統工具來管理本地或遠程的計算機 5)事件查看器:顯示來自于 Windows 和其他程序的監(jiān)視與排錯消息 6)數據源ODBC:添加、刪除、以及配置 ODBC 數據源和驅動程序 7)性能:顯示系統性能圖表以及配置數據日志和警報 8)組件服務:配置和管理 COM+ 應用程序 1. 計算機管理使用“計算機管理”可通過一個合并的桌面工具來管理本地或遠程計算機,它將幾個Windows XP管理實用程序合并到一個控制臺目錄樹中,使管理員可以輕松地訪問特定計算機的
4、管理屬性和工具。步驟3:在“管理工具”窗口中,雙擊“計算機管理”圖標?!坝嬎銠C管理”使用的窗口與“Windows資源管理器”相似。在用于導航和工具選擇的控制臺目錄樹中有“系統工具”、“存儲”及“服務和應用程序”等節(jié)點,窗口右側“名稱”窗格中顯示了工具的名稱、類型或可用的子工具等。它們是:1) 系統工具,填入表1-3中。 表1-3 實驗記錄名稱類型描述事件查看器擴展管理單元顯示事件日志共享文件夾顯示共享文件夾,目前回話及打開文件本地用戶和組擴展管理單元管理本地用戶和組性能日志和警報擴展管理單元配置數據性能日志和警報設備管理器設備管理器 2) 存儲,填入表1-4中。表1-4 實
5、驗記錄名稱類型描述可移動存儲擴展管理單元編錄可移動媒體并管理自動庫磁盤碎片整理程序擴展名管理單元對本地卷上的文件和文件夾進行碎片整理磁盤管理管理單元邏輯磁盤管理器 3) 服務和應用程序,填入表1-5中。 表1-5 實驗記錄名稱性能描述Microsoft SQL Server服務啟動,控制并設置Windows服務WMI控件擴展管理單元配置和控制Windows Management Instrumentation(WMI)服務索引服務擴展管理單元提供快速和靈活的文件內容和屬性搜索Internet信息服務2. 事件查看器事件查看器不但可以記錄各種應用程序錯誤、損壞的文件、丟失的數據以及其他
6、問題,而且還可以把系統和網絡的問題作為事件記錄下來。管理員通過查看在事件查看器中顯示的系統信息,可以迅速診斷和糾正可能發(fā)生的錯誤和問題。步驟4:在“管理工具”窗口中,雙擊“事件查看器”圖標。在Windows XP事件查看器中,管理員可以查看到三種類型的本地事件日志,請?zhí)钊氡?-6中。 表1-6 實驗記錄名稱類型描述當前大小應用程序日志應用程序錯誤記錄128.0KB安全性日志安全審核記錄64.0KB系統日志系統錯誤記錄128.0KB 步驟5:在事件查看器中觀察“應用程序日志”:本地計算機中,共有367個應用程序日志事件。步驟6:單擊“查看”菜單中的“篩選”命令,系統日志包括的
7、事件類型有:1) 信息(I) 2) 警告(W) 3) 錯誤(O) 4) 成功審核(S) 5) 失敗審核(L) 3. 性能監(jiān)視“性能”監(jiān)視工具通過圖表、日志和報告,使管理員可以看到特定的組件和應用進程的資源使用情況。利用性能監(jiān)視器,可以測量計算機的性能,識別以及診斷計算機可能發(fā)生的錯誤,并且可以為某應用程序或者附加硬件制作計劃。另外,當資源使用達到某一限定值時,也可以使用警報來通知管理員。步驟7:在“管理工具”窗口中,雙擊“性能”圖標。“性能”窗口的控制臺目錄樹中包括的節(jié)點有:1) 性能監(jiān)視器 2) 性能日志和警報,其中的子節(jié)點填入表1-7中。 表1-7 實驗記錄名稱描述計數器日志配置
8、性能數據和監(jiān)視器日志跟蹤日志配置跟蹤事件日志警報配置性能警報4. 服務步驟8:在“管理工具”窗口中,雙擊“服務”圖標。在你的本地計算機中,管理著100個系統服務項目。通過觀察,重點描述你所感興趣的5個系統服務項目:1) World Wide Web Publishing:通過Internet信息服務管理單元提供Web連接和管理2) Windows Image Acquisition:為掃描儀和照相機提供圖像捕獲 3) Security Accounts Manager:存儲本地用戶賬號的安全信息 4) Security Center:監(jiān)視系統安全設置和配置 5)Shell Hardware D
9、etection:為自動提供硬件事件提供通知 5. 數據源 (ODBC)ODBC,即開放數據庫連接。通過ODBC可以訪問來自多種數據庫管理系統的數據。例如,ODBC數據源會允許一個訪問SQL數據庫中數據的程序,同時訪問Visual FoxPro數據庫中的數據。為此,必須為系統添加稱為“驅動程序”軟件組件。步驟9:在“管理工具”窗口中,雙擊“數據源 (ODBC) ”圖標,打開“ODBC數據源管理器”對話框,請描述其中各選項卡的功能,填入表1-8中。 表1-8 實驗記錄選項卡功能描述用戶DSNODBC用戶數據源存儲了如何與指定數據提供程序連接的信息。用戶數據只對當前用戶可見,而且只能用于
10、當前機器上。系統DSNODBC用戶數據源存儲了如何與指定數據提供程序連接的信息。用戶數據只對當前用戶可見,包括NT服務。文件DSNODBC 文件數據源允許用戶連接到數據提供程序。文件DSN可以由安裝了相同驅動程序的用戶共享。驅動程序ODBC驅動程序允許支持ODBC的程序從ODBC數據源獲取信息。要安裝新的驅動程序,請使用其安裝程序。跟蹤ODBC跟蹤允許創(chuàng)建調用驅動程序的日志,以供技術支持人員查看,也有助于您調試應用程序。Visual Studio跟蹤啟用Microsoft Visual Studio的ODBC跟蹤。連接池連接池允許應用程序重用打開連接句柄,此操作將節(jié)省到服務器的往返過
11、程。 步驟10:單擊“驅動程序”選項卡,試分析,系統為哪些數據源缺省安裝了ODBC驅動程序:1) MSORCL32.DLL 2) SQLSRV32.DLL 實驗二 Windows任務管理器的進程管理一 實驗目的1)在Windows 任務管理器中對程序進程進行響應的管理操作;2)熟悉操作系統進程管理的概念;3)學習觀察操作系統運行的動態(tài)性能。二 實驗環(huán)境需要準備一臺運行Windows XP操作系統的計算機。三 背景知識Windows XP的任務管理器提供了用戶計算機上正在運行的程序和進程的相關信息,也顯示了最常用的度量進程性能的單位。使用任務管理器,可以打開監(jiān)視計算機性能的關鍵指示器,
12、快速查看正在運行的程序的狀態(tài),或者終止已停止響應的程序。也可以使用多個參數評估正在運行的進程的活動,以及查看CPU 和內存使用情況的圖形和數據。四 實驗內容與步驟啟動并進入Windows環(huán)境,單擊Ctrl + Alt + Del鍵,或者右鍵單擊任務欄,在快捷菜單中單擊“任務管理器”命令,打開“任務管理器”窗口。當前機器中由你打開,正在運行的應用程序有:1) 實驗二 Windows任務管理器的進程管理 2) 管理工具 Windows“任務管理器”的窗口由5個選項卡組成,分別是:1) 應用程序 2) 進程 3) 性能 4)聯網 5)用戶 當前“進程”選項卡顯示的欄目分別是 (可移動窗口下方的游標/
13、箭頭,或使窗口最大化進行觀察) :1) 映像名稱 2) 用戶名 3) CPU 4) 內存使用 1. 使用任務管理器終止進程步驟1:單擊“進程”選項卡,一共顯示33個進程。請試著區(qū)分一下,其中:系統 (SYSTEM) 進程有19個,填入表2-1中。 表2-1 實驗記錄映像名稱用戶名作用內存使用Svchost.exeSYSTEMWindows服務主進程4416KService.exeSYSTEM服務和控制器應用程序3272Ksqlservr.exeSYSTEMSQL基礎服務9580KLMS.exeSYSTEMLocal Manageability service2912KMDM.EXES
14、YSTEM針對應用軟件進行排錯3424KInetinfo.exeSYSTEM支持微軟Windows IIS網絡服務的除錯9780KSpoolsv.exeSYSTEM管理所有本地和網絡打印隊列及控制所有打印工作5612Kati2evxx.exeSYSTEM管理ATI Hotkey特性4024KSvchost.exeSYSTEMWindows服務主進程24912KSvchost.exeSYSTEMWindows服務主進程5084Kservice.exeSYSTEM服務和控制器應用程序3476Klsass.exeSYSTEMLocal Security Authority Process1736KS
15、ervices.exeSYSTEM服務和控制器應用程序5904KWinlogon.exeSYSTEMWindows登錄應用程序1820KCsrss.exeSYSTEMClient Server Runtime Process9492Klsm.exeSYSTEM本地會話管理器服務1156KSmss.exeSYSTEMWindows會話管理器408KSystemSYSTEMNT Kernel & System2196KSystem Idle ProcessSYSTEM處理器空閑時間百分比16K 服務 (SERVICE) 進程有4個,填入表2-2中。 表2-2 實驗記錄映
16、像名稱用戶名作用內存使用Svchost.exeLOCAL SERVICEWindows服務主進程4212Kalg.exeLOCAL SERVICE處理微軟Windows網絡連接共享和網絡連接防火墻3808KSvchost.exeNETWORK SERVICEWindows服務主進程3848KSvchost.exeNETWORK SERVICEWindows服務主進程4660K用戶進程有9個,填入表2-3中。表2-3 實驗記錄映像名稱用戶名作用內存使用Taskmgr.exeAdministrator任務管理器2596KTXPplatform.exeAdministratorTXP platfor
17、m620KSafecenter.exeAdministrator安全中心12728Ksogouflash.exeAdministrator搜狗拼音輸入法-Flash皮膚引擎10976KSqlmangr.exeAdministrator構建和管理用于業(yè)務的高可用和高性能的數據應用程序5548KCtfmon.exeAdministrator供語音識別、手寫識別、鍵盤、翻譯和其它用戶輸入技術的支持3512KRTHDCPL.EXEAdministrator聲卡特性設置軟件相關程序6268KExplorer.exeAdministratorWindows 資源管理器34760KWscntfy.exeAd
18、ministratorWindows安全相關策略2544KWINWORD.EXEAdministratorMicrosoft Office Word28844K 步驟2:單擊要終止的進程,然后單擊“結束進程”按鈕。 終止進程,將結束它直接或間接創(chuàng)建的所有子進程。例如,如果終止了電子郵件程序 (如Outlook 98) 的進程樹,那么同時也終止了相關的進程,如MAPI后臺處理程序mapisp32.exe。請將終止某進程后的操作結果與原記錄數據對比,發(fā)生了什么:終止后,原窗口被關閉,進程不再運行,未經保持的數據都將失去。 2. 顯示其他進程記數器在“進程”選項卡上單
19、擊“查看”菜單,然后單擊“選擇列”命令。單擊要增加顯示為列標題的項目,然后單擊“確定”。為對進程列表進行排序,可在“進程”選項卡上單擊要根據其進行排序的列標題。而為了要反轉排序順序,可再次單擊列標題。 經過調整,“進程”選項卡現在顯示的項目分別是:映像名稱,用戶名,CPU,內存使用。通過對“查看”菜單的選擇操作,可以在“任務管理器”中更改顯示選項:· 在“應用程序”選項卡上,可以按詳細信息、大圖標或小圖標查看。· 在“性能”選項卡上,可以更改CPU記錄圖,并顯示內核時間?!帮@示內核時間”選項在“CPU使用”和“CPU使用記錄”圖表上添加紅線。紅線指示內核操作占用的CPU資源
20、數量。 3. 更改正在運行的程序的優(yōu)先級要查看正在運行的程序的優(yōu)先級,可單擊“進程”選項卡,單擊“查看”菜單,單擊“選擇列”-“基本優(yōu)先級”命令,然后單擊“確定”按鈕。為更改正在運行的程序的優(yōu)先級,可在“進程”選項卡上右鍵單擊您要更改的程序,指向“設置優(yōu)先級”,然后單擊所需的選項。更改進程的優(yōu)先級可以使其運行更快或更慢 (取決于是提升還是降低了優(yōu)先級) ,但也可能對其他進程的性能有相反的影響。記錄操作后所體會的結果當進程的優(yōu)先級提高后,該進程的執(zhí)行速度比其他進程的速度快了,操作起來不卡,優(yōu)先級被降低的進程,運行速度明顯變慢。在多處理器計算機上,用戶還可以給處理器指派進程,將程序或進程的執(zhí)行限制
21、在選定的處理器上,但這有可能導致總體性能的下降。實驗三:進程調度一、實驗內容1模擬批處理多道操作系統的進程調度;2模擬實現同步機構避免并發(fā)進程執(zhí)行時可能與時間相關的錯誤;二、實驗目的進程調度時進程管理的主要內容之一,通過設計,編制,調試一個簡單的進程調度模擬系統,對進程調度,進程運行狀態(tài)變換及PV操作加深理解和掌握。三、實驗題目采用剝奪式優(yōu)先算法,對三個進程進行模擬調度模擬PV操作同步機構,用PV操作解決進程進入臨界區(qū)的問題。【提示】(1)對三個進程進行模擬調度,對各進程的優(yōu)先數靜態(tài)設置,P1,P2,P3三個進程的優(yōu)先數為1,2,3,并指定P1的優(yōu)先數最高,P3的優(yōu)先數最低,每個進程都處于執(zhí)行
22、態(tài)“e”,就緒態(tài)“r”,等待態(tài)“w”三種狀態(tài)之一,并假定初始態(tài)為“r”。(2)每一個進程用一個PCB表,PCB表的內容根據具體情況設置,該系統在運行過程中能顯示或打印各進程和參數的變化情況,以便觀察各進程的調度。(3)在完成必要的初始化后,便進入進程調度程序,首先由P1進入執(zhí)行,當執(zhí)行進程因等待某各事件被阻塞或喚醒某個進程等待進程時,轉進程調度。(4)在進入臨界區(qū)前后,調PV操作。(5)如果被喚醒的進程優(yōu)先數高于現有執(zhí)行的進程,則剝奪現行進程的執(zhí)行權。(6)當三個進程都處于等待狀態(tài)時,本模擬系統退出執(zhí)行。四、實驗要求1、仔細閱讀程序,然后調試該程序;2、將程序中進程的優(yōu)先數改為隨機數或者改為動
23、態(tài)優(yōu)先數,重新調試該程序;3、將p1先執(zhí)行改為p2或者p3先執(zhí)行,并與p1先執(zhí)行時的結果進行比較;4、寫好書面實驗報告,于下次實驗課時提交實驗報告。五、示例1.數據結構:(1)進程控制塊PCBstructint id;char status;int priority;int waiter1;(2)信號量structint value;int waiter2;sem2(3)現場保護棧stackchar stack114每個進程都有一個大小為10個字的現場保護棧,用來保護被中斷時的斷點地址等信息。(4)全局變量int i;用以模擬一個通用寄存器char addr;用以模擬程序計數器int m1,m
24、2;為系統設置的公用數據被三個進程共享使用。六、程序框圖:略七、程序說明:本程序是用C語言編寫,模擬三個進程的運行情況,過程在運行中要調用P操作申請信號量,如果該過程得到其申請的信號量,就繼續(xù)運行,否則P操作阻塞該申請過程的運行,并將過程置為所申請信號量的等待者,如果已有其它過程在等待同一信號量則將該申請過程排在所有等待進程之后。過程運行中除了調用P操作申請信號量外,還要調用V操作釋放信號量,V操作在釋放信號量之后,還將喚醒因申請此信號量而被阻塞的過程。在程序運行的三個過程(PROCESS1,PROCESS2,PROCESS3),其中過程運行中通過P操作申請信號量1,過程2通過V操作釋放信號量
25、2,然后做一次操作申請信號量2。三個過程之間存在這樣一種關系:過程1消耗的信號量1由過程2通過V操作產生,而過程3即釋放信號量2也消耗信號量2。三個過程的運行通過進程調度模塊同意安排,調度模塊通過FIND()函數找到第一個就緒過程,如果當前沒有過程已在運行,就直接運行此過程,如果有,則比較兩者的優(yōu)先數,然后運行優(yōu)先權高者。七、源程序:#include <stdio.h>int m1;int m2;structint id;int waiter1;int priority;char status;pcb4;structint value;int waiter2;sem3;char s
26、tack114;int i,ep;char addr;void init();int find();int w2();int process1();int process2();int process3();int p(int,int ,char);int v(int,int ,char);main()init();printf("系統程序開始執(zhí)行n");for(;)if(find()!=0) w2();else break;printf("系統程序結束n"); void init()int j,k;pcb0.status='w'
27、;pcb0.priority=4;for(j=1;j<=3;j+)pcbj.id=j;pcbj.status='r'pcbj.waiter1=0;pcbj.priority=j;for(j=1;j<=2;j+)semj.value=1;semj.waiter2=0;i=0;ep=0;addr='0'm1=0;m2=0;for(j=1;j<=10;j+)for(k=1;k<=3;k+)stackjk='0' int find()int j;for(j=1;j<=3;j+)if(pcbj.status='
28、;r') return(j);return(0); int w2()int pd;pd=find();if(pd=0) return(0);else if(ep=0)pcbpd.status='e'ep=pd;printf("進程%d正在執(zhí)行n",ep);else if(pcbpd.priority<pcbep.priority)pcbep.status='r'printf("讀取進程%dn",pcbpd.id);pcbpd.status='e'ep=pd; printf(
29、"運行進程%dn",ep);i=stack1ep;addr=stack2ep;switch(ep)case 1:process1();break;case 2:process2();break;case 3:process3();break;default:printf("當前進程出現錯誤%dn",ep);break; int process1()if(addr='m') goto m;i=1;a:printf("進程1在信號量sem1上調用P操作n");if(p(1,1,'m')=0) re
30、turn(0);else goto m;m:printf("打印進程1.m1=%dn",m1);printf("打印進程1.i=%dn",i);i+=5; goto a; int process2()if(addr='m') goto m;if(addr='n') goto n;i=1; a:printf("進程2在信號量sem2上調用P操作n");if(p(2,2,'m')=0) return(0); m:m1=2*m2;printf("
31、;進程2在信號量sem1上調用V操作m1=%dn",m1);if(v(1,2,'n')=0) return(0);elsen:printf("打印進程2.i=%dn",i);i+=10;goto a; int process3()if(addr='m') goto m;if(addr='n') goto n;i=1;a:if(i>4)printf("進程3在信號量sem2上調用P操作n");if(p(2,3,'n')=0) return(0);n:m2=i;prin
32、tf("進程3在sem2信號量上調用V操作m=%dn",m2);if(v(2,3,'m')=0) return(0);elsem:i+=1;goto a; int p(int se,int p,char ad)int w;semse.value-;if(semse.value=0) return(1);printf("阻塞當前進程%dn",p);pcbp.status='w'ep=0;pcbp.waiter1=0;w=semse.waiter2;if(w=0) semse.waiter2=p;elsewhile(
33、pcbw.waiter1!=0) w=pcbw.waiter1;pcbw.waiter1=p;stack1p=i;stack2p=ad;return(0); int v(int se,int p,char ad)int w;semse.value+;if(semse.value>0) return(1);w=semse.waiter2;semse.waiter2=pcbw.waiter1;pcbw.status='r'printf("喚醒進程%dn",w);stack1p=i;stack2p=ad;return(0);實驗四 虛擬存儲器管理一
34、、實驗目的 1、為了更好的配合操作系統有關虛擬存儲器管理章節(jié)的教學。 2、加深和鞏固學生對于請求頁式存儲管理的了解和掌握。3、提高學生的上機和編程過程中處理具體問題的能力。二、實驗內容請求頁式存儲管理是一種常用的虛擬存儲管理技術。本實驗的目的是通過請求頁式存儲管理中頁面置換算法模擬設計,了解虛擬存儲技術的特點,掌握請求頁式存儲管理的頁面置換算法。 1通過隨機數產生一個指令序列,共320條指令。指令的地址按下述原則生成:50%的指令是順序執(zhí)行的。25%的指令是均勻分布在前地址部分。25%的指令是均勻分布在后地址部分。 具體的實施方法是:在0,319指令地址之間隨機選取一起點;順序執(zhí)行一條指令,即
35、執(zhí)行地址為m+1的指令;在前地址0,m+1中隨機選取一條指令并執(zhí)行,該指令的地址為m;順序執(zhí)行一條指令,其地址為m;在后地址m+2,319中隨機選取一條指令并執(zhí)行;重復上述步驟ae,直到執(zhí)行320次指令。2將指令序列變換成為頁地址流設:a.頁面大小為1K;b.用戶內存容量為4到32頁;c.用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中的存放方式為:第0條第9條指令為第0頁,對應虛存地址為0,9;第10條第19條指令為第1頁,對應虛存地址為10,19 . .第310條第319條指令為第31頁,對應虛存地址為310,319。按以上方式,用戶指令可組成3
36、2頁。3、輸出下述各種算法在不同內存容量下的命中率。a.先進先出的算法;b.最近最少訪問算法;c.最近最不經常使用算法。其中: 命中率=1-頁面失效次數/頁地址流長度 頁地址流長度為320,頁面失效次數為每次訪問相同指令時,該指令所對應的頁不在內存的次數。三、實驗要求 實驗課時4學時。要求畫出利用各種算法置換時的置換圖,并可以分析說明。編程可分為幾個部分完成:指令的分頁,算法的選擇,算法的實現,命中率的輸出。編寫程序前可先閱讀Linux源代碼頁面換入: static int do_swap_page(struct mm_struct * mm,struct vm_area_struct * v
37、ma,unsigned long address,pte_t * page_table,swp_entry_t entry,int write_access)struct page *page = lookup_swap_cache(entry);pte-t pte;if (!pgae)lock_kernel( );swapin_readahead(entry);page = read_swap_cache(entry);unlock_kernel( );if (!page)return -1;flush_page_to_ram(page);flush_icache_page(vma,page
38、);mm->rss+;pte = mk_pte(page,vma->vm_page_prot);/*Freeze the "shared" ness of the page,ie page_count + swap_count.*Must lock page before transferring our swap count to already*obtained apge count.*/lock_page(page);swap_free(entry);if (write_access && !is_page_shared(page)pte
39、= pte_mkwrite(pte_mkdirty(pte);UnlockPage(page);set_pte(page_table,pte);/*No need to invalidate - it was non-present before */update_mmu_cache(vma,address,pte);return 1;/*Minor fault */四、源程序指導#include <stdlib.h>#include <stdio.h>#include <math.h>int i,M,j,k,s,h,t;char r;float int_c
40、ount,page_count,v;float vc29;int l,m,n,o,p;int address320;int page3210,pageNo32,page_Index200,page_IndexNo200,page_change200;pagechange() for(i=0;i<32;i+) for(j=0;j<10;j+) pageij=10*i+j; pageNoi=i; Ram_Make() int x,y; Loop1: l=random(319); if(l>1) m=l+1; else goto Loop1; Loop2: x=random(319
41、); if(x<l-1) n=x; o=n+1; else goto Loop2; Loop3: y=random(319); if(y>o) p=y; else goto Loop3;fifo() for(s=4;s<=32;s+) page_change0=page_IndexNo0; int_count=1; page_count=1; for(h=1;h<5*M;h+) if(page_IndexNoh!=page_IndexNoh-1)page_count+=1; for(t=0;t<s;t+) if(page_IndexNoh=page_changet
42、) goto Loop8;else if(page_IndexNoh!=page_changet && page_changet=999) page_changet=page_IndexNoh; int_count+; goto Loop8; for(k=0;k<s;k+) page_changek=page_changek+1; page_changes-1=page_IndexNoh; int_count+=1; Loop8: ; v=int_count/page_count; vcs-4=1-v; printf("Vc for page %d: vc%d=
43、%.3f $ ",s,s-4,vcs-4); for(i=0;i<200;i+)page_changei=999; lru() int q,temp; for(s=4;s<=32;s+) page_change0=page_IndexNo0; page_count=1; int_count=1; for(h=1;h<5*M;h+) if(page_IndexNoh!=page_IndexNoh-1)page_count+=1; for(t=0;t<s;t+) if(page_IndexNoh!=page_changet && page_chan
44、get=999) page_changet=page_IndexNoh; int_count+; goto Loop9;else if(page_IndexNoh=page_changet) for(q=t;q<s;q+) if(page_changeq+1!=999) temp=page_changeq; page_changeq=page_changeq+1; page_changeq+1=temp; goto Loop9; for(k=0;k<s;k+)page_changek=page_changek+1; page_changes-1=page_IndexNoh; int
45、_count+=1; Loop9:; v=int_count/page_count; vcs-4=1-v; printf("The vc for the page %d: vc%d=%.3f $ ",s,s-4,vcs-4); for(i=0;i<200;i+)page_changei=999; opt() int i,count32,max,j; for(j=0;j<32;j+) countj=0; for(s=4;s<=32;s+) page_change0=page_IndexNo0; page_count=1; int_count=1; for(h
46、=1;h<5*M;h+) if(page_IndexNoh!=page_IndexNoh-1)page_count+=1; for(t=0;t<s;t+) if(page_IndexNoh=page_changet) goto Loop10;else if(page_IndexNoh!=page_changet && page_changet=999) page_changet=page_IndexNoh; int_count+; goto Loop10; for(t=0;t<s;t+) for(i=h;i<5*M;i+) if(page_changet
47、=page_IndexNoi) countt=i; goto Loop11; page_changet=page_IndexNoh;int_count+=1;goto Loop10; Loop11:; max=0; for(t=0;t<s;t+) if(countt>max) max=countt; for(t=0;t<s;t+) if(countt=max) page_changet=page_IndexNoh; int_count+=1; Loop10:; v=int_count/page_count; vcs-4=1-v; printf("The vc for
48、 page %d: vc%d=%.3f $ ",s,s-4,vcs-4); for(i=0;i<200;i+)page_changei=999; main() char c;Loop4: clrscr(); for(i=0;i<320;i+) addressi=rand(); for(i=0;i<200;i+) page_changei=999; printf("Put The Value Of The M: "); scanf("%d",&M); pagechange(); for(j=0;j<M;j+) Ra
49、m_Make(); page_Index5*j+0=l;page_IndexNo5*j+0=l/10; page_Index5*j+1=m;page_IndexNo5*j+1=m/10; page_Index5*j+2=n;page_IndexNo5*j+2=n/10; page_Index5*j+3=o;page_IndexNo5*j+3=o/10; page_Index5*j+4=p;page_IndexNo5*j+4=p/10; for(k=0;k<5*M;k+) printf("page_Index%d=%d,page_IndexNo%d=%dn",k,pag
50、e_Indexk,k,page_IndexNok); printf("n"); Loop5: printf("select the method for page_exchange:n"); printf("1.)FIFOn2.)LRUn3.)OPTn"); printf("Put The select of The method: "); scanf("%s",&r); switch(r) case '1': fifo(); break;case '2': lru(); break;case '3': opt(); break;default: printf("n"); printf("Put the
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫安全審計合同
- 科技發(fā)展中知識產權保護的國際合作
- 個人旅行保險購買協議
- 2025年02月貴陽貴安事業(yè)單位工作人員484人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2024年白銀市平川區(qū)人民醫(yī)院招聘勞動筆試真題
- 現代職場中的非語言信號解讀
- 刊物廣告發(fā)布合同
- 2025至2030年中國有機復合物數據監(jiān)測研究報告
- 2025至2030年中國智能掃描圖像傳感器數據監(jiān)測研究報告
- 媒體工作者合同范本
- 浙江省Z20聯盟(名校新高考研究聯盟)2024屆高三下學期第三次聯考英語試題 含答案
- 2024-2025學年初中體育與健康七年級全一冊(2024)人教版(2024)教學設計合集
- 第五單元《分數的意義》復習試題(單元測試)-2024-2025學年五年級上冊數學北師大版
- DB34T 4620-2023 疼痛科治療室建設規(guī)范
- 易制毒化學品識別與檢驗學習通超星期末考試答案章節(jié)答案2024年
- 紅茶市場洞察報告
- 外國來華留學生經費管理辦法
- 蝴蝶蘭栽培技術規(guī)程
- Unit 4 Time to celebrate 教學設計-2024-2025學年外研版英語七年級上冊
- 健康檔案模板
- DB32-T 4790-2024建筑施工特種作業(yè)人員安全操作技能考核標準
評論
0/150
提交評論