《操作系統(tǒng)原理》實(shí)驗(yàn)報告材料_第1頁
《操作系統(tǒng)原理》實(shí)驗(yàn)報告材料_第2頁
《操作系統(tǒng)原理》實(shí)驗(yàn)報告材料_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

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

文檔簡介

1、操作系統(tǒng)原理實(shí)驗(yàn)報告書班級:學(xué)號:姓名:指導(dǎo)教師:2013-2014學(xué)年第二學(xué)期實(shí)驗(yàn)名稱:LINUX 用戶界面實(shí)驗(yàn)時間:2014年4月2_日 第1_周 星期三_一、實(shí)驗(yàn)?zāi)康?, 熟悉Linux字符操作界面,熟練掌握常用 Shell命 令。2, 熟悉Linux文本編輯方法,學(xué)會編輯軟件 VI的使 用。3, 了解Linux編譯器gcc的功能,掌握基于Linux平臺的C程序的開發(fā)二、實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識的問題及回答)1. 為什么在Linux系統(tǒng)中,諸如光盤、U盤等要先掛載而后才能使用?如何獲得U盤的設(shè) 備名?裝載點(diǎn)在文件系統(tǒng)中的位置是什么?由于文件系統(tǒng)的差異, Linux在默認(rèn)情況下并不支持軟盤,光盤

2、,U盤,所以需要通過裝在相應(yīng)盤片才可以訪問其中的數(shù)據(jù)裝載點(diǎn)是掛載文件系統(tǒng)的目錄位置2. 從虛擬機(jī)界面退出進(jìn)入 Windows OS界面的操作是 Ctrl+Alt,從 Windows OS界面進(jìn)入虛擬機(jī)界面的方法是鼠標(biāo)點(diǎn)擊虛擬機(jī)界面。3權(quán)限的含義是什么?如何使用數(shù)字法設(shè)定文件的權(quán)限?Linux系統(tǒng)中的每個文件和目錄都有相應(yīng)的訪問許可權(quán)限,訪問權(quán)限分為只讀(r),可寫(w)和可執(zhí)行三種,有三種不同類型的用戶可以對文件或者目錄進(jìn)行訪問,分別是文件所有 者(u),同組用戶(g)和其它用戶(o)。所有的文件和目錄都被創(chuàng)建他們的人所擁有。只要 你是這個文件的所有者或者你登陸為用戶,你就擁有了改變所有者,群

3、組和其他人權(quán)限的權(quán)利。使用數(shù)字法改變權(quán)限:命令格式chmod權(quán)限數(shù)值文件名說明給指定文件賦予數(shù)值所規(guī)定的權(quán)限在數(shù)字設(shè)定法中,每種權(quán)限設(shè)置均可以用數(shù)值來代表,其中0表示沒有權(quán)限,1表示可執(zhí)行權(quán)限,2表示可寫權(quán)限,4表示可讀權(quán)限,這些值之和便可以用來設(shè)定特定權(quán) 限。4.什么過濾操作?在 Linux中如何實(shí)現(xiàn)?過濾操作:將一個命令的輸出作為一個命令的輸入Linux實(shí)現(xiàn)的命令格式:命令|命令5在Linux中掛載u盤并能顯示其文檔的中文信息,所使用的掛載命令是:Moun t/dev/sdal/m nt/usb 6.什么是vi?其三種操作模式的含義是什么?給出三種工作模式間的轉(zhuǎn)換圖。命令模式:vi啟動后的

4、默認(rèn)模式,控制光標(biāo)的移動,復(fù)制刪除文字,進(jìn)入輸入模式和末行 模式輸入模式:進(jìn)行文字輸入末行模式:保存文件,退出VI三、實(shí)驗(yàn)內(nèi)容(包含實(shí)驗(yàn)所用命令或相關(guān)程序源代碼)1. shell操作命令(給出每題所用的 Shell命令或命令結(jié)果)(1 )創(chuàng)建名為stu1、stu2的2個用戶,設(shè)置密碼分別為 student1和student2 ,并將它們 設(shè)為組group1中的成員。#groupadd group1#useradd stu1 - g group1#su stulSpasswd stul回車后敲入密碼 stude nt1$exit#useradd stud2 - g groupl#su stu2$

