2023年揚(yáng)州大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告書_第1頁(yè)
2023年揚(yáng)州大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告書_第2頁(yè)
2023年揚(yáng)州大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告書_第3頁(yè)
2023年揚(yáng)州大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告書_第4頁(yè)
2023年揚(yáng)州大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告書_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《操作系統(tǒng)原理》實(shí)驗(yàn)報(bào)告書班級(jí):軟件1102學(xué)號(hào):姓名:指導(dǎo)教師:徐向英2023-2023學(xué)年第二學(xué)期實(shí)驗(yàn)名稱:LINUX用戶界面實(shí)驗(yàn)時(shí)間:2023年4月9日第6周星期二一、實(shí)驗(yàn)?zāi)康?,熟悉Linux字符操作界面,純熟掌握常用Shell命令。2,熟悉Linux文本編輯方法,學(xué)會(huì)編輯軟件VI的使用。3,了解Linux編譯器gcc的功能,掌握基于Linux平臺(tái)的C程序的開發(fā)實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識(shí)的問題及回答)1.為什么在Linux系統(tǒng)中,諸如光盤、U盤等要先掛載而后才干使用?如何獲得U盤的設(shè)備名?裝載點(diǎn)在文獻(xiàn)系統(tǒng)中的位置是什么?由于文獻(xiàn)系統(tǒng)的差異,Linux在默認(rèn)情況下并不支持軟盤,光盤,U盤,所以需要通過裝在相應(yīng)盤片才可以訪問其中的數(shù)據(jù)裝載點(diǎn)是掛載文獻(xiàn)系統(tǒng)的目錄位置2.從虛擬機(jī)界面退出進(jìn)入WindowsOS界面的操作是Ctrl+Alt,從WindowsOS界面進(jìn)入虛擬機(jī)界面的方法是鼠標(biāo)點(diǎn)擊虛擬機(jī)界面。3.權(quán)限的含義是什么?如何使用數(shù)字法設(shè)定文獻(xiàn)的權(quán)限?Linux系統(tǒng)中的每個(gè)文獻(xiàn)和目錄都有相應(yīng)的訪問許可權(quán)限,訪問權(quán)限分為只讀(r),可寫(w)和可執(zhí)行三種,有三種不同類型的用戶可以對(duì)文獻(xiàn)或者目錄進(jìn)行訪問,分別是文獻(xiàn)所有者(u),同組用戶(g)和其它用戶(o)。所有的文獻(xiàn)和目錄都被創(chuàng)建他們的人所擁有。只要你是這個(gè)文獻(xiàn)的所有者或者你登陸為用戶,你就擁有了改變所有者,群組和其別人權(quán)限的權(quán)利。使用數(shù)字法改變權(quán)限:?命令格式chmod權(quán)限數(shù)值文獻(xiàn)名說明給指定文獻(xiàn)賦予數(shù)值所規(guī)定的權(quán)限? 在數(shù)字設(shè)定法中,每種權(quán)限設(shè)立均可以用數(shù)值來代表,其中0表達(dá)沒有權(quán)限,1表達(dá)可執(zhí)行權(quán)限,2表達(dá)可寫權(quán)限,4表達(dá)可讀權(quán)限,這些值之和便可以用來設(shè)定特定權(quán)限。4.什么過濾操作?在Linux中如何實(shí)現(xiàn)? 過濾操作:將一個(gè)命令的輸出作為一個(gè)命令的輸入Linux實(shí)現(xiàn)的命令格式:命令|命令5.在Linux中掛載u盤并能顯示其文檔的中文信息,所使用的掛載命令是:Mount/dev/sdal/mnt/usb。6.什么是vi?其三種操作模式的含義是什么?給出三種工作模式間的轉(zhuǎn)換圖。命令模式:vi啟動(dòng)后的默認(rèn)模式,控制光標(biāo)的移動(dòng),復(fù)制刪除文字,進(jìn)入輸入模式和末行模式輸入模式:進(jìn)行文字輸入末行模式:保存文獻(xiàn),退出VI實(shí)驗(yàn)內(nèi)容(包含實(shí)驗(yàn)所用命令或相關(guān)程序源代碼)1.shell操作命令(給出每題所用的Shell命令或命令結(jié)果)(1)創(chuàng)建名為stu1、stu2的2個(gè)用戶,設(shè)立密碼分別為student1和student2,并將它們?cè)O(shè)為組group1中的成員。#groupaddgroup1#useraddstu1–ggroup1#sustu1Spasswdstu1回車后敲入密碼student1$exit#useraddstud2–ggroup1#sustu2$passwdstu2$exit(2)在每個(gè)用戶的主目錄下建立2個(gè)目錄,分別命名為dir1和dir2。#sustu1$cd~$mkdirdir1$exit#sustu2$cd~$mkdirdir2$exit(3)查找stu1用戶主目錄、下屬各子目錄的默認(rèn)存取權(quán)限,并給出結(jié)論。#sustu1$cd..$ls-1用戶主目錄權(quán)限為:drwx,即目錄的用戶可讀,寫,執(zhí)行,同組和其它的用戶無任何權(quán)限#sustu`$cd~?$ls-1Dir1目錄權(quán)限為:drwxr-xr-x,即目錄的用戶可讀,寫,執(zhí)行(4)調(diào)試pwd和cd命令,回答下列關(guān)于Linux文獻(xiàn)系統(tǒng)中目錄的有關(guān)問題。=1\*GB3①用戶主目錄的絕對(duì)途徑如何表達(dá)?/home/stu1/home/stu2=2\*GB3②根目錄如何表達(dá)?/root=3\*GB3③.和..分別表達(dá)什么目錄?子目錄,父目錄=4\*GB3④~表達(dá)什么目錄?用戶主目錄⑤當(dāng)前目錄如何表達(dá)?Cd~(5)新建用戶stu3,設(shè)立其密碼為student3,并將其設(shè)立為group2中成員。爾后,以stu3登錄,在其主目錄下建立名為text的目錄,在text目錄下再建立名為dir1的子目錄,并使其成為當(dāng)前目錄。#groupaddgroup2#useraddstu3–ggroup2#sustu3$passwd回車后敲入密碼student3$cd~$mkdirtext$mkdirdir1$cdtext/dir1(6)使用cat>sneakers.txt命令,分析命令行catsneakers.txt的顯示結(jié)果。$cat>sneakers.txtbuysomesneakersthengotothecoffeeshopthenbuysomecoff^D$catsneakers.txt從鍵盤中創(chuàng)建一個(gè)名為sncakers.txt文獻(xiàn),文獻(xiàn)內(nèi)容為:buysomesncakersThengotothecoffeeshopThenbuysomecoff(7)使用上題的方法,在dir1目錄中建立home.txt文獻(xiàn),其內(nèi)容為:bringthecoffeehometakeoffshoesputonsneakersmakesomecoffeerelax!$cd/home/stu1/dir1$cat>home.txtBringthecoffee(cuò)homeTakeoffshoesPutonsneakersMakesomecoffeeRelax![ctrl+d](8)試寫出實(shí)現(xiàn)下列功能的shell命令:=1\*GB3①將home.txt文獻(xiàn)移至其上級(jí)目錄中(即text目錄下)。$mv/home.txt=2\*GB3②將home.txt添加到sneakers.txt尾部形成新的文獻(xiàn)saturday.txt。$catcneakers.txt>asturday.txt$cathome.txt>>Saturday.txt=3\*GB3③將text目錄樹從stu3用戶主目錄下移至stu2主目錄下?!臼褂锰貦?quán)用戶方法】sumv/home/stu3/text/home/stu2【修改目錄權(quán)限方法】#cp/home/stu3/text/home/stu2(9)試畫出上述命令后,用戶stu1、stu2和stu3主目錄中的目錄樹(3棵子樹)。2.LinuxC程序開發(fā)(1)編寫LinuxC程序,把一個(gè)文獻(xiàn)的內(nèi)容復(fù)制到另一個(gè)文獻(xiàn)中,即實(shí)現(xiàn)簡(jiǎn)樸的copy功能。規(guī)定:程序輸入的第一個(gè)參數(shù)是源文獻(xiàn),第二個(gè)參數(shù)是目的文獻(xiàn)?!驹闯绦颉?include<sys/types.h>#include<dirent.h>#include<stdio.h>#include<crrno.h>Intmain(intargc,char*argv[]){?FILE*in,*out;Charch;If(argc!=3){ Printf(“youforgottoenterafilename\n”);Exit(0);}If(in=fopen(argv[1],”r”))==NULL{?Printf(“cannitopenoutfile\n”);Exit(0);}If(out=fopen(argv[2],”w”))==NULL{?Prntf(“cannotopenoutfile”); Exit(0);}While(!feof(in))fputc(in),out);Fclose(in);Fclose(out);}【運(yùn)營(yíng)命令】#gcc–otestcopy.c#./testfile1.cfile2.c(2)編寫LinuxC程序,列出stu2主目錄中的文獻(xiàn)信息,并將其中sat(yī)urday.txt文獻(xiàn)的權(quán)限設(shè)立為文獻(xiàn)所有者可讀可寫、同組用戶只讀、其他用戶無權(quán)限?!驹闯绦颉浚nclude<sys/types.h>#include<dirent.h>#include<stdio.h>#include<crrno.h>Intmain(intargc,char*argv[]){ DIR*dp;?Structdirent*dirp;?Intn=0; If(arge!=2)?{ Printf(“asignleargementisrequired”); Exit(0);}If(dp=opendir(argv[1])==NULL){ Printf(“cannotopen%s”,args[1]);Exit(0);}While(((dirp=readdir(dp))!=NULL)&&(n<=50)){ If(n%1==0)printf(“”);?N++;?Printf(“%10s\n”,dirp->d_name);}System(“chmod640/home/stu2/text/dir1/Saturday.txt”)}【運(yùn)營(yíng)命令】#gcc–otestlist.c#./test.home/stu2

