




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——操作系統(tǒng)實(shí)驗(yàn)報(bào)告(同名11863)課程名稱:操作系統(tǒng)B
試驗(yàn)工程:操作系統(tǒng)試驗(yàn)
試驗(yàn)地點(diǎn):試驗(yàn)樓209
專業(yè)班級(jí):
學(xué)生姓名:學(xué)號(hào):
指導(dǎo)教師:方昀
2015年12月3號(hào)?試驗(yàn)一幾種操作系統(tǒng)的界面
試驗(yàn)?zāi)康暮鸵?/p>
目的本試驗(yàn)的目的是使學(xué)生熟悉1—2種操作系統(tǒng)的界面,在熟練使用機(jī)器的基礎(chǔ)上,能了解各種操作命令和系統(tǒng)調(diào)用在系統(tǒng)中的大致工作過(guò)程。也就是通過(guò)操作系統(tǒng)的外部特征,逐步深入到操作系統(tǒng)的內(nèi)部實(shí)質(zhì)內(nèi)容中去。
要求
能熟練的在1—2種操作系統(tǒng)的環(huán)境下工作,學(xué)會(huì)使用各種命令,熟悉系統(tǒng)提供的各種功能,主動(dòng)而有效地使用計(jì)算機(jī)。
熟悉系統(tǒng)實(shí)用程序的調(diào)用方法和各種系統(tǒng)調(diào)用模塊的功能和作用。
試驗(yàn)內(nèi)容
在某種操作系統(tǒng)的環(huán)境下建立、修改、運(yùn)行、打印源程序和結(jié)果,最終撤消一個(gè)完整的程序。
提醒:可按下述步驟進(jìn)行
編寫一個(gè)完整的源程序,通過(guò)編輯命令送入機(jī)器,建立源程序文件;
編譯該源文件,建立相應(yīng)的目標(biāo)文件;
編譯有錯(cuò)時(shí),再用編輯命令修改源文件,消除全部詞法和語(yǔ)法錯(cuò)誤;
連接目標(biāo)文件,形成可執(zhí)行文件;
執(zhí)行該文件,得到結(jié)果;
打印輸出源程序和運(yùn)行結(jié)果;
撤消本次試驗(yàn)中形成的所有文件。
試驗(yàn)步驟及程序流程圖
命令行格式對(duì)Java編譯連接運(yùn)行:
對(duì)jjj.txt文件編寫代碼,然后后綴名改為java,通過(guò)javac命令編譯、java命令執(zhí)行得到結(jié)果Hello,Java!
1-1
1-2
在eclipse下的可視化界面對(duì)Java程序進(jìn)行編譯和執(zhí)行:
1.編寫源代碼
1-3
找到執(zhí)行按鈕
1-4
查看結(jié)果
1-5
四、試驗(yàn)結(jié)果與分析
無(wú)論是可視化界面還是命令行格式都可以對(duì)程序進(jìn)行編譯連接運(yùn)行的操作。
五、探討、心得
雖然現(xiàn)在的操作系統(tǒng)可視化界面對(duì)比廣泛,但是通過(guò)這兩種方式,了解不同執(zhí)行命令的方式,有利于我們今后的學(xué)習(xí),和對(duì)多種操作系統(tǒng)的了解。
試驗(yàn)二進(jìn)程調(diào)度程序設(shè)計(jì)
試驗(yàn)?zāi)康暮鸵?/p>
目的進(jìn)程是操作系統(tǒng)最重要的概念之一,進(jìn)程調(diào)度是操作系統(tǒng)的主要內(nèi)容,本試驗(yàn)要求學(xué)生獨(dú)立地用高級(jí)語(yǔ)言編寫一個(gè)進(jìn)程調(diào)度程序,調(diào)度算法可任意選擇或自行設(shè)計(jì),本試驗(yàn)可使學(xué)生加深對(duì)進(jìn)程調(diào)度和各種調(diào)度算法的理解。
要求
設(shè)計(jì)一個(gè)有幾個(gè)進(jìn)程并發(fā)執(zhí)行的進(jìn)程調(diào)度程序,每個(gè)進(jìn)程由一個(gè)進(jìn)程操縱塊(PCB)表示,進(jìn)程操縱塊尋常應(yīng)包括下述信息:進(jìn)程名,進(jìn)程優(yōu)先數(shù),進(jìn)程需要運(yùn)行的時(shí)間,占用CPU的時(shí)間以及進(jìn)程的狀態(tài)等,且可依照調(diào)度算法的不同而增刪。
調(diào)度程序應(yīng)包含2—3種不同的調(diào)度算法,運(yùn)行時(shí)可以任選一種,以利于各種方法的分析和對(duì)比。
系統(tǒng)應(yīng)能顯示或打印各進(jìn)程狀態(tài)和參數(shù)的變化狀況,便于觀測(cè)。
試驗(yàn)內(nèi)容
題目本程序可選用優(yōu)先數(shù)法或簡(jiǎn)單輪轉(zhuǎn)法對(duì)五個(gè)進(jìn)程進(jìn)行調(diào)度。每個(gè)進(jìn)程處于運(yùn)行R(run)、就緒W(wait)和完成F(finish)三種狀態(tài)之一,并假定起始狀態(tài)都是就緒狀態(tài)W。
為了便于處理,程序中進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位計(jì)算。各進(jìn)程的優(yōu)先數(shù)或輪轉(zhuǎn)時(shí)間片數(shù)、以及進(jìn)程需要運(yùn)行的時(shí)間片數(shù),均由偽隨機(jī)數(shù)發(fā)生器產(chǎn)生。
進(jìn)程操縱塊結(jié)構(gòu)如表2-1所示:
表2-1PCB
進(jìn)程標(biāo)識(shí)符
鏈指針
優(yōu)先數(shù)/輪轉(zhuǎn)時(shí)間片數(shù)
占用CPU時(shí)間片數(shù)
進(jìn)程所需時(shí)間片數(shù)
進(jìn)程狀態(tài)
進(jìn)程操縱塊鏈結(jié)構(gòu)如圖2-1所示:
RUN
HEAD
TAIL
1┇
1
┇
R
3
┇
W
5
┇
W
W
0
┇
2
…
圖2-1進(jìn)程操縱塊鏈結(jié)構(gòu)
其中:RUN—當(dāng)前運(yùn)行進(jìn)程指針;HEAD—進(jìn)程就緒鏈鏈?zhǔn)字羔?
TAIL—進(jìn)程就緒鏈鏈尾指針。
2.算法與框圖程序框圖如圖2-2所示。
priority
priority
是
輸入調(diào)度算法alog
開(kāi)始
alog=priority/roundrobin?
生成并按優(yōu)先數(shù)大小排列進(jìn)程操縱塊鏈
進(jìn)程時(shí)間片數(shù)為0?
從鏈?zhǔn)兹∫粋€(gè)進(jìn)程投入運(yùn)行
生成并按進(jìn)入次序
排列進(jìn)程操縱塊鏈
鏈?zhǔn)走M(jìn)程投入運(yùn)行
時(shí)間片到,進(jìn)程時(shí)間片
數(shù)減1,優(yōu)先數(shù)減3
運(yùn)行進(jìn)程退出,排到進(jìn)程鏈尾部
撤消該進(jìn)程
鏈?zhǔn)走M(jìn)程投入運(yùn)行
時(shí)間片到,進(jìn)程時(shí)間片數(shù)
減1,占用CPU時(shí)間加1
優(yōu)先數(shù)大于鏈?zhǔn)走M(jìn)程?
進(jìn)程時(shí)間片數(shù)為0?
撤消該進(jìn)程
運(yùn)行進(jìn)程退出,按優(yōu)先數(shù)插入進(jìn)程鏈
從鏈?zhǔn)兹∫粋€(gè)進(jìn)程投入運(yùn)行
終止
終止
進(jìn)程隊(duì)列空?
進(jìn)程隊(duì)列空?
是
是
是
否
否
否
否
否
是
roundrobin
占用處理機(jī)時(shí)間片到?
否
是
圖2-2進(jìn)程調(diào)度框圖
(1)優(yōu)先數(shù)法。
進(jìn)程就緒鏈按優(yōu)先數(shù)大小從大到小排列,鏈?zhǔn)走M(jìn)程首先投入運(yùn)行。每過(guò)一個(gè)時(shí)間片,運(yùn)行進(jìn)程所需運(yùn)行的時(shí)間片數(shù)減1,說(shuō)明它已運(yùn)行了一個(gè)時(shí)間片,優(yōu)先數(shù)也減3。理由是該進(jìn)程假如在一個(gè)時(shí)間片中完成不了,優(yōu)先級(jí)應(yīng)降低一級(jí)。接著對(duì)比現(xiàn)行進(jìn)程和就緒鏈鏈?zhǔn)走M(jìn)程的優(yōu)先數(shù),假如仍是現(xiàn)行進(jìn)程高或者一致,就讓現(xiàn)行進(jìn)程繼續(xù)運(yùn)行,否則,調(diào)度就緒鏈鏈?zhǔn)走M(jìn)程投入運(yùn)行。原運(yùn)行進(jìn)程再按其優(yōu)先數(shù)大小插入就緒鏈,且改變它們對(duì)應(yīng)的進(jìn)程狀態(tài),直至所有進(jìn)程都運(yùn)行完各自的時(shí)間片數(shù)。
(2)簡(jiǎn)單輪轉(zhuǎn)法。
進(jìn)程就緒鏈按各進(jìn)程進(jìn)入的先后次序排列,鏈?zhǔn)走M(jìn)程首先投入運(yùn)行。進(jìn)程每次占用處理機(jī)的輪轉(zhuǎn)時(shí)間按其重要程度登入進(jìn)程操縱塊中的輪轉(zhuǎn)時(shí)間片數(shù)記錄項(xiàng)(相應(yīng)于優(yōu)先數(shù)法的優(yōu)先數(shù)記錄項(xiàng)位置)。每過(guò)一個(gè)時(shí)間片,運(yùn)行進(jìn)程占用處理機(jī)的時(shí)間片數(shù)加1,然后對(duì)比占用處理機(jī)的時(shí)間片數(shù)是否與該進(jìn)程的輪轉(zhuǎn)時(shí)間片數(shù)相等,若相等說(shuō)明已到達(dá)輪轉(zhuǎn)時(shí)間,應(yīng)將現(xiàn)運(yùn)行進(jìn)程排到就緒鏈末尾,調(diào)度鏈?zhǔn)走M(jìn)程占用處理機(jī),且改變它們的進(jìn)程狀態(tài),直至所有進(jìn)程完成各自的時(shí)間片。
三、試驗(yàn)結(jié)果
輪轉(zhuǎn)法:
(只貼出首尾和中間部分過(guò)程截圖)
優(yōu)先數(shù)法:
四、探討、心得
一開(kāi)始程序中有錯(cuò)誤,經(jīng)過(guò)修正后可以正常運(yùn)行。為便利觀測(cè)結(jié)果我將程序中部分英文換為中文,并修改了一些隨機(jī)函數(shù)的種子數(shù)。
輪轉(zhuǎn)法中為每個(gè)進(jìn)程分派了時(shí)間片,當(dāng)該進(jìn)程時(shí)間片到或執(zhí)行完畢就放到隊(duì)尾,把run指針后移,取下一個(gè)進(jìn)程執(zhí)行。由于時(shí)間片固定,執(zhí)行依照隊(duì)列順序,程序簡(jiǎn)單易懂好用。優(yōu)先數(shù)法首先給予每個(gè)進(jìn)程優(yōu)先級(jí),然后根據(jù)優(yōu)先級(jí)從高到低給進(jìn)程排序,取頭指針執(zhí)行,每執(zhí)行完一次時(shí)間片就檢查優(yōu)先級(jí),若最高繼續(xù)執(zhí)行,若不是則插入隊(duì)列中適合位置。
試驗(yàn)三存儲(chǔ)管理程序設(shè)計(jì)
一、試驗(yàn)?zāi)康暮鸵?/p>
目的存儲(chǔ)管理的主要功能之一是合理地分派主存空間。請(qǐng)求頁(yè)式管理是一種常用的虛擬存儲(chǔ)管理技術(shù)。
本試驗(yàn)的目的是通過(guò)請(qǐng)求頁(yè)式存儲(chǔ)管理中頁(yè)面置換算法的模擬設(shè)計(jì),來(lái)了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),把握請(qǐng)求頁(yè)式存儲(chǔ)管理的頁(yè)面置換算法。
要求
模擬頁(yè)式虛擬存儲(chǔ)管理中硬件的地址轉(zhuǎn)換和缺頁(yè)中斷的處理過(guò)程,并用先進(jìn)先出調(diào)度算法(FIFO)處理缺頁(yè)中斷。
二、試驗(yàn)內(nèi)容
為了裝入一個(gè)頁(yè)面而必需調(diào)出一頁(yè)時(shí),假如被選中調(diào)出的頁(yè)面在執(zhí)行中沒(méi)有修改過(guò),則不必把該頁(yè)重新寫到磁盤上(磁盤已有副本)。因此在頁(yè)表中可以增加是否修改過(guò)的標(biāo)志,當(dāng)執(zhí)行“存〞、“寫〞指令時(shí)把對(duì)應(yīng)頁(yè)的修改標(biāo)志置“1〞,表示該頁(yè)修改過(guò),否則為“0〞,表示該頁(yè)未修改過(guò)。頁(yè)表格式(頁(yè)號(hào),標(biāo)志,主存塊號(hào),修改標(biāo)志,磁盤上的位置)
設(shè)計(jì)一個(gè)地址轉(zhuǎn)換程序來(lái)模擬硬件的地址轉(zhuǎn)換和缺頁(yè)中斷處理過(guò)程。當(dāng)訪問(wèn)的頁(yè)在主存時(shí)則形成絕對(duì)地址,但不去模擬指令的執(zhí)行,可用輸出轉(zhuǎn)換后的絕對(duì)地址來(lái)表示一條指令已完成。當(dāng)訪問(wèn)的頁(yè)不在主存時(shí)則輸出“*該頁(yè)頁(yè)號(hào)〞來(lái)表示硬件產(chǎn)生了一次缺頁(yè)中斷。
編制一個(gè)FIFO頁(yè)面調(diào)度程序。FIFO頁(yè)面調(diào)度算法總是先調(diào)出作業(yè)中最先進(jìn)入主存的那一頁(yè),因此,可以用一個(gè)數(shù)組來(lái)構(gòu)成頁(yè)號(hào)隊(duì)列。數(shù)組中每個(gè)元素是該作業(yè)已在主存的頁(yè)面號(hào),假定分派給作業(yè)的主存塊數(shù)為m,且該作業(yè)開(kāi)始的m頁(yè)已裝入主存,則數(shù)組可由m個(gè)元素組成:P[0],P[1],…,P[m-1],它們的初值為P[0]∶=0,P[1]∶=1,…,P[m-1]∶=m-1。
用一指針k指示當(dāng)要裝入新頁(yè)時(shí)應(yīng)調(diào)出的頁(yè)在數(shù)組的位置,k的初值為“0〞。當(dāng)產(chǎn)生缺頁(yè)中斷后,操作系統(tǒng)總是選擇P[k]所指出的頁(yè)面調(diào)出,然后執(zhí)行P[k]∶=要裝入的新頁(yè)頁(yè)號(hào),
k∶=(k+1)modm。在試驗(yàn)中不必實(shí)際地啟動(dòng)磁盤執(zhí)行調(diào)出一頁(yè)和裝入一頁(yè)的工作,而用輸出“OUT調(diào)出的頁(yè)號(hào)〞和“IN要裝入的新頁(yè)頁(yè)號(hào)〞來(lái)模擬一次調(diào)出和裝入的過(guò)程。
假定主存的每塊長(zhǎng)度為1024個(gè)字節(jié),現(xiàn)有一個(gè)共7頁(yè)的作業(yè),其副本已在磁盤上。系統(tǒng)為該作業(yè)分派了4塊主存塊,且該作業(yè)的第0頁(yè)至第3頁(yè)已經(jīng)裝入主存,其余3頁(yè)尚未裝入主存,該作業(yè)的頁(yè)表見(jiàn)表3-2所示。
表3-2作業(yè)的頁(yè)表
頁(yè)號(hào)
標(biāo)志
主存塊號(hào)
修改標(biāo)志
在磁盤上的位置
0
1
5
0
011
1
1
8
0
012
2
1
9
0
013
3
1
1
0
021
4
0
0
022
5
0
0
023
6
0
0
121
假如該作業(yè)依次執(zhí)行的指令序列如表3-3所示。
表3-3作業(yè)依次執(zhí)行的指令序列
操作
頁(yè)號(hào)
頁(yè)內(nèi)地址
操作
頁(yè)號(hào)
頁(yè)內(nèi)地址
+
0
070
移位
4
053
+
1
050
+
5
023
×
2
015
存
1
037
存
3
021
取
2
078
取
0
056
+
4
001
-
6
040
存
6
084
依次執(zhí)行上述的指令序列來(lái)調(diào)試你所設(shè)計(jì)的程序(僅模擬指令的執(zhí)行,不必考慮指令序列中具體操作的執(zhí)行)
為了檢查程序的正確性,可自行確定若干組指令序列,運(yùn)行設(shè)計(jì)的程序,核對(duì)執(zhí)行結(jié)果。
程序清單
#include<stdio.h
#includestdlib.h>
#definenumber12
#definelength7
structpagelist{
intbnum;//頁(yè)號(hào)
?intid;//標(biāo)志
?intchangeid;//修改標(biāo)志
?intlocation;//所在磁盤位置
}pagelist[length];//頁(yè)表
structaction{
?charname;//操作
?intobject;//頁(yè)號(hào)
intadd;//頁(yè)內(nèi)地址
}action[number];//對(duì)頁(yè)面的操作
structpagechain{
intpage;
?intblock;
?intnext;
}pagechain[length];//存放在塊中的頁(yè)
inthead;//pagechain的頭指針
intreplace(intpnu);
voidcaculate(intpnu,intleave){//計(jì)算物理地址傳入頁(yè)號(hào)和頁(yè)內(nèi)偏移
intwadd;
?inti;
?intb;
if(pagelist[pnu].id==1){
b=pagechain[pnu].block;
?}else
?b=replace(pnu);
wadd=b*1024+leave;
?printf(\n頁(yè)號(hào)為%d的分頁(yè)的物理地址:%d\t\t,pnu,wadd);
}
intreplace(intpnu){//頁(yè)面置換
intb,p;
?b=pagechain[head].block;
p=pagechain[head].page;
?//將需要的頁(yè)面調(diào)入塊
pagechain[head].page=pnu;
pagelist[pnu].bnum=b;
?pagelist[pnu].id=1;
?//將塊中頁(yè)面調(diào)出
pagelist[p].id=0;
?pagelist[p].bnum=0;
head=pagechain[head].next;
printf(\n%d與%d互換\t\t,pnu,p);
printf(%d進(jìn)去,%d出來(lái),pnu,p);
?returnb;
}
voidinitPagelist(){//初始化頁(yè)表
?intk,b,l;
?for(k=0;klength;k++){
if(k4){
?printf(\n請(qǐng)輸入第%d個(gè)頁(yè)面所在的塊的塊號(hào):,k);
??setbuf(stdin,NULL);
scanf(%d",b);
?pagelist[k].bnum=b;
?pagelist[k].id=1;
?}else{
?pagelist[k].bnum=0;
pagelist[k].id=0;
?}
pagelist[k].changeid=0;
?printf(\n請(qǐng)輸入第%d個(gè)頁(yè)面所在的磁盤位置:,k);
?setbuf(stdin,NULL);
?scanf("%d,l);
?pagelist[k].location=l;
?}
}
voidinitAction(){//初始化操作表
?inti,b,c;
chara;
for(i=0;inumber;i++){
?printf(\n請(qǐng)輸入相應(yīng)的操作頁(yè)面及頁(yè)內(nèi)偏移(w:移位,c:取,q:存):);
setbuf(stdin,NULL);
?scanf("%c,%d,%d,a,&b,c);
action[i].name=a;
?action[i].object=b;
action[i].add=c;
}
}
voidinitPagechain(){//初始化頁(yè)在塊中的隊(duì)列鏈
intj;
?for(j=0;j4;j+
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025勞動(dòng)合同變更書模板
- 2025辦公室租賃合同協(xié)議書范本參考
- 2025授權(quán)公司設(shè)備租賃合同樣本
- 2025年高考?xì)v史考綱(完整版)
- 2025房產(chǎn)按揭貸款買賣合同
- 2025液壓混凝土輸送泵租賃合同
- 江蘇省徐州市多校聯(lián)考2024-2025學(xué)年八年級(jí)下學(xué)期期中生物試題(含答案)
- 中電建建筑集團(tuán)與中車簽訂戰(zhàn)略合作合同
- 2024年河北省保定市蓮池區(qū)中考一??荚囌Z(yǔ)文試題(含答案)
- 武漢市七年級(jí)下學(xué)期語(yǔ)文試卷七套(練習(xí)版)
- 重大事故隱患判定標(biāo)準(zhǔn)課件
- Python編程案例教程全套教學(xué)課件
- 手陽(yáng)明大腸經(jīng)(經(jīng)絡(luò)腧穴課件)
- IATF16949-COP-內(nèi)部審核檢查表+填寫記錄
- 2024新《公司法》亮點(diǎn)全面解讀課件
- 中國(guó)工商銀行數(shù)據(jù)中心2023年校園招聘60名人才筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- 中華護(hù)理學(xué)會(huì)成人腸內(nèi)營(yíng)養(yǎng)支持護(hù)理團(tuán)標(biāo)解讀
- 2020-2021學(xué)年天津市河西區(qū)八年級(jí)(下)期中語(yǔ)文試卷(附答案詳解)
- 特種設(shè)備檢驗(yàn)申請(qǐng)單
- 馬渭麗《月光下的中國(guó)》
- AQ-T 1009-2021礦山救護(hù)隊(duì)標(biāo)準(zhǔn)化考核規(guī)范
評(píng)論
0/150
提交評(píng)論