5、passwd stu2$exit(2) 在每個用戶的主目錄下建立2個目錄,分別命名為dirl和dir2。#su stul$cd$mkdir dirl$exit#su stu2$ cd$mkdir dir2$exit(3) 查找stul用戶主目錄、下屬各子目錄的默認(rèn)存取權(quán)限,并給出結(jié)論。#su stul$cd.$ls-1用戶主目錄權(quán)限為:drwx,即目錄的用戶可讀,寫,執(zhí)行,同組和其它的用戶無任何權(quán)限#su stu'$cd$ls-1Dirl目錄權(quán)限為:drwxr-xr-x,即目錄的用戶可讀,寫,執(zhí)行(4) 調(diào)試pwd和cd命令,回答下列關(guān)于 Linux文件系統(tǒng)中目錄的有關(guān)問題。 用戶主目

6、錄的絕對路徑如何表示? /home/stu1/home/stu2 根目錄如何表示? root 和分別表示什么目錄? 子目錄,父目錄 表示什么目錄?用戶主目錄 當(dāng)前目錄如何表示?Cd(5) 新建用戶stu3,設(shè)置其密碼為student3,并將其設(shè)置為group2中成員。爾后,以stu3 登錄,在其主目錄下建立名為text的目錄,在text目錄下再建立名為 dirl的子目錄,并使其成為當(dāng)前目錄。#groupadd group2#useradd stu3 - g group2#su stu3$passwd回車后敲入密碼 student3$cd$mkdir text$mkdir dirl$cd tex

7、t/dirl(6) 使用cat>sneakers.txt命令,分析命令行cat sneakers.txt的顯示結(jié)果。$ cat>s neakers.txtbuy some sn eakersthe n go to the coffee shopthe n buy some coffAD$cat sn eakers.txt從鍵盤中創(chuàng)建一個名為sn eakers.txt文件,文件內(nèi)容為:buy some sn cakersThen go to the coffee shopThen buy some coff(7)使用上題的方法,在dirl目錄中建立home.txt文件,其內(nèi)容為:br

8、ing the coffee hometake off shoesput on sn eakersmake some coffeerelax!$cd /home/stu1/dir1$cat>home.txtBring the coffee homeTake off shoesPut on sn eakersMake some coffeeRelax!ctrl+d(8 )試寫出實(shí)現(xiàn)下列功能的shell命令: 將home.txt文件移至其上級目錄中(即 text目錄下)。$mv/home.txt 將home.txt 添加到sneakers.txt尾部形成新的文件saturday.txt 。$

9、cat home.txt>>Saturday.txt 將text目錄樹從stu3用戶主目錄下移至 stu2主目錄下?!臼褂锰貦?quán)用戶方法】su mv/home/stu3/text/home/stu2【修改目錄權(quán)限方法】#cp/home/stu3/text/home/stu2(9)試畫出上述命令后,用戶stu1、stu2和stu3主目錄中的目錄樹(3棵子樹)。2. Linux C程序開發(fā)(1)編寫Linux C程序,把一個文件的內(nèi)容復(fù)制到另一個文件中,即實(shí)現(xiàn)簡單的copy功能。要求:程序輸入的第一個參數(shù)是源文件,第二個參數(shù)是目標(biāo)文件?!驹闯绦颉?in clude<sys/type

10、s.h>#in clude<dire nt.h>#in clude<stdio.h>#in clude<crr no .h>Int main (i nt argc,char *argv)FILE *in, *out;Char ch;lf(argc!=3)Printf( “ you forgot to en ter a file name' n”);Exit(0);lf(in=fopen(argv1,” r ” )=NULLPrintf( “ can nit open outfilen ” ); Exit(O);If(out=fopen(argv

11、2, ” W )=NULLPrntf( “ can not open outfile ” ); Exit(0);While(!feof(i n)fputc(i n),out);Fclose(i n);Fclose(out);【運(yùn)行命令】#gcc - o test copy.c#./test file1.c file2.c文件的(2)編寫Linux C程序,列出stu2主目錄中的文件信息,并將其中saturday.txt權(quán)限設(shè)置為文件所有者可讀可寫、同組用戶只讀、其他用戶無權(quán)限?!驹闯绦颉?in clude<sys/types.h>#in clude<dire nt.h>

12、 #in clude<stdio.h>#in clude<crr no .h>Int main (i nt argc,char *argv)DIR *dp;Struct dire nt *dirp;Int n=0;lf(arge!=2)Printf( “ a signle argement is required” );Exit(O);If(dp=ope ndir(argv1)=NULL)Printf( “cannot open%s ” ,args1);Exit(0);While(dirp=readdir(dp)!=NULL)&&(*=50)lf(n%仁

