![揚州大學操作系統(tǒng)實驗報告書綜述_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/e9aeed4a-a161-4efe-9d92-c18e830861ea/e9aeed4a-a161-4efe-9d92-c18e830861ea1.gif)
![揚州大學操作系統(tǒng)實驗報告書綜述_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/e9aeed4a-a161-4efe-9d92-c18e830861ea/e9aeed4a-a161-4efe-9d92-c18e830861ea2.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、揚州大學操作系統(tǒng)實驗報告書 綜述2操作系統(tǒng)原理實驗報告書班級: 軟件1102學號:_姓名:_3指導教師:徐向英_2012-2013學年第二學期實驗名稱:LINUX用戶界面_實驗時間:2013年_4_月_9_日 第_6_周 星期二一、實驗目的1,熟悉Linux字符操作界面,熟練掌握常用Shell命令。2,熟悉Linux文本編輯方法,學會編輯軟件VI的使 用。3,了解Linux編譯器gcc的功能,掌握基于Linux平臺的C程序的開發(fā)二、 實驗預習(預備知識的問題及回答)1.為什么在Linux系統(tǒng)中,諸如光盤、U盤等 要先掛載而后才能使用?如何獲得U盤的設備 名?裝載點在文件系統(tǒng)中的位置是什么?由于
2、文件系統(tǒng)的差異,Linux在默認情況下并 不支持軟盤,光盤,U盤,所以需要通過裝在相 應盤片才可以訪問其中的數據裝載點是掛載文件系統(tǒng)的目錄位置42.從虛擬機界面退出進入Windows OS界面的操作是Ctrl+Alt_,從Windows OS界面進入虛擬機界面的方法是鼠標點擊虛擬機界面_ 。3.權限的含義是什么?如何使用數字法設定文 件的權限?Linux系統(tǒng)中的每個文件和目錄都有相應的訪 問許可權限,訪問權限分為只讀(r),可寫(w)和可執(zhí)行三種,有三種不同類型的用戶可以對文 件或者目錄進行訪問,分別是文件所有者(u), 同組用戶(g)和其它用戶(o)。所有的文件和目錄 都被創(chuàng)建他們的人所擁有
3、。只要你是這個文件的 所有者或者你登陸為用戶,你就擁有了改變所有者,群組和其他人權限的權利。使用數字法改變權限:命令格式chmod權限數值文件名說明給指定文件賦予數值所規(guī)定的權限在數字設定法中, 每種權限設置均可以用 數值來代表,其中0表示沒有權限,1表示可執(zhí) 行權限,2表示可寫權限,4表示可讀權限,這 些值之和便可以用來設定特定權限。4.什么過濾操作?在Linux中如何實現? 過濾操作:將一個命令的輸出作為一個命令 的輸入Linux實現的命令5格式:命令|命令5.在Linux中掛載u盤并能顯示其文檔的中文信息,所使用的掛載命令是:Moun t/dev/sdal/mn t/usb _6.什么是
4、vi?其三種操作模式的含義是什么? 給出三種工作模式間的轉換圖。命令模式:vi啟動后的默認模式,控制光標的 移動,復制刪除文字,進入輸入模式和末行模式輸入模式:進行文字輸入末行模式:保存文件,退出VI三、實驗內容(包含實驗所用命令或相關程序源代 碼)1. shell 操作命令(給出每題所用的 Shell 命令或命令結果)6(1)創(chuàng)建名為stul、stu2的2個用戶,設置密碼 分別為student1和student2,并將它們設為 組groupl中的成員。#groupadd groupl#useradd stul -g groupl#su stulSpasswd stul回車后敲入密碼stude
5、nt1$exit#useradd stud2 -g groupl#su stu2$passwd stu2$exit(2)在每個用戶的主目錄下建立2個目錄,分 別命名為dirl和dir2。#su stul$cd$mkdir dirl$exit#su stu2$ cd7$mkdir dir2$exit(3)查找stul用戶主目錄、下屬各子目錄的默 認存取權限,并給出結論。#su stul$cd.$ls-1用戶主目錄權限為:drwx-,即目錄的用戶可讀,寫,執(zhí)行,同組和其它的用戶無任何權限#su stu$cd$ls-1Dirl目錄權限為:drwxr-xr-x,即目錄的用戶可 讀,寫,執(zhí)行(4)調試p
6、wd和cd命令,回答下列關于Linux文件系統(tǒng)中目錄的有關問題。1用戶主目錄的絕對路徑如何表示?/home/stu1/home/stu282根目錄如何表示?/root3.和.分別表示什么目錄? 子目錄父目錄4表示什么目錄? _用戶主目錄5當前目錄如何表示? _Cd(5)新建用戶stu3,設置其密碼為student3,并 將其設置為group2中成員。爾后,以stu3登錄,在其主目錄下建立名為text的目錄, 在text目錄下再建立名為dir1的子目錄,并 使其成為當前目錄。#groupadd group2#useradd stu3 -g group2#su stu3$passwd回車后敲入密碼
7、stude nt3$cd$mkdir text$mkdir dirl$cd text/dirl9(6)使用catsneakers.txt命令,分析命令行catsneakers.txt的顯示結果。$ cats neakers.txtbuy some sn eakersthe n go to the coffee shopthe n buy some coffAD$cat sn eakers.txt從鍵盤中創(chuàng)建一個名為sncakers.txt文件,文件內容為:buy some sncakersThe n go to the coffee shopThe n buy some coff(7)使用上題
8、的方法,在dir1目錄中建立home.txt文件,其內容為:bring the coffee home take off shoes put on10sn eakers make some coffeerelax!$cd /home/stul/dirl $cathome.txtBring the coffee homeTake off shoesPut on sn eakersMake some coffeeRelax!ctrl+d(8)試寫出實現下列功能的shell命令:1將home.txt文件移至其上級目錄中(即text目錄下)。$mv/home.txt2將home.txt添加到sneak
9、ers.txt尾部形 成新的文件saturday.txt。$cat cn eakers.txAasturday.txt11$cat home.txtSaturday.txt3將text目錄樹從stu3用戶主目錄下移 至stu2主目錄下?!臼褂锰貦嘤脩舴椒ā縮umv/home/stu3/text/home/stu2【修改目錄權限方法】#cp/home/stu3/text/home/stu2(9)試畫出上述命令后, 用戶stu1、stu2和stu3主目錄中的目錄樹(3棵子樹)。122. Linux C 程序開發(fā)(1)編寫Linux C程序,把一個文件的內容復 制到另一個文件中,即實現簡單的copy
10、功 能。要求:程序輸入的第一個參數是源文 件,第二個參數是目標文件。【源程序】13#in clude#in cludevdire nt.h#in clude#in cludevcrr no .hInt main (i nt argc,char *argv)FILE *i n,*out;Char ch;lf(argc!=3)Prin tf( you forgot to en ter a file name n”;Exit(0);lf(in=fopen(argv1,”)=NULLPrintf( can nit open outfilen”;Exit(0);lf(out=fopen(argv2, w
11、)=NULLPrntf( can not open outfile);Exit(0);14While(!feof(i n) )fputc(i n),out);Fclose(i n);Fclose(out);15【運行命令】#gcc test copy.c#./test filel.c file2.c(2)編寫Linux C程序, 列出stu2主目錄中的 文件信息,并將其中saturday.txt文件的權 限設置為文件所有者可讀可寫、同組用戶 只讀、其他用戶無權限?!驹闯绦颉?in clude#in clude#in clude#in cludeInt main (i nt argc,char
12、*argv)DIR *dp;16Struct dire nt *dirp;Int n=0;lf(arge!=2)Printf( a signle argement is required”;Exit(O);lf(dp=opendir(argv1)=NULL)Printf( can not open%s”,args1);Exit(0);While(dirp=readdir(dp)!=NULL)&(nd_name);17System( Chmod640/home/stu2/text/dir1/Saturday.txt”18【運行命令】#gcc -o test list.c#./test.h
13、ome/stu2實驗名稱:SHELL程序設計_實驗時間:2013年4月11_日 第6周 星 期_4一、實驗目的熟悉SHELL腳本編程的步驟, 掌握基于Bash的Shel腳本開發(fā)。19二、實驗預習(預備知識的問題及回答)1. Linux系統(tǒng)默認的shell語言是什么?欲查看 該shell的版本,應使用什么命令?Bash shell$echo $BASH_VERSION2.預習shell有關變量和參數的相關知識,回 答下列問題。(1)假設用戶進行了如下的賦值操作:$ pers on=jenny試給出下面命令的輸出結果。1)_ echo person _person2)- echo $person
14、-jenny203) echo $pers on_ $person4) echo $person” _ jenny(2)填充下列與環(huán)境變量、位置變量和預定義 變量相關的表格。Shell變量定義HOME保存用戶注冊目錄的 絕對路徑PATH保存用冒號分割的目 錄路徑PWD當前工作目錄的據對 路徑名PS1主提示符,特權用戶 為#,普通用戶為$0當前shell程序的文件 名$#位置參數的個數$?前一個命令執(zhí)行后返 回的狀態(tài)$當前進程的PID3寫出下列expr命令的輸出:(1)expr in dexvalue”a21(2)expr value” :v.*u22(3)expr 力aaa:a+expr 力a
15、aa:a?(5)expr2+3(6)expr2 +3(7)expr2 *3(8)expr5 +expr 2 + 3(9)exprlen gthoperati ngsystem(10)exprsubstr linux 2 324312+356 mon-nu meric argume nt 16 inu三、實驗內容1.編寫Shell腳本,從命令行中接收一個二元算 術表達式并計算其結果?!驹闯绦颉?!/bi n/bashIftest $#=3The nCase s2 in+)let z=$1 +$3;-)let z=$1-$3;23/)let z=$1/$3;x|x)let z=$1*$3;*)ec
16、ho ” warni ng -$2 in valid operator! exit;EsacEcho”a nswer is sz”ElseEcho” usage - $0 value1 operator value2”fi【運行】Chmod a+x jisua n./jisua n 2+32.編寫一個以文件列表作為輸入的過濾器程序, 要求文件名含有以句點“”分隔的后綴,過濾 器輸出每個文件的不帶句點和后綴的文件名?!驹闯绦颉縍ead flag24While test $flag”DoLocati on=xpr $locati on=1Base name=xprsubstr= ”$flag”1$
17、locationEcho $basec nameRead flagdone25【運行】Chmod a+x letter./letter3.將下面的shell腳本命名為myscript,分析其 功能:coun t=$#cmd=echowhile $cou ntt 0 docmd=$cmd $co un tcoun t=expr $co unt - 1 doneeval $cmd【命令行輸入】26chmod a+x myscript./myscript first sec ond third【運行結果】Third sec ond first【腳本功能分析】將命令行輸入的參數倒敘顯示4.設計一個程序
18、cuts,它從標準輸入讀入數據, 獲取由第一個參數n和第二個參數m所限定范 圍的數據(包括這兩個字符),n和m都是整數。 例如:$ cuts 1114This is a test of cuts program (輸入)test(顯示結果)【源程序】#!/bi n/bashRead bli ne27Echo $ali ne |cut-c $1-$2實驗名稱:講程控制與通信_實驗時間:2013年5月7_日 第_10_周星期2一、實驗目的1加深進程的概念理解,體會進程創(chuàng)建過程,經一部認識進程的異步并發(fā)特征2,了解Linux進程通信原理3,掌握Linux進程控制和進程通信相關的系統(tǒng)調用28二、實驗預
19、習(預備知識的問題及回答)1寫出下列系統(tǒng)調用功能:(1)fork()用于(2)getpid()用于創(chuàng)建講程獲取當前的進程ID號(3)wait()用于等待子講程結束(4)exit()用于講稈自我終止(5)pipe()用于常見無名管道(6)signal()用干在信號和信號處理函數之間建對應關系(7)kill()用于發(fā)送信號給指定講程2閱讀fork系統(tǒng)調用,用偽碼寫出其實現流程Pid=fork()If pid為負Print當前進程是子進程Else if pid為0Print當前進程是父進程293.圖示pipe系統(tǒng)調用生成無名管道時所涉及的數據結構4.在UNIX系統(tǒng)中運行下面程序,最多可以產 生多少個
20、進程?畫出進程家族樹。main () fork();fork();fork();5下列程序運行后,a的值是多少?main () int a,pid;a=55;斤沁耳|030pid=fork();if (pid 0) prin tf(error in fork !);exit(O); 31else if(pid=O) sleep(5); a=99; printf( else sleep(7);printf(“a二d ,a);wait(O);a=99 a=55;最終a=55三、實驗內容1.調試下面的程序, 觀察可能的并發(fā)結果, 給 出簡要分析,并畫出進程家族樹。#i nclude #in elud
21、e #i ncludemain () int status;int pid1=-1,pid2=-1,pid3=-1;pid 1=fork();if (pid1 = 0)prin tf(pid1=0,my process id is%dn,getpid();else if (pid1 0) printf(pid10,my process id is %dn,getpid();n”,a)a=eep(5);exit(O);32pid2=fork();if (pid2 = 0)prin tf(pid2=0,my process id is %dn,getpid();else if (pid2 0) p
22、rintf( pid20, myprocess id is %dn ,getpid();pid3=fork();if (pid3 = 0)prin tf(pid3=0,pid 1= %d,pid2=%d, my process id is %dn ,pid1,pid2,getpid();else if (pid3 0)prin tf(pid30,pid1=%d,pid2=%d, my process id is%dn,pid1,pid2,getpid( );wait (&status); exit(0);332.編程實現進程間管道通信。要求:父子進程共享一無名管道,兩個子進 程作為發(fā)送
23、方分別向管道發(fā)送一行信息, 父 進程先讀出子進程P1發(fā)來的信息行,將其34轉換為大寫字母輸出;再讀出子進程 來的信息行,將其轉換為小寫字母輸出【源程序】Int filedes2;Char buffer80;Mai n()Pipe(filedes);Char str180;Char str280;Int pid1,pid2,l;While(pid=fork()=-1);If(pidl=O)Lockf(filedes1,1,0);Printf( Child1 input String1n”;Scanf( %s”str1);Write(filedes1,str,sizeof(str1);Lockf(
24、filedes1,0,0);P2發(fā)35Exit(O);ElseWhile(pid=fork()=-1)lf(pid2=0)Lockf(filedes1,1,0)Printf( Child2 in put stri ng2n”;Scanf( %s”str2);Write(filedes1,str2,sizeof(stru2);Lockf(fildes1,0,0);Exit(0);ElseIf(waitpid(pid1,null,0)=pid1) Read(filedes0,buffer,80);For(i=0;isizeof(str1);i+)bufferi=toupper(bufferi);P
25、rintf( parent=child1:%sn ” ,buffer); Else36Printf( waitpid1 error!”;lf(waitpid(pid2,NULL,0)=pid2)Read(filees0,bufferm80);For(i=0;isizeof(str2);i+)Bufferi=tolower(bufferi);Printf( parent=child2:%sn ”,buffer); ElsePrintf( Waitpid2 error!”;37【運行與測試】Ii ihivihdll t -o ir -1山邛n liMt I it h lyinsjv( (/ let
26、 IH| inpul ilriitfli Ic rrciup3otL-hildl IUKEK11ch tld2 iiipu i i er m2HE I UM Ipj rpfl l- - rhi lek iv irw!附加題383.學習下面共享存儲區(qū)的內容,并用共享存 儲區(qū)的方式實現“觀察者報告者問題(共享的count變量存于共享存儲區(qū)), 并驗證與時間有關的錯誤”。共享存儲操作使得兩個或兩個以上的進程可以 共用一段物理內存(一般情況下,兩個進程的數 據區(qū)是完全獨立的,父進程用fork創(chuàng)建子進程后,子進程會復制父進程數據到自己的數據區(qū))。(1) 創(chuàng)建共享內存#in cludeint shmget
27、(key_t key,size_t size, int permflags);參數key是共享內存的標識,size是共享內存段 的最小字節(jié)數,permflags是訪問權限, 值的設 置同semget一樣。(2) 共享內存的控制#in cludeint shmctl(i nt shmid, int comma nd, structshmid_ds *shm_stat);comma nd可設為IPC_STAT,IPC_SET,IPC_RMID。參數shm_stat指向存放屬性的結構體,具體內容請參考手冊。39(3) 共享內存的附接和斷開#includevoid *shmat(int shmid,
28、const void *addr, intshmflags);int shmdt(c onst void *addr);由于兩個函數需指出進程地址空間中的地址,因 此比較復雜。簡化的方法是將shmat中的地址設 為NULL?!驹闯绦颉?0【運行與測試】實驗名稱:_虛擬存儲實驗時間:2013年5月2日 第12周期2一、實驗目的1,掌握虛擬存儲器的概念,理解實現虛擬存儲器的基 本方法2,體會分頁存儲器管理中,頁面置換的過程3,進一步認識多種頁面置換算法的實現機制41二、實驗預習(預備知識的問題及回答)1描述請求分頁的地址轉換過程。422.解釋FIFO頁面置換算法所產生的Belady現 象。Bela
29、dy現象是指當進程分配的內存塊數增加時, 進程缺頁43率反而上升的現象。FIFO算法在頁面 置換時,總是淘汰先進入主存的頁面,而先進入 主存的頁面并不一定是以后用不到的頁面,如果 這些頁面以后需要訪問,則將產生缺頁,因此即 使分配的內存塊數增加,缺頁率依然有可能上 升,這是由于使用的頁面置換算法不合理導致的三、實驗內容1.計算并輸出下列頁面置換算法在不同內存容 量(4頁至32頁)下的命中率.最佳置換算法(OPT)(2)先進先出算法(FIFO)(3)最近最久未用頁面置換算法(LRU)具體要求如下:(1)通過隨機函數產生一個指令序列,共320條 指令指令地址的生成原則如下:1)50%的指令是順序執(zhí)
30、行的;442) 25%的指令是均勻分布在前地址部分;3) 25%的指令是均勻分布在后地址部分;程序中的具體實施方法是:1)在0,319的指令地址之間隨機選取一起點 地址m;2)順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指 令;3)在前地址0,m+1中隨機執(zhí)行一條指令,該 指令的地址為m;4)順序執(zhí)行一條指令,即執(zhí)行地址為m +1的 指令;5)在后地址m+2,319中隨機執(zhí)行一條指 令;重復上述步驟(1) (5),直到執(zhí)行320條指令為止.將指令序列變換成為頁地址流:設:頁面大小為1k,用戶內存容量為4頁逐步增 加到32頁,用戶虛存容量為32k.假定在用戶虛存中,每頁存放10條指令,即320條指令在虛存中的存放方法為:第0條第9條指令在第0頁;第10條第19條指令在第1頁;第 310 條第 319 條指令在第 31 頁.按以上方式用戶指令共組成32頁.據此可得出45指令地址m和頁面號page以及頁內位移量offset之 間 的計 算 公式 為:page=m/10,offset=m%10.頁地址流長度為320。【源程序】Int page_stream320;Int b32;Void ran()Int instruct320;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游用地居間合同范本
- 會議室簡易改造合同樣本
- 家電維修居間服務協議
- 保齡球館裝修設計合同模板
- 醫(yī)藥產品包船運輸協議范本
- 休閑娛樂場所裝修解約協議
- 冰場裝修施工合同模板
- 辦公室改造貸款合同
- 預制砼板施工方案
- 浙江商場宣傳欄施工方案
- 檔案工作管理情況自查表
- 初中英語人教版 八年級上冊 單詞默寫表 漢譯英
- pcs-9611d-x說明書國內中文標準版
- 無人機航拍技術理論考核試題題庫及答案
- T∕CMATB 9002-2021 兒童肉類制品通用要求
- 工序勞務分包管理課件
- 工藝評審報告
- 中國滑雪運動安全規(guī)范
- 畢業(yè)論文-基于51單片機的智能LED照明燈的設計
- 酒廠食品召回制度
- 中職數學基礎模塊上冊第一章《集合》單元檢測試習題及參考答案
評論
0/150
提交評論