欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统实验报告.docx

    • 资源ID:1137517       资源大小:248.45KB        全文页数:29页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统实验报告.docx

    操作系统实验报告目录:一、实验一41 .实验目的-42 .实验内容43 .实验要求-44 .实验设计45 .实验程序46 .实验结果一一47 .实验感想一一5二、实验二51 .实验目的-52 .实验内容-53 .实验要求-54 .实验设计一-55 .实验程序66 .实验结果87 .实验感想8三、实验三81 .实验目的-82 .实验内容83 .实验要求84 .实验设计95 .实验程序-106 .实验结果117 .实验感想11四、实验四111 .实验目的-112 .实验内容113 .实验要求-114 .实验设计125 .实验结果-166 .实验感想-17五、实验五171 .实验目的-一-172 .实验内容-一-173 .实验要求-174 .实验设计175 .实验程序186 .实验结果197 .实验感想19六、实验六201 .实验目的一一202 .实验内容203 .实验要求-204 .实验设计205 .实验结果236 .实验感想一一24七、实验七241 .实验目的一一242 .实验内容243 .实验要求一一-244 .实验设计一一255 .实验程序276 .实验结果287 .实验感想28实验一UNIX/1INUX入门一、实验目的了解UNIX/1INUX运行环境,熟悉UN1X/1INUX的常用基本命令,熟悉和掌握UNIX/1INUX下C语言程序的编写、编译、调试和运行方法。二、实验内容熟悉UNIX/1INUX的常用基本命令如Is、who、pwd、ps等。练习UNIX/1INUX的文本行编辑器Vi的使用方法熟悉UNIX/1INUX下C语言编译器cc/gcc的使用方法。用Vi编写一个简单的显示-He11o,Wor1d!"c语言程序,用gcc编译并观察编译后的结果,然后运行它。三、实验要求按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。四、实验设计1inux系统常用命令格式:commandoptionargument1argument2.五、实验程序#inc1ude<stdio.h>#inc1ude<std1ib.h>intmain(void)(printf("He11oWor1d!n");system("pause'();return0;1六、实验结果七、实验感想1UbUntUJbUntu:文件(F)编辑(E)查看(V)搜索(S)终端(T)帮助(H)orunacommandasadministrator(user"root"),use"sudo<command>".See"mansudoroot"fordetai1s.YAubuntUQUbUntu:$Is1.c.c1JbUnt岬JbUntu:Sgcc-ogcctest1.cjbuntuubuntu:*$Is1.c1.cJbUnt照UbUntU:$./gcctestHe11oWor1d!ubuntiaubuntuz-S通过第一次室验,熟悉了11NUX系统的操作,终端的使用,GCC编译C程序实验二进程管理一、实验目的加深对进程概念的理解,明确进程与程序的区别:进一步认识并发执行的实质。二、实验内容(1)进程创建编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示“a“;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。(2)进程控制修改已编写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。(3)进程的管道通信编写程序实现进程的管道通信。使用系统调用PiPeo建立一个管道,二个子进程P1和P2分别向管道各写一句话:Chi1d1issendingamessage!Chi1d2issendingamessage!父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,再接收P2)。三、实验要求按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。四、实验设计1、功能设计实验要求建立一个管道实现父进程和子进程间的通信,子进程有两个,子进程向管道里写数据,父进程从管道里读出数据。管道的作用是将两个缓冲区相关连起来,使得一个缓冲区写的东西可以从另一个缓冲区读出来,遵循先进先出的顺序。程序的顺序是这样的:先创建子进程1,向管道写入一句话,子进程1结束后创建子进程2,向管道写入一句话,最后父进程从管道中读出。2、数据结构子进程:使用PiC1tfork。函数创建,返回值为子进程号。管道:使用intpipe(intfi1edis)创建无名管道,fi1edis2为两个文件描述符。3、程序框图五、实验程序#inc1ude<stdio.h>#inc1ude<string.h>#inc1ude<unistd.h>intpipe(intfi1edis2);#defineINPUTO#defineOUTPUT1intmain()(intfi1e-descriptors2;pid_tpid1,pid2;定义子进程charbuf256;intretumed_count;pipe(fi1e_descriptors);创建无名管道if(pid1=fork()=-1)创建子进程1(printf(HErroronforkn,t);exit(1);)if(pid1=0)fprintf("inthespawned(chi1dI)processn");CIoSe(fi1e_descriptOrSuNPUT);关闭通道的读端write(fi1e-descriptorsOUTPUTJ,'chi1d1issendingmessage",str1en("chi1dIissendingmessage");向管道中写一句话exit(O);e1se(if(pid2=fork()=-1)创建子进程2(printf(MErroronforkn);exit(1);1if(pid2=0)(printf(,inthespawned(chi1d2)processn");c1ose(fi1e_descriptorsINPUT);关闭通道的读端write(fi1e-descriptorsOUTPUT,chi1d2issendingmessage",str1en("chi1d1issendingmessage");向管道中写一句话exit(0);1e1se(父进程printf(,intheparentprocessn't);C1oSe(fi1e_descriptorsOUTPUT);关闭管道的写端returned_count=read(fi1e_descriptorsINPUT,buf,sizeof(buf);printf(',%dbytesofdatareceivedfromspawnedprocess:%sn",returneC1COUnt,buf);父进程从管道中读出数据)1returnO;六、实验结果由图可知,父进程先后接受了子进程向管道写入的两句话,并成功地打印出来。两个子进程分别向管道写入了25个字符,并且是子进程1先写的,子进程2后写的,故输出的顺序也是如此。七、实验感想通过本次实验,我们对进程的概念加深了理解,熟悉了进程的创建方法与作用机制,明确了进程与程序的异同。同时,我们掌握了使用管道通信的机制,进一步认识了并发执行的实质。实验三一个进程启动另一个程序的执行一、实验目的编写1inux环境下,fork。与exec()的结合使用实现一个进程启动另一个程序的执行的基本方法,掌握exec()的几种调用方法。二、实验内容父进程从终端读取要执行的命令,并交给子进程执行。父进程等待子进程结束,并打印子进程的返回值。提示:从终端读取要执行的命令可用fgets()实现。三、实验要求按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。四、实验设计1、功能设计根据实验要求,父进程和子进程将被分配不同的任务:父进程从终端读取要执行的命令交给子进程,然后等待子进程技术打印子进程的返回值;子进程执行父进程读取的命令并返回给父进程。因为子进程执行命令需要打开其他文件,所以需要使用exec()类的函数实现在一个进程来启动另一个程序,在这里应使用exedp()函数从PATH环境变量中查找文件并执行。对于父进程,可以调用fget()从终端读取要执行的命令,以字符串形式存储然后交给子进程执行,待子进程执行完毕后接收子进程返回值并打印。由于要求带参数的命令也可以执行,那么需要在父进程中fets两次,第一次gets得到命令给串command,然后gets参数给串Command1,并且将这两个参数分别传到子进程的exec()函数,其中前两个都是command,第三个是command1o2、数据结构用Char*型全局变量command存放指令用Char*型全局变量Command1存放参数3、程序框图结束五、实验程序#inc1ude<stdio.h>charcommand256;charcommand1256J;intmain()(intrtn;子进程的返回数值interrorno;whi1e(1)printf(">);/从终端读取要执行的命令ets(command,256,stdin);printf("<,);从终端读取要执行命令的参数fgets(command1,256,stdin);commandstr1en(command)-1='0,;command1str1en(command1)-1='0'if(fork()=O)子进程执行此命令errorno=(command10=0)7exec1p(command,command,NU11,NU11),exec1p(command,command,command1,NU11);如果没有参数则前者的exec1p()函数,如果有参数则执行后者,有无参数只需看COmmandI是否为Operror(command);如果exec函数返回,表明没有正常执行命令,打印错误信息exit(errorno);)e1se父进程,等待子进程结束,并打印子进程的返回值wait(&rtn);printf(,'chi1dprocessreturn%dn",rtn);)returnO;六、实验结果testZ.ctest.ctextte×tZte×t2.ctext.cchiIdprocessreturn0>root1oca1hostroot#>Is<

    注意事项

    本文(操作系统实验报告.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开