實(shí)驗(yàn)三、進(jìn)程通信_(tái)第1頁(yè)
實(shí)驗(yàn)三、進(jìn)程通信_(tái)第2頁(yè)
實(shí)驗(yàn)三、進(jìn)程通信_(tái)第3頁(yè)
實(shí)驗(yàn)三、進(jìn)程通信_(tái)第4頁(yè)
實(shí)驗(yàn)三、進(jìn)程通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三、進(jìn)程通信(一)管道及共享內(nèi)存一、實(shí)驗(yàn)?zāi)康?)加深對(duì)管道通信的了解2)掌握利用管道進(jìn)行通信的程序設(shè)計(jì)3)了解共享內(nèi)存通信的程序設(shè)計(jì)方法4)了解和熟悉Linux支持的共享存儲(chǔ)區(qū)機(jī)制二、實(shí)驗(yàn)內(nèi)容任務(wù)一、(1)閱讀以上父子進(jìn)程利用管道進(jìn)行通信的例子(例1),寫(xiě)出程序的運(yùn)行結(jié)果 并分析。(2)編寫(xiě)程序:父進(jìn)程利用管道將一字符串交給子進(jìn)程處理。子進(jìn)程讀字符串, 將里面的字符反向后再交給父進(jìn)程,父進(jìn)程最后讀取并打印反向的字符串。任務(wù)二、(1)閱讀例2的程序,運(yùn)行一次該程序,然后用ipcs命令查看系統(tǒng)中共享存儲(chǔ) 區(qū)的情況,再次執(zhí)行該程序,再用ipcs命令查看系統(tǒng)中共享內(nèi)存的情況,對(duì)兩

2、次的結(jié)果進(jìn)行比較,并分析原因。最后用ipcrm命令刪除自己建立的共享存儲(chǔ)區(qū)。(有關(guān)ipcs和ipcrm介紹見(jiàn)后面一頁(yè))(2)每個(gè)同學(xué)登陸兩個(gè)窗口,先在一個(gè)窗口中運(yùn)行例3程序1(或者只登陸一 個(gè)窗口,先在該窗口中以后臺(tái)方式運(yùn)行程序1),然后在另一個(gè)窗口中運(yùn)行例3 程序2,觀察程序的運(yùn)行結(jié)果并分析。運(yùn)行結(jié)束后可以用ctrl+c結(jié)束程序1的運(yùn) 行。(3)編寫(xiě)程序:使用系統(tǒng)調(diào)用shmget(),shmat(),shmdt(),shmctl(),編制程序。 要求在父進(jìn)程中生成一個(gè)30字節(jié)長(zhǎng)的私有共享內(nèi)存段。接下來(lái),設(shè)置一個(gè)指向 共享內(nèi)存段的字符指針,將一串大寫(xiě)字母寫(xiě)入到該指針指向的存貯區(qū)。調(diào)用fork(

3、) 生成子進(jìn)程,讓子進(jìn)程顯示共享內(nèi)存段中的內(nèi)容。接著,將大寫(xiě)字母改成小寫(xiě), 子進(jìn)程修改共享內(nèi)存中的內(nèi)容。之后,子進(jìn)程將脫接共享內(nèi)存段并退出。父進(jìn)程 在睡眠5秒后,在此顯示共享內(nèi)存段中的內(nèi)容(此時(shí)已經(jīng)是小寫(xiě)字母)。三、代碼及運(yùn)行結(jié)果分析(1)閱讀以上父子進(jìn)程利用管道進(jìn)行通信的例子(例1),寫(xiě)出程序的運(yùn)行結(jié)果并分 析實(shí)驗(yàn)代碼:#includemain()( int x,fd;char buf30,s30;pipe(fd);while (x=fork()=-1);if (x=0)close(fd0);printf(Child Process!n);strcpy(buf,This is an exam

