操作系統(tǒng)原理-實(shí)驗(yàn)-linux增加系統(tǒng)調(diào)用_第1頁(yè)
操作系統(tǒng)原理-實(shí)驗(yàn)-linux增加系統(tǒng)調(diào)用_第2頁(yè)
操作系統(tǒng)原理-實(shí)驗(yàn)-linux增加系統(tǒng)調(diào)用_第3頁(yè)
操作系統(tǒng)原理-實(shí)驗(yàn)-linux增加系統(tǒng)調(diào)用_第4頁(yè)
操作系統(tǒng)原理-實(shí)驗(yàn)-linux增加系統(tǒng)調(diào)用_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中國(guó)地質(zhì)大學(xué)(武漢)操作系統(tǒng)原理課程實(shí)驗(yàn)報(bào)告數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)班級(jí)195182學(xué)牛姓幺鐘歡任課教師康曉軍完成時(shí)間2020年3月31日i實(shí)驗(yàn)一實(shí)現(xiàn)一個(gè) linux 的系統(tǒng)調(diào)用一、實(shí)驗(yàn)?zāi)康?. 加深對(duì)系統(tǒng)調(diào)用的理解,掌握增加與調(diào)用系統(tǒng)調(diào)用的方法。2. 掌握內(nèi)核編譯方法。二、實(shí)驗(yàn)思路1. 增加新的系統(tǒng)調(diào)用:新增的系統(tǒng)調(diào)用名為Hello,其功能是打印輸出“ This is ZhongHuan ' ssystem call ! wo zhong yu cheng gong le !”2. 編譯內(nèi)核:用編譯內(nèi)核的方法,將其增加進(jìn)內(nèi)核源碼并編譯內(nèi)核。3. 測(cè)試 :在用戶控件編寫測(cè)試程序測(cè)試該系

2、統(tǒng)調(diào)用。三、實(shí)驗(yàn)步驟1. 系統(tǒng)調(diào)用的添加在 Linux 中添加新的系統(tǒng)調(diào)用,需執(zhí)行多個(gè)步驟才能添加成功:( 1 )第一步完成系統(tǒng)調(diào)用函數(shù)在內(nèi)核源碼目錄kernel/sys.c 文件中編寫待添加的系統(tǒng)調(diào)用函數(shù)。該函數(shù)的名稱應(yīng)該是新的系統(tǒng)調(diào)用名稱前面加上sys_標(biāo)志。新加的系統(tǒng)調(diào)用為hello(void) ,在 kernel/sys.c 文件中添加源代碼: asmlinkage long sys_hello(void)printk("This is ZhongHuan's system call! wo zhong yu cheng gong le!");re

3、turn 1;可開©帛野,“只讀】.三'*/usn,,5rc/Snu «- 5.5.13/kefnels. totalr-an bite cunt;s. freerari >>= bitcountj>>« blttount;s .buffer » bit count;s.totalsp »= bttcount;sTfreeM-ap >>= bttcount;s.totalhtgh >>= bttcount;s,freehigh »- bitcount;)_pwt_user(s f