13、=O)printf(“");N+;Printf( “ %10sn” ,dirp->d_name);System( “ chmod 640/home/stu2/text/dir1/Saturday.txt【運(yùn)行命令】#gcc - o test list.c#./test.home/stu2實(shí)驗(yàn)名稱: SHELL程序設(shè)計實(shí)驗(yàn)時間:2014 年4_月16 _日第_9_周 星期三一、實(shí)驗(yàn)?zāi)康氖煜HELL腳本編程的步驟,掌握基于Bash的Shell 腳本開發(fā)。二、實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識的問題及回答)1. Linux 系統(tǒng)默認(rèn)的shell語言是什么?欲查看該shell的版本,應(yīng)使用什么命令?

14、Bash shell$echo $BASH_VERSION2. 預(yù)習(xí)shell有關(guān)變量和參數(shù)的相關(guān)知識,回答下列問題。(1)假設(shè)用戶進(jìn)行了如下的賦值操作:$ pers on=jenny試給出下面命令的輸出結(jié)果。1)echo personperson2)echo $pers onjenny3)echo $person '$person4)echo“$person ”jenny(2)填充下列與環(huán)境變量、位置變量和預(yù)定義變量相關(guān)的表格。Shell變量定義HOME保存用戶注冊目錄的絕對路徑PATH保存用冒號分割的目錄路徑PWD當(dāng)前工作目錄的據(jù)對路徑名PS1主提示符,特權(quán)用戶為 #,普通用戶為$

15、0當(dāng)前shell程序的文件名$#位置參數(shù)的個數(shù)$?前一個命令執(zhí)行后返回的狀態(tài)$當(dāng)前進(jìn)程的PID寫出下列expr命令的輸出:(1)expr index“ value ” a'(2)a.»exprvalue:v.*u(3)a?expraaa : a+ '(4)a?expraaa : a?'(5)expr 2+3(6)expr 2 + 3(7)expr 2 * 3(8) expr 5 + 'expr 2 + 3'(9) expr len gth“ operat ing system ”(10) expr substr linux 2 32 4 3 1

16、2+35 6 mon-nu meric argume nt 16 inu三、實(shí)驗(yàn)內(nèi)容1 編寫Shell腳本,從命令行中接收一個二元算術(shù)表達(dá)式并計算其結(jié)果?!驹闯绦颉?!/bi n/bashIftest $#=3The nCase s2 in+)let z=$1+$3;-)let z=$1-$3;/)let z=$1/$3;x|x)let z=$1*$3;*)echo” warning -$2 in valid operator!” exitEsacEcho”an swer is szElseEcho” usage-$0 value1 operator value2fi【運(yùn)行】Chmod a+x

17、 jisua n./jisuan 2+3分隔的后綴,2 編寫一個以文件列表作為輸入的過濾器程序,要求文件名含有以句點(diǎn) 過濾器輸出每個文件的不帶句點(diǎn)和后綴的文件名?!驹闯绦颉縍ead flagWhile test “ $flag ”DoLocation=' expr $location=1'Basename= expr substr= ” $flag ”1 $location 'Echo $basec nameRead flagdone【運(yùn)行】Chmod a+x letter./letter3. 將下面的shell腳本命名為myscript,分析其功能: coun t=$

18、#cmd=echowhile $count- gt 0 docmd="$cmd $cou nt"coun t='expr $co unt - 1'doneeval $cmd【命令行輸入】chmod a+x myscript./myscript first sec ond third【運(yùn)行結(jié)果】Third sec ond first【腳本功能分析】將命令行輸入的參數(shù)倒敘顯示4. 設(shè)計一個程序cuts ,它從標(biāo)準(zhǔn)輸入讀入數(shù)據(jù),獲取由第一個參數(shù)n和第二個參數(shù) m所限定范圍的數(shù)據(jù)(包括這兩個字符),n和m都是整數(shù)。例如:$ cuts 11 14This is a t

19、est of cuts program (輸入)test(顯示結(jié)果)【源程序】#!/bi n/bashRead bli neEcho $aline |cut-c $1-$2實(shí)驗(yàn)名稱:進(jìn)程控制與通信實(shí)驗(yàn)時間:2014年4月30日第11周星期三一、實(shí)驗(yàn)?zāi)康?加深進(jìn)程的概念理解,體會進(jìn)程創(chuàng)建過程,經(jīng)一部 認(rèn)識進(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ù)備知識的問題及回答)1 寫出下列系統(tǒng)調(diào)用功能:(1) fork ()用于創(chuàng)建進(jìn)程(2) getpid ()用于獲取當(dāng)前的進(jìn)程ID號(3) wait ()用于等待子進(jìn)程結(jié)束(4) ex