實(shí)驗(yàn)名稱:SHELL程序設(shè)計(jì)實(shí)驗(yàn)時(shí)間:2023年4月11日第6周星期4一、實(shí)驗(yàn)?zāi)康氖煜HELL腳本編程的環(huán)節(jié),掌握基于Bash的Shell腳本開發(fā)。實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識(shí)的問題及回答)1.Linux系統(tǒng)默認(rèn)的shell語言是什么?欲查看該shell的版本,應(yīng)使用什么命令?Bashshell$echo$BASH_VERSION2.預(yù)習(xí)shell有關(guān)變量和參數(shù)的相關(guān)知識(shí),回答下列問題。(1)假設(shè)用戶進(jìn)行了如下的賦值操作:$person=jenny試給出下面命令的輸出結(jié)果。1)echopersonperson2)echo$personjenny3)echo‘$person’$person4)echo“$person”jenny(2)填充下列與環(huán)境變量、位置變量和預(yù)定義變量相關(guān)的表格。Shell變量定義HOME保存用戶注冊(cè)目錄的絕對(duì)途徑PATH保存用冒號(hào)分割的目錄途徑PWD當(dāng)前工作目錄的據(jù)對(duì)途徑名PS1主提醒符,特權(quán)用戶為#,普通用戶為$$0當(dāng)前shell程序的文獻(xiàn)名$#位置參數(shù)的個(gè)數(shù)$?前一個(gè)命令執(zhí)行后返回的狀態(tài)$$當(dāng)前進(jìn)程的PID3.寫出下列expr命令的輸出:exprindex“value”‘a’expr“value”:‘v.*u’expr“aaa”:‘a(chǎn)\+’expr“aaa”:‘a(chǎn)\?’expr2+3expr2+3expr2\*3expr5+`expr2+3`exprlength“operatingsystem”exprsubstrlinux2324312+356mon-numericargument16inu實(shí)驗(yàn)內(nèi)容1.編寫Shell腳本,從命令行中接受一個(gè)二元算術(shù)表達(dá)式并計(jì)算其結(jié)果。【源程序】#!/bin/bashIftest$#=3ThenCases2in+)letz=$1+$3;;?-)letz=$1-$3;;?/)letz=$1/$3;;?x|x)letz=$1*$3;; *)echo”warning-$2invalidoperator!”exit;;?Esac Echo”answerissz”ElseEcho”usage-$0value1operat(yī)orvalue2”fi【運(yùn)營(yíng)】Chmoda+xjisuan./jisuan2+32.編寫一個(gè)以文獻(xiàn)列表作為輸入的過濾器程序,規(guī)定文獻(xiàn)名具有以句點(diǎn)“.”分隔的后綴,過濾器輸出每個(gè)文獻(xiàn)的不帶句點(diǎn)和后綴的文獻(xiàn)名。【源程序】ReadflagWhiletest“$flag”DoLocation=’expr$location=1’?Basename=’exprsubstr=”$flag”1$location’Echo$basecnameReadflagdone【運(yùn)營(yíng)】Chmoda+xletter./letter3.將下面的shell腳本命名為myscript,分析其功能:count=$#cmd=echowhile[$count–gt0]docmd="$cmd\$$count"count=`expr$count-1`donee(cuò)val$cmd【命令行輸入】chmoda+xmyscript./myscriptfirstsecondthird【運(yùn)營(yíng)結(jié)果】Thirdsecondfirst【腳本功能分析】將命令行輸入的參數(shù)倒敘顯示4.設(shè)計(jì)一個(gè)程序cuts,它從標(biāo)準(zhǔn)輸入讀入數(shù)據(jù),獲取由第一個(gè)參數(shù)n和第二個(gè)參數(shù)m所限定范圍的數(shù)據(jù)(涉及這兩個(gè)字符),n和m都是整數(shù)。例如:$cuts1114Thisisatestofcutsprogram(輸入)test(顯示結(jié)果)【源程序】#!/bin/bashReadblineEcho$aline|cut-c$1-$2實(shí)驗(yàn)名稱:進(jìn)程控制與通信實(shí)驗(yàn)時(shí)間:2023年5月7日第10周星期2一、實(shí)驗(yàn)?zāi)康?加深進(jìn)程的概念理解,體會(huì)進(jìn)程創(chuàng)建過程,經(jīng)一部結(jié)識(shí)進(jìn)程的異步并發(fā)特性2,了解Linux進(jìn)程通信原理3,掌握Linux進(jìn)程控制和進(jìn)程通信相關(guān)的系統(tǒng)調(diào)用二、實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識(shí)的問題及回答)1.寫出下列系統(tǒng)調(diào)用功能:(1)fork()用于創(chuàng)建進(jìn)程(2)getpid()用于獲取當(dāng)前的進(jìn)程ID號(hào)(3)wait()用于等待子進(jìn)程結(jié)束(4)exit()用于進(jìn)程自我終止(5)pipe()用于常見無名管道(6)signal()用于在信號(hào)和信號(hào)解決函數(shù)之間建相應(yīng)關(guān)系(7)kill()用于發(fā)送信號(hào)給指定進(jìn)程2.閱讀fork系統(tǒng)調(diào)用,用偽碼寫出其實(shí)現(xiàn)流程。 Pid=fork()Ifpid為負(fù)??Print當(dāng)前進(jìn)程是子進(jìn)程Elseifpid為0 Print當(dāng)前進(jìn)程是父進(jìn)程3.圖示pipe系統(tǒng)調(diào)用生成無名管道時(shí)所涉及的數(shù)據(jù)結(jié)構(gòu)。4.在UNIX系統(tǒng)中運(yùn)營(yíng)下面程序,最多可以產(chǎn)生多少個(gè)進(jìn)程?畫出進(jìn)程家族樹。main(){fork();fork();fork();}8個(gè)5.下列程序運(yùn)營(yíng)后,a的值是多少?main(){inta,pid;a=55;pid=fork();if