4、reeswaip, &t.nfc->freesap) 11|_put_u5efw.pi。£s1Hinfo-procs) 11_p<jtuser(s. totalh-igh &inf ->totftlhlgh) 11|_put_user(s.fr?ehIgh s atnfo->frehtgh) |_put_uor (s iWR-uftit j fttftfo- HWR_unlt) return -EFAULT;return 6;)asriltinkaGie long sys_helto(void)(pr"Tf»t& Z

5、hcmyHudn's sylcr c>1H( uci zhony yu chrrttj gong V(? 1"J; return 1;10產(chǎn)ndlf /* COMFIG COHPAT */制表符五盾;8, 第1行,第1列 , 播人(2)第二步在系統(tǒng)函數(shù)表中表項(xiàng)添加新的系統(tǒng)調(diào)用后,需要讓 Linux內(nèi)核的其余部分知曉該程序的存在。在內(nèi)核源碼目錄 arch/x86/entry/syscalls 下修改文件syscall_64.tbl。該文件用來(lái)對(duì)sys_call_table口數(shù)組實(shí)行原始化,數(shù)組包含指向內(nèi)核中每個(gè)系統(tǒng)調(diào)用的指針。在該文件中的最后一行添加自己的系統(tǒng)調(diào)用表項(xiàng):3

6、35 64 hello sys_hello(),這樣就在數(shù)組中添加了新 的內(nèi)核函數(shù)指針。打開(3 ffl/usr/sr:syscall_M.tbl 只讀逐在 三 A伊031S 119321 1?劃32632732B329J31 332 J33 334335L LJI IU 1 1 cariricn COrmoin connon corwon 64 corincn coman CDnwnon conwnon 64 64cormcn comorn contnon tomon cormon cormcn 64Ljetcdndupi iw*rd_create kex« file load b

7、pf (xecvt iHcrfaultfd r*enb3rrier nldtk?copy file ranqepwrltev2 pkey iprotect pkwy_dllcK pke ree itatxevents rseq hellomyn ici-njri |j'_x64_sys_yelt andon y_renfd_cr(b<ilf_x64_sys_lteic«_f ilfloadi_nO4_sys_bpf_ys excc vfj.U /pt tby_x64 sys userfaultfd_K6_5ys_nenbarrerzfia sys wl ack?x64

8、sys copy file ranqe_X64_sys_preadv2x64 sys pwrttekrz_x64_ays pkey protect_mM_sys_pkey_a Hoc_x64_sys_pkey_free_nd4_5ys_sIdtx_x M_s ys_t o_poe tevents_x64_sys_rseqsy£_hll.c# don't use numbersthrough 423#律 1 cornmn1 entry424cormonpidfd-sendsignal425conno ntou r I i>g_set up426conwnonio urin

9、g enter427C Dnnoniou r ing_r eg i s te r420CDrmonopen_treeadd new call after the lastxG4_sy寫.p id fd_send_signl x64_sys_toju rtng_setup=jc64 sys Id wring enterx64_5 ysi 0ji ringriegister_x&4_sys_open_tree“文本耨表行茶底:a,史1億哥1/.桶入(3)第三步添加系統(tǒng)調(diào)用號(hào)在內(nèi)核源碼目錄arch/x86/include/asm下修改頭文件unistd_32.h。該文件包含系統(tǒng)調(diào)用清單,用來(lái)

10、給每個(gè)系統(tǒng)調(diào)用分配一個(gè)獨(dú)一的號(hào)碼。文件中每一行的格式如下:#define_NR_nameNNN其中,name用系統(tǒng)調(diào)用名稱代替,而 NNN則是該系統(tǒng)調(diào)用對(duì)應(yīng)的號(hào)碼。應(yīng)該將新的系統(tǒng)調(diào)用名稱加到清單的結(jié)尾,并給它分配號(hào)碼序列中下一個(gè)可用的系統(tǒng)調(diào)用號(hào)。在該文件后面添加系統(tǒng)調(diào)用號(hào):#define_NR_hello 335修改系統(tǒng)中所用的系統(tǒng)調(diào)用數(shù)目:#define_NR_syscalls 336這里系統(tǒng)調(diào)用號(hào)為335,是因?yàn)長(zhǎng)inux-2.6內(nèi)核自身的系統(tǒng)調(diào)用號(hào)碼已經(jīng)用到334,新添加的系統(tǒng)調(diào)用號(hào)不能與前面已有的重復(fù)。至此系統(tǒng)調(diào)用的添加已經(jīng)完成,然后就是重新編譯內(nèi)核,用新的內(nèi)核引導(dǎo)即可使用新的系統(tǒng)調(diào)用

11、。新系統(tǒng)調(diào)用的測(cè)試代碼中,使用 syscall()函數(shù),通過(guò)指定它的調(diào)用索引和一組參數(shù)來(lái)調(diào)用系統(tǒng)調(diào)用,如syscall(335),其中335是系統(tǒng)調(diào)用號(hào),因?yàn)樾录拥南到y(tǒng)調(diào)用函數(shù)是無(wú)參函數(shù),所以不需要添加參數(shù)。打開(Ca*uniind立h 只謝i r ;susrsr 匚,L - UM-5t 5.13G/in匚L de,患sdpfi nmNR u ns li a re 316defineNR set obu寫t_li5t 311ffdeflre_NR_aeC_i uLu5LIs t 312SdefAne_NR_splLtr? 313sdeftneN1R sync_file_range 314tfd

12、efine515sdpftne_NR_vp&pll<.e 316sdeftnejlR_Fiave page s 317ffdleftneNK_getcpu 31 日def tileNiR eppIIjjwdIt 319sfleflneNR utthensat k0sdefineW signaled 321Jeftue.NR_.tiflerfd_credte 322fdeftne_nR_evtfitfd 3Z3arieftnc閣 fill lOCfltf 324tfdeftner(R tiflerfd s«ttt(ne 325Mdwfine,NR_tnerf(j_oett

13、ne 326vdeflne_NR_stginalfd4 327fdeft neWi eventfd7 33SirdeftneNR epoll create1 329UdefineNOR dup3 330邛define _MR_plpe2 331Sdeftne NR tnottfy initl 332ine _NR_prejdv 313fdeftne NR owrttev 33wdeftne33Ssendif /* ASM >IB& UNIS 1U3ZH b中亡一2知七頭文件,和志后貨雀:& 旃335行第23列 插入2.Linux內(nèi)核編譯作為自由軟件,在廣大愛好者的支持下,

14、Linux內(nèi)核版本不斷更新。新內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新特性。如果用戶想要使用這些新 特性,或想根據(jù)自己的系統(tǒng)度身定制一個(gè)更高效、更穩(wěn)定的內(nèi)核,就需要重新編譯內(nèi)核通常,更新的內(nèi)核會(huì)支持更多的硬件,具備更好的進(jìn)程管理能力,運(yùn)行速度更快、更穩(wěn)定,并且會(huì)修復(fù)老版本中發(fā)現(xiàn)的許多洞等,經(jīng)常性地選擇升級(jí)更新的系統(tǒng)內(nèi)核是Linux使用者的必要操作內(nèi)容。要增加對(duì)某部分功能的支持,比如網(wǎng)絡(luò)之類,可以把相應(yīng)部分編譯到內(nèi)核中 (build-in) ,也可以把該部分編譯成模塊(module) ,動(dòng)態(tài)用。如果將要增加對(duì)某部分功能編譯到內(nèi)核中,在內(nèi)核啟動(dòng)時(shí)就可以自動(dòng)支持相應(yīng)部分的功能,其優(yōu)點(diǎn)是方便、快速,機(jī)

15、器一啟動(dòng),就可以使用這部分能;缺點(diǎn)是會(huì)使內(nèi)核變得龐大,不管是否需要這部分功能,它都會(huì)存在。建議經(jīng)常使用的部分直接編譯到內(nèi)核中,比如網(wǎng)卡。如果編譯成模塊,就會(huì)生成對(duì)應(yīng)的.o 文件,使用時(shí)動(dòng)態(tài)加載,優(yōu)點(diǎn)是不會(huì)使內(nèi)核過(guò)分龐大,缺點(diǎn)是需要手工調(diào)用這些模塊。編譯內(nèi)核的流程如下:( 1 )第一步:下載內(nèi)核到 下載新內(nèi)核到/usr/src( 如 linux-2.6.34.tar.bz2) ,然后將其解壓到/usr/src 目錄下,得到linux-2.6.34 : tar-jxvflinux-2.6.34.tar.bz2 。如果下載的是.tar.gz(.tgz) 文件,使用命令t

16、ar-zxvflinux-2.6.34.tar.gz 。( 2)第二步:配置內(nèi)核配置內(nèi)核之前,先用命令“makeclean ”清除原有不需要的模塊和文件,命令“ make mrproper ”把原來(lái)編譯產(chǎn)生的垃圾刪除。配置內(nèi)核可以根據(jù)需要與愛好使用下面命令中的一個(gè)。#make config( 基于文本的、最為傳統(tǒng)的配置界面)# make menuconfig( 基于文本選單的配置界面)# make xconfig( 基于圖形窗口模式的配置界面)# make oldconfig( 如只需在原來(lái)內(nèi)核配置的基礎(chǔ)上修改一些小地方,該命令會(huì)省去不少麻煩)這幾個(gè)命令中,makexconfig的界面最為友好

17、(需要Xwindow的支持),make menuconfig 次之。進(jìn)行配置時(shí),大部分選項(xiàng)可以使用其缺省值, 只有小部分需要根據(jù)用戶不同的需要選擇。選擇的原則是將與內(nèi)核其他 部分關(guān)系較遠(yuǎn)且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊,有利 于減小內(nèi)核的長(zhǎng)度,減小內(nèi)核消耗的主存,簡(jiǎn)化該功能相應(yīng)的環(huán)境改變 時(shí)對(duì)內(nèi)核的影響;不需要的功能不要選;與內(nèi)核關(guān)系緊密而且經(jīng)常使用 的部分功能代碼直接編譯到內(nèi)核中。在添加新的系統(tǒng)調(diào)用后重構(gòu)內(nèi)核 時(shí),執(zhí)行make menuconfig ,利用當(dāng)前的內(nèi)核配置詳單設(shè)置將要編譯的 內(nèi)核(即選擇默認(rèn)選項(xiàng))后存盤退出即可。root ©工h ongh uan-virt

18、ual-madiine: /uErysrc/linux-S. 5.13文件(F)奉輯悵)查看(V)搜索今終端何幫助 .anftq *5*5.13 Kernel Snftguryti。Arrohi keys navigate the nenu, <Entcr> selects subicnus - -> (or enpty submenusHighlighted letters are hotkeys. Pressing <Y>Includes, eMexcludes, inodulartzes features.-:Esc*Esc> toexit, <

19、?> for Helpf </> for Seerch» Legend: * built in * CoFipllefl gte (Ubuntu 7 . 5 .日一mubuntiilFlg .64)7.5.D *General setup ->* 64- it kernelProcessor type and features omet rianeqenent and ACPI options >opttors CPCI etj) ->Btnary Emtilticns >Fimware Drivers -> vi.rtudli.ztt

20、on > eneral architecture-dependent options >< Exit >< Help >< sve > v Ldad >(3)第三步:編譯內(nèi)核在內(nèi)核源碼目錄下執(zhí)行:#make clean(確保所有有關(guān)文件都處于最新版本狀態(tài))#make或makezImage(編譯內(nèi)核,makezImage可以編譯壓縮形式的內(nèi)核)在需要內(nèi)核支持較多的外設(shè)和功能時(shí),內(nèi)核可能變得很大,此時(shí)可以利用make bzImage編譯大內(nèi)核。如果選擇了可加載模塊,編譯完內(nèi)核后,需要對(duì)選擇的模塊進(jìn)行編譯:#make modules(編譯選擇的模

21、塊)#make modules_install(將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置)#make install(把壓縮內(nèi)核映象拷貝到/boot目錄下,并創(chuàng)建相應(yīng)的System.map 符號(hào)鏈接)f£/ceph/addr.o fi/teph/l4ctl.o rs/»ph/tKport >o Ts/ce|>h/capi<D fs/Mph/inap.o ftA«ph/xattr.« fs/cepli/<|uot*HO fs/ceph/lo.a fs/»ph/nd&_cltent. a ff/ceph/Hdsn4p,Gft

22、 /c«*h/<«ph_f r«*. o fi/ceph " «bugfi. fl/ceph/cich««o f»/c*ph/Kl.o r»/ctph/ceph.o fs/clfi/traceo f s/df */clf if i fs/clfs/tiffisnfa.p fs/clfs/ctfs_debuf fs/clfs/c&nnect.fi/cm/ftU.0守inurn 瞰。icrnghii文件E 將(日 *«(V) M«(S)曲(n r«(hjcccccc

23、ccccccccEccccccccccccccLDcrcccccccccca(4)第四步:?jiǎn)?dòng)項(xiàng)配置調(diào)用 mkinitrd 程序創(chuàng)建內(nèi)核的 initrd 映象:mkinitramf - o/boot/initrd.img-在/boot/grub/grub.cfg 中設(shè)置啟動(dòng)項(xiàng)的配置:照著原來(lái)的 inux- headers-2.6.32-24-generic 增加 linux- 。至此,整個(gè)內(nèi)核的編譯就全部完成。重啟系統(tǒng)時(shí),選擇進(jìn)入新的內(nèi)核就可以使用新內(nèi)核了。root qzh anqh u n Mrtu gl -michlfl e: /<isr/irc/Il

24、n uk-5,543文件09 «9(g壹M 搜索的修端E幫助巾 sh ./arch/Kad/boot/tnstAll.sh 5.5t13 jrch/M94/bc4t/b2lH*>e syitM.mp "/boot*run-parts ? executing /et£/k»rn#l/po£ttnst. d/apt-auto-* reovAl. 5.5 *13 /boot/vwltfiu 工TSUrur>-Mrts: executing /ttc/kernel/postlnst»d/lnttr«Rfs«t&

25、#171;Qls 5.5.13 /bwt/vMtnu工 1-5.5.IJupdat«-tnttr«Rfi: Gcnerating /boot/tni.trd + Irq*5,5,13ruh'parts:: executing /*tc/kernel/posttnst. d/un<ttemied - upgrades 5,5*13 /boot/vnl ;tnuz-5.5+13run-p4rts: *xecuttng /ttc/kBrr)cl/posttrwt.d/upte-wttfter 5 + 5.13 /boot/vnUnuz -5.5.13UMpirt,:

26、 executing /«tc/k«rn«I/posttn>t.4/zz-ufh1«t«*grub 5.5*13 /boot/mltnui- 5.5 1 3Generittrvg grub confiflur#tton flit *. Found linux tH«ge£ /trtot/wllnuz-5.S.13 Found tnttrd tM0t: /boot/tnttrd.tHB*5*54 13 Found tlnux tMflt t /twot/vnltnuE -4 * IS l-g*ft*rtc Found t

27、nttrtf Vwg: /tH»t/tnltrd,tRB-4*15.®-,91-o<rt*rlcFound llnuK tAage: /twot/vMAnuE-4*】寫.Found tnttrd twg«: /boot/tnitrd,tRg-4.1S.e-2?-ge<wrRFound HentestB/boot/Rentestae+. elfFwM iw»t.tS6+ gq: /boot/nentest86+ ,btn done.rootazhor>ohu«ft- virtual-rt«chtne:/usr/src/

28、ltnux-5.5-11* 3.測(cè)試添加的系統(tǒng)調(diào)用編寫程序驗(yàn)證:創(chuàng)建C程序并執(zhí)行系統(tǒng)調(diào)用(1)安裝 vim :在終端輸入命令sudo apt-get install vim(2)使用vim建立c文件:終端輸入命令vim hello.c (hello.c為我的文件名)(3)鍵盤上點(diǎn)字母a,進(jìn)入插入(insert)模式,在編輯區(qū)輸入主程序代碼(如下圖,圖中335為之前自己添加的系統(tǒng)調(diào)用號(hào)) int main()syscall(335);syscall(335);syscall(335);syscall(335);syscall(335);syscall(335);syscall(335);sysc

29、all(335);syscall(335);syscall(335);syscall(335);return 0;文件舊 運(yùn)舊持索酸帚幫并5)int rnain) 宓): ); srs»ll(335> syscall:5 ); ); WSulL0 );syfctllC33 );syscallfJj );syitallC'.); tyitillCS ) | rsturn f;播入-全部(4)保存并退出:按一下 Esc鍵,輸入:wq點(diǎn)回車,則保存并退出(5)編譯c程序:終端輸入命令:gcc-o hello hello.c(6)執(zhí)行:終端輸入命令./hello ,終端輸入dm

