![《Linux操作系统》实验报告模板_第1页](http://file4.renrendoc.com/view/b62a0eec4f4ea0538d02daea2b686886/b62a0eec4f4ea0538d02daea2b6868861.gif)
![《Linux操作系统》实验报告模板_第2页](http://file4.renrendoc.com/view/b62a0eec4f4ea0538d02daea2b686886/b62a0eec4f4ea0538d02daea2b6868862.gif)
![《Linux操作系统》实验报告模板_第3页](http://file4.renrendoc.com/view/b62a0eec4f4ea0538d02daea2b686886/b62a0eec4f4ea0538d02daea2b6868863.gif)
![《Linux操作系统》实验报告模板_第4页](http://file4.renrendoc.com/view/b62a0eec4f4ea0538d02daea2b686886/b62a0eec4f4ea0538d02daea2b6868864.gif)
![《Linux操作系统》实验报告模板_第5页](http://file4.renrendoc.com/view/b62a0eec4f4ea0538d02daea2b686886/b62a0eec4f4ea0538d02daea2b6868865.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程编号:B080103040Linux操作系统
实验报告姓名姚柯杰学号班级软工1212指导教师石凯实验名称Linux操作系统实验开设学期2014-2015第一学期开设时间第11周第18周报告日期评定成绩评定人石凯评定日期东北大学软件学院
实验一熟悉Linux环境一、举例列出常用的shell命令使用方法1.目录操作(1)mkdirabc创建一个目录abc(2)cd/abc将工作目录改变到abc(3)cd改变当前目录到主目录swifj翎坦好I出IpepcSpropc-|SnhdirIpepcOpropc-|Scdabc[pep谗piopoabc]-&cdIpetK^pirDpc-|1|
(4)ls列出当前目录的内容回pepflpSiprcipQ;---ax吏件旧克诚E[p叩酬mpa-]$,rikdlrabeM即菰']^cdabc[pEfic^pfopoa5c]$cdjpefj瓯FPO-]!&Is曲£shlyan会点曲雾fg通府雯翌TH骨盆更面[仰即馋DFpa']£(1)mkdirabc创建一个目录abc(2)cd/abc将工作目录改变到abc(5)ls-l输出当前目录内容的长列表,每个目录或文件占一行(6)pwd显示当前目录的全路径pcpci:$pr<Bpi>:-l.pepc®propQ[pEpo^prapo(pepc®propci[pepiX^prapodbCS'hi^KlP[pepo@prapo息用任如dndKrwxr-ydriJKrvfflr-x-dnpiKr-xr-Kdr^xr-sr-x-drvxr-XF-Xdr^xr-scr-x-dr»jj(r-)ir-xdr^xr-sr-x-5甲牌・切-*-Mxttitx〔哪姻pgg/hDne/pepo(pepoepropo小mkdlrabccdabcabc]tcd-]EIs公共的视始-]5Is■;2prpapiepci2pepapepo2pepopiepQ2pepapepo2pepopepo2pepapepo2pepopepo2pepapepo2pg啷QZpepgpepo-]t"W史*-E.略■£■略-E.略略?&*9事sl-ir-91季5s-XMXi*Ti******ZTX!***■444di4di444d—12flU月12flU月un12月12.A1朋1如12月SCJ_^_-22222221127-2-T--222T--IT"-__uAv口nJ口CD日8fl™42dnAvodo6Q者的…邛巨拔择片曲巷呆面驴北尖校枷囹爻F音虫(1)catmx.c显示mx.c文件内容(2)moremx.c分屏显示mx.c内容匡]pepia^prfrpor-'iabc_dx交件低I缉或曰麦SiM站旧七字豳工,神明印IfTpJ=01£pul£har(■£');elseputclurt's');[pepc^pi'^poabc]siur白mx.c^imclijdecErdla.h>nalntltintplPp£jwhile((pl=fDrk()]==-!):ifIpl—6)put匚届「T‘itr);el&e{册IBl(p?=fo^())=-ll;iflp2=S)pirtchairt'c1);elseputcharj'a')t[pcpo^prcpoabc]5|(3)catfile1file2连接file1和file2(1)cpfilelfile2将文件1复制到文件2(2)mvfile1file2将文件重命名为file2(3)rmfilename删除文件filenamepepa^propfli^/abt玄件旺)»»■:£)宜昔1乂)搜至成线螺F[pepa^prapaatic]$a.c[诚睥陌仲网atK]$is-I总用鼠12-rw-rw-r--.-rw-rw-r-*.-rw-rw-r--.[pepa@pra)po[pepa^prapci.刍用坦12-rw-rw-r--,-rw-rw-r--.-rw-rw-r-亍.[|p即Q0PIHO网fpepa^prapa[pepa^prapa[pepogproDOJ即。函仰叫[pepagprapa[邱曰踊仰叩[典网旗|『卯0归用虽a-rw-rw-r--.-rw-rw-r-二ljDepo®rgpci1pep©pepD17LL2■.月3B19i:DDtna.c1pqpQpepo17112.fl16&Bl34mx^c1gopepo6012月36]@;57fl/rCahc]$rnvina.cmz.c&任Is-I1pepoEd1711pepopepDDD1ipcjxjpepo1?L板伸ahc]tabcji脯atjc]sahc]$atic]$emz.csb<]$Is-I1pepopepo1?11pepopepo66atjc]i&|以ieee;34nx.c12.月3BJ日烦my„c12J33619=S3■*以月16GB94nx.cL2J=I翦10r57ny.C通过实例写出Linux下C程序编辑运行过程。在终端命令下输入vifilename命令,这里我输入vihelloworld.c创建并打开helloworld.c文件按1进入编辑模式,输入下列code:#include<stdio.h>voidmain(void){Printf(“helloworld!\n”);}输入:wq保存退出输入cchelloworld.c编译,在输入./a.out运行
三、实验总结在实验一中,我初步对linux有了初步的了解,能熟练目录和文件进行操作,并且能用linux进行基本简单的基于c的编程。师傅领进门,修行在个人,算是通过这个实验进入了linux的门。实验二文件操作一、实现CP命令实现思路:提取出源路径和目标路径到函数中,放于定义的两个int变量,定义缓冲区buf,对两个变量进行判断,如果符合要求打开读取源文件信息存于缓冲区,然后写到目标文件中,关闭两个文件以实现等同cp效果。此处以hello。C文件为源文件,目标文件1.c。文件任)诲刑日直有w般索(st娈斯m我脚H)shlyan]5shiyan]£shlyan]shlyan]5shiyan]£shlyan]sshiyan]Scccopy,cshiyan]sIsheUo.cLs^.c[pepo@|propo[pEpo^propa[pepo^propo[pepDgiairgpo[pepo^propoaBdutheUo.cprogrss2,cshiyain_3_2,cshiyan_3,cllst.h-process.cprogrss-c5ihlyan_33.csocket.cI[pepoa3iropcishiyam]5,/a,outheUo,cLpepo@|proposhiyanjsIslist,卜■J.outhelLoxI-j-:■.[pepoSpropcishiyam]S■^include^stdlo-h>printf|r,heUci\n")-;return日;process,cprogrss<2.chellos1.Cprogrss^c5hiyan_3_3,csocketsshiyan_3_2-cshi^ain_3・c■cst1.C[pepowroposhiyan]5^includecstdiD.h>■cst1.Cprintf[^hElloXn*"};return[pepo-gproposhiyan]S|
在调试cp命令中,由于一开始并未定义缓冲区,导致程序出错,后假如缓冲区,程序得以正常运行。二、实现ls命令实现思路:调用dirent.h来实现打开目录流,定义变量,随后对变量进行判定用opendir、readdir打开并读取目录流,将值传递给另一个变量,打印出来。编译源程序并运行:
在实现ls命令中使用man手册查找需要的dir等目录流信息,man是个强大的命令,在编程的过程中由于疏忽一开始并未假如判断条件,有些突发情况会难以处理,最后通过课件修过过来。三、设备文件操作鼠标对应的设备文件是/dev/input/micepepo@propo:-女件(£i锚[日查看①搜毒(S)河任)耕晰旦)[pepo(apropo.[pepfl^propo[pepo(apropo[pepocaprDpo-]$[pepa(aprDpo-]$[pepo(?prDpo']$Ipepo^propo']$Ipepa(aprDpo-]$[pepo^propo-J$[pepo^propo[pepa^propo[pepo(@prDpD[pepo(JprDpDi[pepo(0prDpo〜]$[pepfl(epropo打$[pepa(apropo-]$[pepo(aprDpo~]i[pepo(flprDpo']$Ipepo^propo-]$Ipepo(aprDpo-]$[pepo^propci-J$Ipepo^propaTS[pepa(2prDpoIs-il/dev/input/mice58G3crw-i1rootraaiL3r63IfIpepcCprapo-Jt|实验三进程间通信(一)进程的创建(必做题)编写一段程序,使用系统调用fork()创建两个子进程,在系统中有一个父进程和两个子进程活动。让每个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。pepespropo^/shiyani文件旧潮田;曰直右协妹挡I察洲I】标肪也,*iiclLde<5;diaLh>netIn(1(intpl,P2;..hi-cl(pL=Jork|)|==l.i;if(pl==g)|utchar('b'];{whHe((p2=fork(])==-l);if(p2=B)put€har(’b];elseput匚harnl'a'):}fork,C[dos]6.16,图"KttEifMim"M赃[Si势捎E蚌命回[口即蒐prnp口shiiyanlsccfenk..<[pepc^prapeshiy«anH/a.ourtab[p«pi^pij'GpaShiyan|sc.ya.ojtsheIpeps^pr^QOstiiyan]S..—out曲[ptpc^PFIMshiyonlic./3i,cwt□berpepoi^propDsliiyan]$./d.DutbacIpepoepropo5iiiyan]$./ai.cijt曲[pup瘤shiyan15c./»,Qutbalipe口嫦shiyan|sc./a.&jt前匚IpppD即「opo5iiiyan]S./ai.outbacipepD^prcpDsiii^an]^./a-c^tacbIpepogprDpDsMyan]$./a.&jtbar[pep。即「opo5iiiyan]$./a.outabcipepoidprcpD./a.cutaclipepc^p^poshiyan|£4.「乳outnbcIpepo^propDsHiyan]$./a.&jtbarlpepD即「opo5iiiyan]$,/ai.okJtIpcpQ^propQsliiyon]$.Js-叫十□beIpepu^propo^iyan]$./a.&jtbacIpepogpropDsiiiyan]$,/ai.outabcipepo^prcpD./a.&ut□beIpepogprDpDslilyanlS./a.&jt卜h[gp碗pBposhi“n]5r|创建一个新的子进程。其子进程会复制父进程的数据与堆栈空间°Fork成功则在父进程会返回新建立的子进程pid,而在新建立的子进程中则返回0。如果fork失败则直接返回-1。所以在循环条件上出现上述情况。修改已编写的程序,将每个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上出现的现象,并分析其原因。(必做题)pcpoSpropo^^sJhlyiani—口F女1判El4HUE?史普3w«悟IRawiiMumir*lncL.de«stdlo.h>Iifrtpl.p2,i;r"Lle|(pl=fnrk(11=-1|;print?('daughterWi".lhelsift{—lMW・Tg||—-11;jf(p2==SJfc-ri{i=BwSBBji*+|printf|"s«ilid\nBri|:elsepriintfIHpirent4M\nBPlhBforkL|dot]171.对狄17"女件⑥湾Ul回宣舟/ft*悟卜噌物叫MP»rcnt5492*psrent&493昭wrr心舛ip5rent5493pdrents496iparentiOJpsrcnt5436口日「电FitH99Ipepo£prnposhi|-ari]S50085cnlsm35CT|4SDH5sixi65CT|7汹B5smaSQHIO.汹11sdh14e13子进程创建成功,到下一个while,第二个子进程成功到最后循环,输入parentsl-500,随后返回继续上面子进程的循环输出。【思考题】系统是怎样创建进程的?答:在UNIX系统中,只有0进程是在系统引导时被创建的,在系统初启时由0进程创建1进程,以后0进程变成对换进程,1进程成为系统中的始祖进程°UNIX利用fork()为每个终端创建一个子进程为用户服务,每个终端进程又可利用fork()来创建其子进程,从而形成一棵进程树。当前运行的程序(主进程)的父进程是什么?建立如下的c文件来获取pid回pr6pd;-/shiyarii□x立件I日说细E)查携零佥,耳端①叫融回,#include*sldiio.h>{intpl.p2si?.■jllA((pi=f0rk()J==-il:if[pl==6]UrlnlTl-daughter邻,qetplcJd)?(while{{p3=ffiFk(]}=^l);if(p2=sjprintfI"5Dn-£d\nh..getpid());elseprintf1"^ient湖、时,getpidt)J;6b1G-17全辈HfDrk.C"[rfOE]6b1G-17全辈文件旧条辑归SS(V)搜案国终端(!)帮助也I)vifork.ccc-forkrCviforkutccfork.c,/a.outsori51B4SDn491son492SOH433son494551495SOH496son497son498SOH499vifark.c[pepo^propoishiyan]5[pepojpropashiyan]$daughter5S19parents5@185on50ze[pepo^praposhiyan]$[pepoOproposhiyan]S[pepoSproposhiyan]$[pepo?praposhiyan]$[pepoOproposhiyan]£daughter5193vifork.ccc-forkrCviforkutccfork.c,/a.outsori51B4(二)信号量机制实验【实验内容】编写一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到父进程发来的信号后,分别输出下列信息后终止:Childprocess1iskilledbyparent!Childprocess2iskilledbyparent!父进程等待两个子进程终止后,输出以下信息后终止:Parentprocessiskilled!实验要求:⑴运行程序并分析结果。⑵如果把signal(SIGINT,stop)放在①号和②号位置,结果会怎样并分析原因。⑶该程序段前面部分用了两个wait(0),为什么?⑷该程序段中每个进程退出时都用了语句exit(0),为什么?程序代码:include<stdio.h>#include<stdlib.h>include<signal.h>include<unistd.h>#include<sys/types.h>#include<sys/wait.h>intwait_mark;voidwaiting(),stop();voidmain(){intp1,p2;signal(SIGINT,stop);while((p1=fork())==-1);if(p1>0){//while((p2=fork())==-1);if(p2>0){//wait_mark=1;waiting(0);kill(p1,10);kill(p2,12);waiting();waiting();printf("parentprocessiskilled!\n");exit(0);}else{wait_mark=1;signal(12,stop);waiting();lockf(1,1,0);printf("childprocess2iskilledbyparent!\n");lockf(1,0,0);exit(0);}}else{wait_mark=1;signal(10,stop);waiting();lockf(1,1,0);printf("childprocess1iskilledbyparent!\n");lockf(1,0,0);exit(0);voidwaiting(){while(wait_mark!=0);}voidstop(){wait_mark=0;as河回萱音也#ttffi-(s:-RSiCii肆曲但)[口如妙rQp。-]scdslulvan[pcpo^pnaposhiyan]5viprocess-.cFpepci^propeShiyan]£<£process.£process.c:TtJnainJi=k:piroces&.c:22:柳误w提世籍函勇;WatL的笑*木少process,5例作:S!烘蛤函数’福JT的买着玄小[pepc^prcpDshiyan]5vipmocess-.c而匹枷「QPQshiyan]Sprocess.-cpraces-s.c:在西;®mmin”中:prates&.c:22:WiS=提林错函竟,必折’的其卷木少叫眼都私£眨3;t#1S:携烘始函数’有JTKJ买着太小[pepo^prcposhiyan]5viprocess-.c[ipepci^propDShiyan]£<£process.£[pepc-sproposhi/anjs./a„out*-|[CM[|DA[[0*([D*Cparentprocessiskilled!childprocess1iskHLed肿paffint:diildprocess2iskilledbypsrcnt![ipepc^proposhiyan]S|当按下ctrl+c中断进程时,程序将执行,父进程打印消息,父进程kill子进程,子进程1收到消息上锁,打印消息,然后解锁关闭进程,随后子进程2同样操作,在kill子进程后父进程打印消息,中断自身进程。(2)运行后表面并没有任何改变,在两处加入代码之后,偶尔会出现需要在中断第一次进程后需要进行第二次中断。在添加两个中段接受指令后,会先执行关于子进程的代码片段。答:父进程为子进程收尸,防止僵尸程序出现。答:在调用处强行退出程序,运行一次程序就结束。(三)进程的管道通信实验(四)【实验内容】1.编制一段程序,实现进程的管道通信。使用pipe()建立一条管道线。p2分别向管道各写一句话:两个子进程pl和Child1issendingmessage!Child2issendingmessage!而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。实验要求:运行程序并分析结果。SftIFl询#正1童好世ime,宜吹⑴希曲世)MJicLudecunistdt任includs^&ignal.l^#include^stclio-h*MtpidlKpiJ2;nain(lintfd[2J;zhardutPi[perie&]InPipe[16D]pipeffd);..■I':[[pldi=Tork(i]=-]|;if(pijl==0)LKMW叫】口⑻;sprintf(OutPiperrichild1processissending■&5sage*h);write[+d[1],(JutPipeP50]i;sleepsI;lockfifcl[l]^P0}jesilCO):卜else1..3呻o@prap<i:-fshiyan衮带E〕编由旧直看if唳(S1宾*3希快Hhilt((pid2=fDrk[]]==-!);if(pid2=e^lockfCfd!!],!,®!;sprintf(QutPipBin<hild2processissendingtwrits(fdll],OutPipe.595;sleiap(3);Lodk1(fd[l]PB3};exitfS);卜elsersad(*d(0]jnPipe.59hprintf(iT^s\n"FlntPipe1;闷iH白);rsadffdtOLInPijH.Sehprifitf(哓sAri^.IWPipeJ;®cLt(6);po@prope-/shiyan文件旧铜团导查看凹摸寿(S)绑〔I】帮助®[pepo^proposhwn|$[pepo^propoShiyan|$[pepo@propo5'iiyanli[pepo@proposhiyanI$[pepo@proposhiyanI$[pepo@propashiyAnjiIpepo^proposhiyan|$Ipepo^proposhiyan]$[pepafproposhiyan]$[pepo^proposhiyan]$[pepo^proposh:ynn]$[pepo@proposh:ynn]$[pepo^proposh"Rn]$[pepo(aproposhLvan]$Ipepo(aprQposhiyan]$vipide.cIpepo(aproposhiyan]$ccpide.cpide.c:在函数‘Tair'中:pide.c;L8;窖言:18二、产寻」亍因建面技!'Exit'H而朽pide.c:30:乎苫:I拦二声寻」学四注1Z节!'Exit'k书匕pide.c:^0:甲苫:I提二产狂1Z节!'Exit'H书Z?[pepogproposhiyanK./a.outchild1processRsending岫ssage!c'i:ild2processissendingtesssge!Ipep^proposhi^anli|在父进程中用pipe()建立一条管道线,往管道里写一句话,两个子进程接收这句话。定义缓冲区,创建管道,随后创建进程,将父进程的消息写进缓冲去写进管道再传给写进子进程,子进程接受。pepo@propo:-/stuyan交件旧编辑回直看(V)搜索③悠端⑴帮助(WQntpidl,pid2;nairUirtfd[2];charOLtFipe[i00]jinFipetiaa];pipe(fd);lockf(fd[l]plF0);prirtf("parentsissendingmessage!\n");sprinTf(OutPipeF"thisispepoparents'msg!\n");write[fd|1]r0utPipe,5。);lockf(fd[i]R0r0);while((pidl=fork())=-L||(pid2^fcrk()-1};if(pidl--0&&pid2=^0){iockf(fd[0]plr0);processisresevicemessage!\n1);processIsresevicemessage!\n");printfCtheprocessisresevicemessage!\n1);processIsresevicemessage!\n");printfCthemessageis^s\n".InPLpehread(fd[0]finPlpe^Q);printf("themessageis^\n''.TnPipe):lockfffd[0]rQr0);5,1exlt(O);}--插入■■
5,1交件够绑5旧fitflV)搜装(5j狙就⑴帮助徂)Eidez."c?S®^-main,^;pide2.c:17i律误;pitT圭产用〔在此函池PJ糖一衣使用}£hl)/an]3shlyam]Jslhiyan]$shi^an]$shiyan]JtfipidA2.cvipide2.cccpidE2.ccc:pide2.cr/3,DUtpide2.c:17:精误:[即使在一T函®]向劳次出初-群个未芦明的神识符在其pide2.c:17;错在:所在的函数内也H报告一M目)血颇叶叩口[pepo@propo[pEpo@prDpQ[pepo@propo[pepogpropaparentsissending[Be&sageJ[pepo@proposhiyanlichild£hl)/an]3shlyam]Jslhiyan]$shi^an]$shiyan]JtfipidA2.cvipide2.cccpidE2.ccc:pide2.cr/3,DUtsddddddddaasdasdadbash:sddddddddaasidiasdad:corrmaednotfound[pepo^proposhiyan]ir/a,outparentsissendingHessage!child1processisre&etfice帕swage!child2processisresevicernessage!theisthi&pepoparents'n&g![pepo^proposhiyan]$vipide2rc[pepogpropoihiyan]$vlpide2.c|定义一个管道,父进程传递消息到管道,随后创建两个子进程接收这个消息,然后结束进程。实验小结:再这个实验中一开始打算将两个子进程分开判断,但是常常最后出现结果不是出现僵尸进程就是跳过其中一个子进程结束,最后我觉得既然两个进程同时创建,不如直接将他们一起进行判断。(四)消息的发送与接收实验【实验内容】1.消息的创建、发送和接收。使用系统调用msgget(),msgsnd(),msgrev(),及msgctl()编制一长度为1k的消息发送和接收的程序。〈参考程序〉①client.c#include<sys/types.h>#include<sys/msg.h>#include<sys/ipc.h>#defineMSGKEY75structmsgform{longmtype;charmtext[1000];}msg;intmsgqid;voidclient(){inti;msgqid=msgget(MSGKEY,0777);for(i=10;i>=1;i--){msg.mtype=i;printf(“(client)sent\n”);msgsnd(msgqid,&msg,1024,0);}exit(0);}main(){client();}②server.c#include<sys/types.h>#include<sys/msg.h>#include<sys/ipc.h>#defineMSGKEY75structmsgform{longmtype;charmtext[1000];}msg;intmsgqid;voidserver(){msgqid=msgget(MSGKEY,0777|IPC_CREAT);do{msgrcv(msgqid,&msg,1030,0,0);printf(“(server)received\n”);}while(msg.mt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代产品设计中的民族图案与色彩研究
- 现代纹样设计在商业品牌推广中的应用实践
- 现代办公环境下的AI餐厅服务应用研究
- 现代物流行业的服务创新与升级
- 现代办公环境下的报告制作技巧
- 2024年五年级语文上册 第六单元 口语交际:父母之爱说课稿 新人教版
- Module7 Unit2 This little girl can't walk(Period 1) (说课稿) -2024-2025学年外研版(三起)英语五年级上册
- 7《什么比猎豹的速度更快》说课稿-2024-2025学年五年级上册语文统编版001
- 13美丽的冬天 说课稿-2024-2025学年道德与法治一年级上册统编版
- 2024-2025学年高中化学 第1章 第4节 第2课时 有机物分子式与分子结构的确定说课稿 新人教版选修5
- 2024年山东省青岛市普通高中自主招生物理试卷(含解析)
- 2024信息技术数字孪生能力成熟度模型
- 交通银行股份有限公司操作风险管理政策
- 提高数学教师命题能力培训
- 数字证书使用承诺函
- 猎聘网在线人才测评题库
- 《社区康复》课件-第八章 视力障碍患者的社区康复实践
- 透析患者的血糖管理
- 沥青拌合站讲义课件
- 《逆向建模与产品创新设计》课程标准
- 前置审方合理用药系统建设方案
评论
0/150
提交评论