(pid<

0)

{

printf("error

in

fork!");exit(0);}elseif(pid==0){sleep(5);a=99;printf(“a=%d\n”,a);sleep(5);exit(0);}else{slee(cuò)p(7);printf(“a=%d\n”,a);wait(0);}}a=99a=55;最終a=55三、實(shí)驗(yàn)內(nèi)容1.調(diào)試下面的程序,觀測(cè)也許的并發(fā)結(jié)果,給出簡(jiǎn)要分析,并畫出進(jìn)程家族樹。#include

<unistd.h>#include

<sys/types.h>#include<sys/wait.h>main

(){intstatus;

int

pid1=-1,pid2=-1,pid3=-1;?

pid1=fork();

if

(pid1

==

0)

printf("pid1=0,my

process

id

is

%d\n",getpid());

else

if

(pid1

>

0){printf("pid1>0,my

process

id

is

%d\n",getpid());pid2=fork();if

(pid2

==

0)printf("pid2=0,my

process

id

is

%d\n",getpid());

else

if

(pid2

>

0)printf("

pid2>0,my

process

id

is

%d\n",getpid());}pid3=fork();

if

(pid3

==

0)

printf("pid3=0,pid1=%d,pid2=%d,

my

process

id

is

%d\n",pid1,pid2,getpid());?

else

if

(pid3

>

0)

printf("pid3>0,pid1=%d,pid2=%d,my

process

id

is%d\n",pid1,pid2,getpid());wait(&status);exit(0);

}2.編程實(shí)現(xiàn)進(jìn)程間管道通信。規(guī)定:父子進(jìn)程共享一無名管道,兩個(gè)子進(jìn)程作為發(fā)送方分別向管道發(fā)送一行信息,父進(jìn)程先讀出子進(jìn)程P1發(fā)來的信息行,將其轉(zhuǎn)換為大寫字母輸出;再讀出子進(jìn)程P2發(fā)來的信息行,將其轉(zhuǎn)換為小寫字母輸出?!驹闯绦颉縄ntfiledes[2];Charbuffer[80];Main(){?Pipe(filedes);Charstr1[80];Charstr2[80];Intpid1,pid2,I;While((pid=fork())==-1);If(pid1==0){?Lockf(filedes[1],1,0);Printf(“child1inputString1\n”);Scanf(“%s”,str1);Write(filedes[1],str,sizeof(str1));Lockf(filedes[1],0,0);Exit(0);?}Else{?While((pid=fork())==-1)?If(pid2==0){?Lockf(filedes[1],1,0)Printf(“child2inputstring2\n”);Scanf(“%s”,str2);Write(filedes[1],str2,sizeof(stru2));Lockf(fildes[1],0,0);Exit(0);}Else{ If(waitpid(pid1,null,0)==pid1){ Read(filedes[0],buffer,80);?For(i=0;i<sizeof(str1);i++)buffer[i]=toupper(buffer[i]);Printf(“parent==child1:%s\n”,buffer);}ElsePrintf(“waitpid1error!”);If(waitpid(pid2,NULL,0)==pid2){ Read(filees[0],bufferm80); For(i=0;i<sizeof(str2);i++)? Buffer[i]=tolower(buffer[i]);??Printf(“parent==child2:%s\n”,buffer);}ElsePrintf(“waitpid2error!”);}}}【運(yùn)營(yíng)與測(cè)試】

附加題3.學(xué)習(xí)下面共享存儲(chǔ)區(qū)的內(nèi)容,并用共享存儲(chǔ)區(qū)的方式實(shí)現(xiàn)“觀測(cè)者——報(bào)告者”問題(共享的count變量存于共享存儲(chǔ)區(qū)),并驗(yàn)證“與時(shí)間有關(guān)的錯(cuò)誤”。共享存儲(chǔ)操作使得兩個(gè)或兩個(gè)以上的進(jìn)程可以共用一段物理內(nèi)存(一般情況下,兩個(gè)進(jìn)程的數(shù)據(jù)區(qū)是完全獨(dú)立的,父進(jìn)程用fork創(chuàng)建子進(jìn)程后,子進(jìn)程會(huì)復(fù)制父進(jìn)程數(shù)據(jù)到自己的數(shù)據(jù)區(qū))。(1)創(chuàng)建共享內(nèi)存#include<sys/shm.h>intshmget(key_tkey,size_tsize,intpermflags);參數(shù)key是共享內(nèi)存的標(biāo)記,size是共享內(nèi)存段的最小字節(jié)數(shù),permflags是訪問權(quán)限,值的設(shè)立同semget同樣。(2)共享內(nèi)存的控制#include<sys/shm.h>intshmctl(intshmid,intcommand,structshmid_ds*shm_stat);command可設(shè)為IPC_STAT,IPC_SET,IPC_RMID。參數(shù)shm_stat指向存放屬性的結(jié)構(gòu)體,具體內(nèi)容請(qǐng)參考手冊(cè)。(3)共享內(nèi)存的附接和斷開#include<sys/shm.h>void*shmat(intshmid,constvoid*addr,intshmflags);intshmdt(constvoid*addr);由于兩個(gè)函數(shù)需指出進(jìn)程地址空間中的地址,因此比較復(fù)雜。簡(jiǎn)化的方法是將shmat中的地址設(shè)為NULL?!驹闯绦颉俊具\(yùn)營(yíng)與測(cè)試】

實(shí)驗(yàn)名稱:虛擬存儲(chǔ)實(shí)驗(yàn)時(shí)間:2023年5月21日第12周星期2一、實(shí)驗(yàn)?zāi)康?,掌握虛擬存儲(chǔ)器的概念,理解實(shí)現(xiàn)虛擬存儲(chǔ)器的基本方法2,體會(huì)分頁(yè)存儲(chǔ)器管理中,頁(yè)面置換的過程3,進(jìn)一步結(jié)識(shí)多種頁(yè)面置換算法的實(shí)現(xiàn)機(jī)制二、實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識(shí)的問題及回答)1.描述請(qǐng)求分頁(yè)的地址轉(zhuǎn)換過程。2.解釋FIFO頁(yè)面置換算法所產(chǎn)生的Belady現(xiàn)象。Belady現(xiàn)象是指當(dāng)進(jìn)程分派的內(nèi)存塊數(shù)增長(zhǎng)時(shí),進(jìn)程缺頁(yè)率反而上升的現(xiàn)象。FIFO算法在頁(yè)面置換時(shí),總是淘汰先進(jìn)入主存的頁(yè)面,而先進(jìn)入主存的頁(yè)面并不一定是以后用不到的頁(yè)面,假如這些頁(yè)面以后需要訪問,則將產(chǎn)生缺頁(yè),因此即使分派的內(nèi)存塊數(shù)增長(zhǎng),缺頁(yè)率仍然有也許上升,這是由于使用的頁(yè)面置換算法不合理導(dǎo)致的三、實(shí)驗(yàn)內(nèi)容1.計(jì)算并輸出下列頁(yè)面置換算法在不同內(nèi)存容量(4頁(yè)至32頁(yè))下的命中率.(1)最佳置換算法(OPT)(2)先進(jìn)先出算法(FIFO)(3)最近最久未用頁(yè)面置換算法(LRU)具體規(guī)定如下:(1)通過隨機(jī)函數(shù)產(chǎn)生一個(gè)指令序列,共320條指令.指令地址的生成原則如下:1)50%的指令是順序執(zhí)行的;2)25%的指令是均勻分布在前地址部分;3)25%的指令是均勻分布在后地址部分;程序中的具體實(shí)行方法是:1)在[0,319]的指令地址之間隨機(jī)選取一起點(diǎn)地址m;2)順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;3)在前地址[0,m+1]中隨機(jī)執(zhí)行一條指令,該指令的地址為m’;4)順序執(zhí)行一條指令,即執(zhí)行地址為m’+1的指令;5)在后地址[m’+2,319]中隨機(jī)執(zhí)行一條指令;反復(fù)上述環(huán)節(jié)(1)(5),直到執(zhí)行320條指令為止.將指令序列變換成為頁(yè)地址流:設(shè):頁(yè)面大小為1k,用戶內(nèi)存容量為4頁(yè)逐步增長(zhǎng)到32頁(yè),用戶虛存容量為32k.假定在用戶虛存中,每頁(yè)存放10條指令,即320條指令在虛存中的存放方法為:第0條第9條指令在第0頁(yè);第10條第19條指令在第1頁(yè);……第310條第319條指令在第31頁(yè).按以上方式用戶指令共組成32頁(yè).據(jù)此可得出指令地址m和頁(yè)面號(hào)page以及頁(yè)內(nèi)位移量offset之間的計(jì)算公式為:page=m/10,offset=m%10.頁(yè)地址流長(zhǎng)度為320?!驹闯绦颉縄ntpage_stream[320];Intb[32];Voidran(){?Intinstruct[320];IntI,j,m,m1,m2;Srand(getpid());I=0;While(i<320){?M=rand()%320; Instruct[i]=m; I++;If(m+1)<320{ Instruct[i]=m+1;I++;}M1=read()%(m+1);Instruct[i]=m1;I++;If((m1+1)<320){ Instruct[i]=m1+1;?I++;}M1=read()%(m+1);Instruct[i]=m1;I++;If((m1+1)<320){ Instruc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論