30、esg查看結(jié)果zhcngl«口 nyhum ra-virtual-m adl Ine:文學(xué)舊洞博出查曰門器M國(guó)罐篇E幫動(dòng)印atton*',prQflLl.eMreplace!, tnfg,5 司打仝 current prof tie B kipping " profiles' m nconf tnfrd" naie=snap.gnone-ciharactera.gnDPie-characterEH ptd = 1B42 cc-m= apparnar ars er*一口 judit: type«140e iwdit(15BS71*4BS.

31、S12:M) s pfrrwr*STMUS" opor*ttons"piror<pl*ctl! tnfo-wEine » current prcftltp. skipping* proftl»=Biun«nf 11nle cT nae"*" snap, grione - sys ten - &n t tor. >gnone - sJrs tefl - no rut tor B pt d-1843 com-i aappar hor_parser"二,J 55 rfktllt input handl

32、&r disabled7 . > - 51, ri i-i -gi 2 CAlLb»E.k> BupprcLifl4113S,7132622S051匚匚e1 Bad RIP valu&.FC C:s 1 t*u-, i in - - Htargeft MltH L必收I JI.41 1L & 目.1ISO V0«4 Exunsxon5; RHIP_1991A39145235Thisla ZhomgHiiaLfflpsyateiHcall! wM3 zhongEhenggongleEj d ir _ 4,c 7 3.5.5,1ThUIs Z

