您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统原理第一3次实验
《操作系统原理》第一次实验内容linux下的c编程选一编辑程序编写c语言源程序,如vi。源程序的扩展名为.c用linux下的编译器gcc编译成目标文件,执行。例:用vi编辑c源程序test.c如下#includestdio.hintmain(void){printf(helloworld!);}格式:gcc[options][filenames]options:共有100多个,大多数很少用到常用:(1)-c只把源代码(.c文件)编译成目标代码(.o文件)。例:$gcc-ctest.c将test.c编译成目标文件test.o(2)-o[file1]file2将文件file2编译成可执行文件file1例:$gcc-otesttest.c(3)-v得到所用的gcc版本的相关信息例:$gcc-v(4)-S为c程序文件产生汇编语言(.s文件)文件后停止编译例:$gcc-Stest.c得到test.s的目标文件实验一进程管理、管道通信实验名称:进程管理、管道通信实验目的:1、熟悉linux下利用gcc、gdb编译、调试C程序2、掌握进程的概念,明确进程的含义3、认识并了解并发执行的实质4、掌握进程间无名管道的通信实验准备:1、预习linux下利用gcc编译c程序。2、参考课件及资料掌握进程的创建过程。3、参考课件及资料掌握进程的并发执行。4、参考课件及资料掌握进程间无名管道的通信实验内容:内容一:敲通如下程序,分析运行结果。main(){inti;while((i=fork())==-1);printf(i=%d,i);if(i)printf(Itisaparentprocess!);elseprintf(Itisachildprocess!);}内容二:编写程序,用系统调用fork()创建两子进程。父进程显示50次字符串“father”,子进程1显示50次字符串“son”,子进程2显示50次字符串“daughter”。观察并记录屏幕上显示结果,分析原因。(提示:可在各进程中加入sleep,观察结果分析原因)内容三:敲通如下程序,写出运行结果,分析程序功能。#includepthread.hvoid*ptest(void*arg){printf(Thisisthenewthread!);return(NULL);main(){pthread_ttid;printf(Thisistheparentprocess!);pthread_create(&tid,NULL,ptest,NULL);sleep(1);return;}内容四:编写程序,显示连续3个fork()最多能创建几个进程。内容五:敲通管道通信(课件)例题,写出运行结果,分析程序功能内容六:编写一程序,建立一个管道。同时,父进程生产子进程P1,P2,这两个子进程分别向管道中写入各自的字符串,父进程分别读出它们,并显示出来。(可参考计算机操作系统教程张尧学著第三章第七节进程通信中的进程通信实例之管道例2)实验总结:实验课上,老师留的很多时间供我们完成实验,同学们都很积极参与,这次实验让我掌握和熟悉了进程管理和管道通信的使用,这次实验中反了很多小错误,最后在同学的帮助下顺利完成,感谢同学的的帮助,下次实验争取不犯错误,顺利完成
本文标题:操作系统原理第一3次实验
链接地址:https://www.777doc.com/doc-2381119 .html