4、plen);write(fd1,buf,30);exit(0);elseclose(fd1);printf(Parent Process!n);read(fd0,s,30);printf(%sn,s);運(yùn)行結(jié)果:-Telnet 132. 168. 0. 249eQG2023S3 jfcc tj_c o sjEBGC202a8 .ZsjNeu 23L, 403C upitten & QG 2 02 08lo erm lho t CcBG62O20S(?lo ca lhost Clilld Proicess ? Parent Frocesst This is an example20208(? l

5、ocalhost分析:調(diào)用pipe(fd);創(chuàng)建一個(gè)管道后,接著調(diào)用fork()函數(shù)產(chǎn)生兩個(gè)進(jìn)程,首先開(kāi)始執(zhí) 行子進(jìn)程,關(guān)閉管道出口,通過(guò)管道入口向管道中寫(xiě)入內(nèi)容。執(zhí)行if語(yǔ)句后, 進(jìn)入else語(yǔ)句塊內(nèi)開(kāi)始父進(jìn)程,管道入口關(guān)閉,通過(guò)管道出口端從管道中讀取之 前寫(xiě)入內(nèi)容,最后輸出出來(lái)(2)編寫(xiě)程序:父進(jìn)程利用管道將一字符串交給子進(jìn)程處理。子進(jìn)程讀字符串,將 里面的字符反向后再交給父進(jìn)程,父進(jìn)程最后讀取并打印反向的字符串。實(shí)驗(yàn)代碼:#includemain() int x,count,left,right,temp,fd2,fe2;char c,buf30,s30;pipe(fd);pipe(fe

6、);printf(please input a line of char);scanf(%s,buf);while(x=fork()=-1);if(x=0)close(fd0);close(fe1);printf(Child Process!n);write(fd1,buf,30);read(fe0,buf,30);printf(%sn,buf);exit(0);elseclose(fd1);close(fe0);count=0;doread(fd0,&c,1);scount+=c;while(c!=0);printf(Parent Process!n);printf(%sn,s);count

7、-=2;for(left=0,right=count;left=count/2;left+,right-)temp=sleft;sleft=sright;sright=temp;write(fe1,s,30);wait(0);運(yùn)行結(jié)果:12 .c1 CNclj 4BL, 735C written眼FiFiPlnnaMnwtz rFI葡2附明1$ gnr 1 2 -r -n 1 2 e0t620205I?localhost e0662020EJ ./12 hp lease input a line of charsun Juan juan Child ProcessTI rr-uceiii !

8、k? un J uan jLian naujnau.inus e06620205(?localliost C0B620205 $*(3)閱讀例2的程序,運(yùn)行一次該程序,然后用ipcs命令查看系統(tǒng)中共享存儲(chǔ)區(qū)的 情況,再次執(zhí)行該程序,再用ipcs命令查看系統(tǒng)中共享內(nèi)存的情況,對(duì)兩次的 結(jié)果進(jìn)行比較,并分析原因。最后用ipcrm命令刪除自己建立的共享存儲(chǔ)區(qū)。(有關(guān)ipcs和ipcrm介紹見(jiàn)后面一頁(yè))實(shí)驗(yàn)代碼:#include #include #include main()key_t key=208; /*在實(shí)際實(shí)驗(yàn)過(guò)程中,為了避免每個(gè)同學(xué)建立的共享存儲(chǔ)區(qū)關(guān)鍵字一樣而相 互干擾,關(guān)鍵字請(qǐng)用學(xué)號(hào)末3

9、位*/int shmid_1,shmid_2;if (shmid_1=shmget(key,1000,0644|IPC_CREAT)=-1)perror(shmget shmid_1);exit(1);printf(First shared memory identifier is %dn,shmid_1);if (shmid_2=shmget(IPC_PRIVATE,20,0644)=-1)perror(shmget shmid_2);exit(2);printf(Second shared memory identifier is %dn,shmid_2);exit(0);運(yùn)行結(jié)果:112

10、 F Neu 18L, 523C vilLLeii20298?localliast e666202983 gcc 112 .c -o Li2L觀6我晾典mocHim毗我昭典./liJFirst shared menory identifier is 1376291Second shared memory identifier is 1409060e6662O208?localhast,Ipcs查看:20163841638416384163841638420201G294201000163841Q0O201000201G2941638410002016384163842Q20nsemse06&2

11、S20S(?lDcaUost e06B2O20BJ$;eyownerpernsMcsc-asjc Queues msnidSemaphoie Arpaijs ;eysen) idowner perns0 20 20 20 20 20 20 20 20 0 010 0 010 20 277677 777 744446 6巖4444 6 G 6 64444744444-74447 444474444474447 LbLbLbLb7G _b _6 Tf 6 7 -b _b -b76 G77 744444-4444774444-444444474444 G6666G666 444444446 60 0

12、0 0 0 00 000 0000000021000 000006000001000100 0 0 00 011111IX0090B009 1x00306003 1x00906009 1x00906009 1x00906009 IX0090S009 ix0030S003 1x009062 a2 1x00906009 1x00906009 ix009000e7 IX0030S003 lx0090S06F 1x00906009 1x00906085 1X00906009 1x00306003 1x00906009 1x00906009 1x00906009 ix009OS14b ix0030S00

13、3 1x00906009 1x00906012 1x00906009 1X00900009 ix0000G495 1x00906009 1x00906009 1x00906009 ix0090S04b 1x00306003 1x00906009 1x00906009 lx0090S07c IX0090S009 ix0030S0cG 1x00906009 1x00906009 1x00906009 ix009003e7 IX0030S003 lx0090S0da 1x00906009 X0090S39F 1X00906009 1x00306003 1x00906009 1x00906009 1x

14、00000077 IX0090S009 1x003060035734491 3670168 3702877 4292702 4751455 57BI728 2833953 3899490 3997795 4039564 5767269 4096162 4128871 4161640 4194409 4227178 4259947 4685932 4423789 4489326 4522095 4587G22 4629461 4784242 4817011 6094964 4983853 5013622 E046391 5079160 5144697 fc!93274 E210235 52430

15、64 E308541 534I31B E374079 E809064 E439617 E505154 5537923 E570692 5832837 E668998 5865667 5898376 E931145 E963914 5996683 6029452 6169525 C22G&C2e05620111 C0&2O134 e0B620211 e0B620230 e0B620133 e05620333 C0&G20119 e0S620312 C0B620114 e0S620134 e05620231 C0G620211 e0B620111 e0B620111 C0B620133 e0562

16、0133 C0&2O121 e0B620121 e0B620124 e0B620121 e05620131 c0&G202te e0S620234 e0B620218 e0S620218 e05620231 C0G620121 C0B620121 e0B620121 C0B620218 e05620211 C0&2011S e0B620120 e0B620119 e0B620124 e05620124 C0&G2023O e0S620231 C0B620224 e0S620121 e05620132 C0G620111 C0B620218 e0B620211 C0B620114 e056203

17、33 C0&2O132 e0B620120 e0B620333 e0B620119 e05620120 C0&G20232再次運(yùn)行:0X0090B009 0X0030S003 0X0090S009 0 x009062aS 0X0090S009 0X0090S009 0X0030S0C? 0X0090S009 0X0090S06F 0X0090S009 0X00900085 0X0030S003 0 x00906009 0X0090S009 0X0090S009 0X00906009 0 x0030S14b 0X0090S009 QxQQ&Q&QQQ 0X0090S012 0X0090S009

18、0X0030S003 0 x00906495 0X0090S009 0X0090S009 0X00900009 0 x0030S04b 0X0090S009 0X0090S009 0X0090S009 0X0090607(: 0X0030S003 0 x0090S0e6 QxQQ&Q&QQQ 0X0090S009 0X0090S009 0 x0030S2c7 0X0090S009 0 x0090S0da 0X0090S009 0 x009Q039f 0X0030S003 0X0090S009 0X0090S009 0X0090S009 0 x00906077 0X0030S003 0X0090

19、S0094751455 E701728 3833953 3899490 3997795 4039564 E7G72t9 4096102 4128871 4161640 4194409 4227178 4259947 4685932 4423789 448?326 4522095 4587632 4629461 4784242 4817011 t0949t4 4980853 S013622 E046391 5079160 E14469? 6193274 E210235 5243064 5308541 E341310 E374079 5809064 E439617 5505154 E537923

20、E570692 E832837 E668998 5865667 E898376 5931145 E963914 599&683 6B2?4526226062e05620133 644 C0&20333 644 e0B620119 644 e0B620312 777 e0B620114 644 e05620134 644 C0&G20231 G44 e0S620211 644 e0B620111 644 e0S620111 644 e05620133 644 C0G620133 644 C0B620121 644 e0B620121 644 C0B620124 644 e05620121 644

21、 C0&2O131 777 e0B620218 777 e0B620234 644 e0B620218 644 e05620218 644 C0&G20231 G44 e0S620121 644 e0B620121 644 e0S620121 644 e05620218 644 C0G620211 ?7 e0B620118 644 e0B620120 644 e0B620119 644 e05620124 744 C0&2O124 644 e0B620230 777 e0B620231 644 e0B620224 644 e05620121 644 C0&G20132 777 e0S62011

22、1 644 e0B620218 777 e0S620211 777 e05620114 777 C0G620333 644 C0B620132 644 e0B620120 644 C0B620333 644 e05620119 777 C0&2O120 644 e0B620333 644202Q201638420201Q0O2010002010001&3841638410001638410002Q163841G2942016384163841638420 Senaphore Arpads keysemid owner perns nsemskeyMessage Queues msqidowne

23、rpernsused-bytese06G20208localFost e06S2&2&B$ gcc liZ.c -o li2 cOGG2S20SeiocilFo = t cQ6G2020B $ .xli2 First shared nemory identifier is 13762?!Second shared memoFi/ identif ier is 6389906|實(shí)驗(yàn)三、進(jìn)程通UH) 一一管道及共享內(nèi)存一百度搜索-Mio-osoft P再次用ipcs查看:_M- _M- 0 0 -M- _M-0 0 0 100 0 0 0 10 0destdestmessagesIX0090B00

24、9 1x003062 a2 1x00906009 1x00906009 lx0090S0e? IX0090S009 ix0030S0GF 1x00906009 1x00906085 1x00906009 1X00900009 IX0030S003 1x00906009 1x00906009 1x0090614b 1X00906009 1x00306003 1x00906012 1x00906009 1x00906009 1X00006495 ix0030S003 1x00906009 1x00906009 ix0090S04b 1X00900009 IX0030S003 1x00906009

25、lx0090S07c 1x00906009 1X00906009 1x00306003 1x00906009 1x00906009 lx0090S3e? IX0090S009 lx0030S0doi 1x00906009 X0090S39F 1x00906009 1X00900009 IX0030S003 1x00906009 1x00000077 1x00906009 1X00906009 1x00306003 1x00906082 1x00906009 1x00906009 ix009OS0db ix0030S0033833953 3899490 3997795 4039564 E7672

26、69 409&1B2 4128871 4161640 4194409 4227178 4259947 4685932 4423789 4489326 4522095 4587632 4620461 4784242 4817011 6094964 4989853 E013G22 E046391 E079160 E144697 6193274 E213235 5243064 E308541 5341310 6291563 E8030t4 E439617 E505154 5537923 5579692 E832827 E668998 S8656S7 589B376 5931145 E963914 5

27、99&683 6029452 163525 6226062 (253831 6324368 6357137 389906 6455443 .489212e05620119 C0GG29312 e0B620114 e0B620134 e0B620231 e05620211 C0&G20111 e0S620111 C0B620133 e0S620133 e05620121 C0G620121 C0B620124 e0B620121 C0B620131 e05620218 C0&2O234 e0B620218 e0B620218 e0B620231 e05620121 C0&G20121 e0S62

28、0121 e0B620218 e0S620211 e05620118 C0G62012O e0B620119 e0B620124 C0B620124 e05620231 C0&2O231 e0B620224 e0B620121 e0B620132 e05620111 c0&G202te e0S620211 C0B620114 e0S620333 e05620192 C0G62012O C0B620333 e0B620119 C0B620120 e05620333 C0&2011S e0B620130 e0B620130 e0B620238 e05620219 C0&G202194-74444-

29、44444- 47444444446 7 _b _-h- _b 6 G -b _b -b _b4444446 6 6744444-444 744444444 7G _b _b _b 6 G -b _b44444-444 #4444444G6766G664477674-444444-1 44444444 66G66666Semaphoie Arpaijs ;eysen) idowner perns;eyMcsc-asjc Queuesmsnidownerperns1&38420100020IQOO201000202016384163842Q100020100016384100016384201G

30、29416384163842016384202Q202020nsemse06&2S20S(?lDcaUost e06B2O20BJ$Ipcrm刪除010000001000000000 _M- _M- _M- 0 0 _M- _M-_M- 0 0 _M- _M- _M- 0 0destdestIX0090B009 lx0030S0c7 1x00906009 lx0090606F 1x00906009 IX009OS085 ix0030S003 1x00906009 1x00906009 1x00906009 1X00900009 lx0030S14b 1x00906009 1x00906009

31、1x00906012 1X00906009 1x00306003 1x00906495 1x00906009 1x00906009 IX0090S009 lx0030S04b 1x00906009 1x00906009 1x00906009 IX0090007C IX0030S003 1x00906009 1x00906009 1x00906009 1X00906009 ix0030Q3c7 1x00906009 Ix009060da 1x00906009 ix009OS3?f 1x00306003 1x00906009 1x00906009 1x00906009 1X00900077 IX0

32、030S003 1x00906009 1x00906009 1x00906082 1X00906009 1x00306003 lx0090S0db 1x009060094039564 E7672t9 4096162 4128871 4161640 4194469 4227178 4259947 4685932 4423789 4489326 4522095 4587632 4629461 4784242 4817011 fcB949t4 4980853 5013622 E046391 507?160 E144G97 6193274 E210235 E243004 5308541 E341310

33、 6291583 5809064 5439617 5505154 E537923 E570692 5832837 5668998 5865667 E89837G 5931145 E963914 5996683 6029452 1G3525 (22&062 6258831 6324368 6357137 (3899S& 6455443 488212e05620134 C0&20231 e0B620211 e0B620111 e0B620111 e05620133 C0&G20132 e0S620121 C0B620121 e0S620124 e05620121 C0G620131 C0B6202

34、18 e0B620234 C0B620218 e05620218 C0&2O231 e0B620121 e0B620121 e0B620121 e05620218 C0&G20211 e0S620118 C0B620120 e0S620119 e05620124 C0G620124 C0B620231 e0B620231 C0B620224 e05620121 C0&2O132 e0B620111 e0B620218 e0B620211 e05620114 C0&G20232 e0S620132 C0B620120 e0S620333 e05620119 C0G62012O C0B620333

35、 e0B620118 C0B620130 e05620130 C0&2023S e0B620219 e0B6202194-44444-44444-4444444446 G _b _b _b 6 G -b _b -b 644-4-44444-74444- 444444474444LbLb6 G _b _-h- _b 67-b _b -b74 4 4 4 4-74 4444746 6 6 6 6 7 67744444444777 G 6 6 6744444-444 #4444444G6666G6610002020100016384163840 0 0110001G29420302010001&38

36、420163841638416384163840 0 011000 Semaphore Arrays keyccmido vjnciLpernsnsemsMessage Queuesmsqidounejbperns0 0 _M- _M- _M- 0 0 -M- _M- -M-_M- 0 0 _M- _M- _M- 04-M- _M- -M- 0used-bytesmessagesdestdestcOGG2S20Seioc e06&2S20S(?lDcaUost e06B2O20BJ$分析:成功,返回共享內(nèi)存段的標(biāo)識(shí)符,內(nèi)核中用于唯一的標(biāo)識(shí)一個(gè)對(duì)象。對(duì)存在于內(nèi) 核存貯空間中的每個(gè)共享內(nèi)存段,內(nèi)核

37、均為其維護(hù)著一個(gè)數(shù)據(jù)結(jié)構(gòu)shmid_ds。失敗,返回一 1,設(shè)置errno。第一個(gè)參數(shù)key (鍵值)用來(lái)創(chuàng)建IPC標(biāo)識(shí)符,shmget()返回的標(biāo)識(shí)符與 key值一一對(duì)應(yīng),不同的key值返回不同的標(biāo)識(shí)符。第二個(gè)參數(shù)size,決定了共享內(nèi)存段的大小(若訪問(wèn)已存在的內(nèi)存段,該 參數(shù)可設(shè)為0)。有最大字節(jié)數(shù)的限制第三個(gè)參數(shù)shmflag,用于設(shè)置訪問(wèn)權(quán)限及標(biāo)識(shí)創(chuàng)建條件。對(duì)兩次的結(jié)果進(jìn)行比較:兩次運(yùn)行結(jié)束后的第二個(gè)共享標(biāo)識(shí)符是不一樣的。在 用ipcs查看時(shí),共享內(nèi)存段中的關(guān)鍵字,共享內(nèi)存標(biāo)識(shí)符,訪問(wèn)權(quán)限,字節(jié)等 都是不一樣的。(4)每個(gè)同學(xué)登陸兩個(gè)窗口,先在一個(gè)窗口中運(yùn)行例3程序1(或者只登陸一個(gè)窗

38、口,先 在該窗口中以后臺(tái)方式運(yùn)行程序1),然后在另一個(gè)窗口中運(yùn)行例3程序2,觀察程序的運(yùn) 行結(jié)果并分析。運(yùn)行結(jié)束后可以用ctrl+c結(jié)束程序1的運(yùn)行。實(shí)驗(yàn)代碼:#include #include #include #define SHMKEY 208 /*在實(shí)際實(shí)驗(yàn)過(guò)程中,為了避免每個(gè)同學(xué)建立的共享存儲(chǔ)區(qū)關(guān)鍵字一 樣而相互干擾,關(guān)鍵字請(qǐng)用學(xué)號(hào)末3位*/#define K 1024int shmid;main ()int i,*pint;char *addr;extern char * shmat ();extern cleanup ();for(i=0;i20;i+) signal(i,cle

39、anup);shmid=shmget(SHMKEY,16*K,0777|IPC_CREAT); /建立 16K 共享區(qū) SHMKEY */addr=shmat(shmid,0,0);/*掛接,并得到共享區(qū)首地址*/printf (addr 0 x%xn”,addr);pint=(int *)addr;for (i=0;i256;i+) *pint+=i;pause();/*等待接收進(jìn)程讀*/cleanup()shmctl(shmid,IPC_RMID,0);exit ();運(yùn)行結(jié)果:uli3_cH 26L, 603C wiitter662020Slocalhost &S662O20S$ gcc

40、 li3 c c li3 SGG20398(BlocallwSt SGG2039e$ .Zli3& 13 24718ALldr 0 x40017060e06620208localhost e06620298$分析:首先系統(tǒng)通過(guò)調(diào)用shmctl對(duì)shmid指向的內(nèi)存段進(jìn)行刪除操作,接著系統(tǒng)調(diào)用 shmget創(chuàng)建一個(gè)16*1024字節(jié)的共享內(nèi)存段,成功返回共享內(nèi)存段的標(biāo)識(shí)符給 shmid,系統(tǒng)再次調(diào)用shmat連接內(nèi)存段,返回該共享內(nèi)存段連接到調(diào)用進(jìn)程地 址空間上的地址addr。實(shí)驗(yàn)代碼:#include #include #include #define SHMKEY 208 /*在實(shí)際實(shí)驗(yàn)過(guò)程

41、中,為了避免每個(gè)同學(xué)建立的共享存儲(chǔ)區(qū)關(guān)鍵字一 樣而相互干擾,關(guān)鍵字請(qǐng)用學(xué)號(hào)末3位*/#define K 1024int shmid;main ()int i,*pint;char *addr;extern char * shmat ();shmid=shmget(SHMKEY,8*K,0777);/瞰共享區(qū) SHMKEY 的 id */addr=shmat(shmid,0,0);/* 連接共享區(qū) */pint=(int *)addr;for (i=0;i256;i+)printf(%dn”,*pint+);/*打印共享區(qū)中的內(nèi)容*/運(yùn)行結(jié)果:01234567S9019THTH1-I1T-ILT-ITITHTI22TcIileL 192. 108. 0. 24S-口、m Telnet 192. 108. 0. 24SliaS-c 18L, 44GC written CcSGC28208(?localhost cSGC2029Sgcc liJ2.c - o li32 bB662O208(?1ulci1ius1, b66202983$ .Z113225225d2S5兩G62H弱曲lugimm eBGC20298$分析:例3_1程序后臺(tái)運(yùn)行時(shí),該程序開(kāi)始執(zhí)行,系統(tǒng)調(diào)用shmget創(chuàng)建一個(gè)8*1024字 節(jié)的共享內(nèi)存段,再通過(guò)調(diào)用shmat掛接內(nèi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論