33、h&ngiluitn1sy5.t<nEllJ tafl whagcher»ggo”l3Jji b4jZj5噂 |ThUl> Zhon9HmnpB y»tciHtall! wfl ihoiigr*UEjfliT.4szaszThisit zhengitiiMi1工syitcfiClllP 4 zh&ng次chenggongl«E39J7.45Z159ThliIt ZhnngHudn'1£紂 £t«Rc«lll w電 fhongywC-henq候M1«ES9J7 r4,523S8Th

34、ltit Zhorigiluari"£tyttencam h0 zhong次cheriggongI137.452359Thisis ZhcngHuan *SBjrstEfflcall! u0 zhongyuchenggongle!I393.452359TM1li ZhAngHiiai,il,”七 en“l(fā)it Hfl th作立中yu£heftgg(mgt«e(1I3T.4523MThlA11 Zlh<ingl-luan1*“UE kQ thongywichffnggangl« E13937f4523&BThisis Zhon9Hu

35、ao'E-“111 w唱 zhong加cheng.ng3937.452361Thisis ZlhcnaHuan'Ssystemcall! u43 zhonq加chenggonglTTIiho ngl«*£hy<dn -wtr tu41 丁 司 htne : -S(7)完成實(shí)驗(yàn)16實(shí)驗(yàn)二一一實(shí)現(xiàn)一個(gè)U盤的啟動(dòng)程序(1)設(shè)置bios為u盤啟動(dòng)優(yōu)先(2)寫一小段匯編程序,調(diào)用 bios中斷輸出一個(gè)字符(或字符串)匯編程序如下:org 0x7c00mov ax, csmov ds, axmov es, axcall dispstrjmp $dispstr:mo