20、it ()用于 進(jìn)程自我終止(5) pipe ()用于常見無名管道(6) signal ()用于 在信號和信號處理函數(shù)之間建對應(yīng)關(guān)系(7) kill ()用于發(fā)送信號給指定進(jìn)程 2閱讀fork系統(tǒng)調(diào)用,用偽碼寫出其實(shí)現(xiàn)流程。Pid=fork()If pid 為負(fù)Print當(dāng)前進(jìn)程是子進(jìn)程Else if pid 為 0Print當(dāng)前進(jìn)程是父進(jìn)程3圖示pipe系統(tǒng)調(diào)用生成無名管道時所涉及的數(shù)據(jù)結(jié)構(gòu)。4.在UNIX系統(tǒng)中運(yùn)行下面程序,最多可以產(chǎn)生多少個進(jìn)程?畫出進(jìn)程家族樹。main () fork();fork();fork();5. 下列程序運(yùn)行后,a的值是多少?main () int a,pid

21、;a=55;pid=fork();in fork !"); exit(0); “ a=%dn” ,a);sleep(5);if (pid< 0)prin tf("errorelse if(pid=0) sleep(5); a=99; printf( exit(O);else sleep(7);printf(“a=%df ,a);wait(0);a=99 a=55;最終 a=55三、實(shí)驗(yàn)內(nèi)容1調(diào)試下面的程序,觀察可能的并發(fā)結(jié)果,給出簡要分析,并畫出進(jìn)程家族樹。#in clude<uni std.h>#in clude<sys/types.h>#i

22、n clude<sys/wait.h>main () 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();elseif (pid1 >0) prin tf("pid1>0,myprocess idis%dn ”,getpid();pid2=fork();if (pid2 =0)prin tf("pid2=0, myprocess idis %dn",getpid

23、();elseif (pid2 >0)printf("pid2>0, myprocessid is%dn",getpid();pid3=fork();if (pid3 = 0)printf("pid3=0,pid1=%d,pid2=%d,my processid is%dn",pid1,pid2,getpid();elseif (pid3 > 0)prin tf("pid3>0,pid1=%d,pid2=%d,my process id is %dn”,pid1,pid2,getpid();wait(&statu

24、s);exit(0);2 編程實(shí)現(xiàn)進(jìn)程間管道通信。要求:父子進(jìn)程共享一無名管道,兩個子進(jìn)程作為發(fā)送方分別向管道發(fā)送一行信息,父進(jìn)程先讀出子進(jìn)程 P1發(fā)來的信息行,將其轉(zhuǎn)換為大寫字母輸出;再讀出子進(jìn)程P2發(fā)來的信息行,將其轉(zhuǎn)換為小寫字母輸出。【源程序】Int filedes2;Char buffer80;Ma in ()Pipe(filedes);Char str180;Char str280;In t pid1,pid2,l;While(pid=fork()=-1);If(pid1=0)Lockf(filedes1,1,0);Printf( “ child1 in put Stri ng1n”

25、);Scanf( “ %s ,str1);Write(filedes1,str,sizeof(str1);Lockf(filedes1,0,0);Exit(O);ElseWhile(pid=fork()=-1)If(pid2=0)Lockf(filedes1,1,0)Printf( “ child2 in put stri ng2n” );Scanf( “ s,sM2);Write(filedes1,str2,sizeof(stru2); Lockf(fildes1,0,0);Exit(0);ElseIf(waitpid(pid1, null,O)=pid1) Read(filedes0,bu

26、ffer,80);For(i=0;i<sizeof(str1);i+)bufferi=toupper(bufferi); Printf(“ parent=child1:%sn” ,buffer);ElsePrintf( “waitpid1 error! ”); lf(waitpid(pid2,NULL,0)=pid2) Read(filees0,bufferm80);For(i=0;i<sizeof(str2);i+)Bufferi=tolower(bufferi);,buffer);Printf(“ pare nt=child2:%snElsePrintf( “ waitpid2

27、 error! ”);【運(yùn)行與測試】1th ivtnlll 默* 沖 it*1 山y(tǒng)iCU.rrwi 申;xI IwvI ilh i>i nilf . / ic mifiiHJl itr ingli kirr yuu嚴(yán)詐注t Lh IdL: 1UJ£V11ehild2 呷uh t.c rl»pa fen. I-1 hi Id? w Imi!附加題3 學(xué)習(xí)下面共享存儲區(qū)的內(nèi)容,并用共享存儲區(qū)的方式實(shí)現(xiàn)“觀察者一一報告者”問題 (共享的count變量存于共享存儲區(qū)),并驗(yàn)證“與時間有關(guān)的錯誤”。共享存儲操作使得兩個或兩個以上的進(jìn)程可以共用一段物理內(nèi)存(一般情況下,兩個進(jìn)程

28、的數(shù)據(jù)區(qū)是完全獨(dú)立的,父進(jìn)程用fork創(chuàng)建子進(jìn)程后,子進(jìn)程會復(fù)制父進(jìn)程數(shù)據(jù)到自己的數(shù)據(jù)區(qū))。(1)創(chuàng)建共享內(nèi)存#in clude<sys/shm.h>int shmget(key_t key,size_t size, int permflags);參數(shù)key是共享內(nèi)存的標(biāo)識,size是共享內(nèi)存段的最小字節(jié)數(shù), permflags是訪問權(quán)限,值 的設(shè)置同semget 一樣。(2 )共享內(nèi)存的控制#in clude<sys/shm.h>int shmctl(i nt shmid, int comma nd, struct shmid_ds *shm_stat);comma

29、nd可設(shè)為IPC_STAT,IPC_SET,IPC_RMID。參數(shù)shm_stat指向存放屬性的結(jié)構(gòu)體,具體內(nèi)容請參考手冊。(3 )共享內(nèi)存的附接和斷開# include<sys/shm.h>void *shmat(int shmid, const void *addr, int shmflags);int shmdt(c onst void *addr);由于兩個函數(shù)需指出進(jìn)程地址空間中的地址,因此比較復(fù)雜。簡化的方法是將shmat中的地址設(shè)為NULL【源程序】【運(yùn)行與測試】實(shí)驗(yàn)名稱:虛擬存儲實(shí)驗(yàn)時間:2014年4月_30_日第_11_周星期三一、實(shí)驗(yàn)?zāi)康?, 掌握虛擬存儲器的概

30、念,理解實(shí)現(xiàn)虛擬存儲器的基 本方法2, 體會分頁存儲器管理中,頁面置換的過程3,進(jìn)一步認(rèn)識多種頁面置換算法的實(shí)現(xiàn)機(jī)制二、實(shí)驗(yàn)預(yù)習(xí)(預(yù)備知識的問題及回答)1 描述請求分頁的地址轉(zhuǎn)換過程。2.解釋FIFO頁面置換算法所產(chǎn)生的Belady現(xiàn)象。Belady現(xiàn)象是指當(dāng)進(jìn)程分配的內(nèi)存塊數(shù)增加時,進(jìn)程缺頁率反而上升的現(xiàn)象。FIFO算法在頁面置換時,總是淘汰先進(jìn)入主存的頁面,而先進(jìn)入主存的頁面并不一定是以后用不到的頁 面,如果這些頁面以后需要訪問,則將產(chǎn)生缺頁,因此即使分配的內(nèi)存塊數(shù)增加,缺頁率依然有可能上升,這是由于使用的頁面置換算法不合理導(dǎo)致的三、實(shí)驗(yàn)內(nèi)容1計算并輸出下列頁面置換算法在不同內(nèi)存容量(4頁

31、至32頁)下的命中率.(1)最佳置換算法(OPT)先進(jìn)先出算法(FIFO)(3)最近最久未用頁面置換算法(LRU)具體要求如下:(1)通過隨機(jī)函數(shù)產(chǎn)生一個指令序列,共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'

32、; +2,319中隨機(jī)執(zhí)行一條指令;重復(fù)上述步驟(1)(5),直到執(zhí)行320條指令為止.將指令序列變換成為頁地址流:設(shè):頁面大小為1k,用戶內(nèi)存容量為4頁逐步增加到32頁,用戶虛存容量為 32k. 假定在用戶虛存中,每頁存放10條指令,即320條指令在虛存中的存放方法為 :第0條第9條指令在第0頁;第10條第19條指令在第1頁;第310條第319條指令在第31頁.按以上方式用戶指令共組成32頁.據(jù)此可得出指令地址m和頁面號page以及頁內(nèi)位移量offset 之間的計算公式為:page=m/10,offset=m%10.頁地址流長度為 320?!驹闯绦颉縄n t page_stream320;I

33、nt b32;Void ran ()Int in struct320;Int I,j,m,m1,m2;Sran d(getpid();1=0;While(i<320)M=ra nd()%320;In structi=m;I+; lf(m+1)<320In structi=m+1;I+;M1= read()%(m+1);In structi=m1;I+;If(m1+1)<320)In structi=m1+1;I+;M1= read()%(m+1);In structi=m1;I+;If(m1+1)<320)In structi=m1+1; I+;If(m2+2)<320)M2=m1+2+ra nd()%(320-m1-2); In structi=m2;I+;Page_streami=i nstructi/10;Int in _block(i nt page,i nt block_co unt)Int flag,k;Flag=0;For(k=0;k<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論