36、v ax, 0x1301 mov bx, 0x000cmov cx, 10mov dx, 0x1010mov bp, BootMessageint 0x10retBootMessage: db "hello zhonghuan!", 0times 510-($-$) db 0 dw 0xaa55* Dtyum柞 jMtwmu 庭總attE1gte- itFir Ldil Sffedton frojpecS Tools Code CmweraRarts 女 npE Mandcw Hdp<srf Im7*huv &苴* C« M1V - M now ci

37、. axcflll. di spit r np $田%魏3刎bx. SKltUEdKb uwiviaRnoETp<ik;#|p : qp '口rl In JhnnqniMriif . 1*He 51*1$一$樸 的 dw崎血55In Ji kiMi HUHMd M #W 呼vg(3)編譯程序?yàn)槎M(jìn)制代碼I nasmMicrosoft Windows 10.0. R362. 720-Kc) 2019 Microsoft Corporationa 保留所有粒利*b:ClXA操作系統(tǒng)朦理l軟件>nacii tKNM.asa -o boot.bin(4)將程序段寫入U(xiǎn)盤的mbr &

38、gt;MV 4>涮,1£ "I Ml; 44 . Lt h 4U. "Hl -l T+"a J *財(cái),J 3h 事購(gòu)*1一七,二二*0 y * * 口印 - - w 44tfH : '.WJJL. r*MM: r LI»jJ.L tvMMM i K»tI C VMM-1 i I EEM LfettM>l j i tnAMM I Bkljljli i tV>EL rm(iri C«OM2L r »>!»tWj: r iin. u £*»1:I HUJ &a

39、mp; twWi=L i an 1“ ctocnirc rtotiiKr £«wnr FJL ii l;MWUl .".! Prr ir. ehFiF. T茂' F-葉H 31|! ” DCL,. UL XM :lMil> >'. d:«Ci州一玩“加r*幡*1i« r fi< “n ii rir"溫,i qT4-j a it/3£Ed -> j £>C£ ®里附疆M1w *州At 3tn a /i'i in z00 Mfrinil()roli'la ir 1>工 C£> WW加N

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論