linux操作系统应用实训,linux操作系统应用实训报告.docx

linux操作系统应用实训报告

操作系统实验报告(Linux版)  网络142潘豹  实验一观察Linux进程状态  一、实验目的  在本实验中学习Linux操作系统的进程状态,并通过编写一些简单代码来观察各种情况下,Linux进程的状态,进一步理解进程的状态及其转换机制。  二、实验环境  硬件环境:计算机一台,局域网环境;  软件环境:LinuxUbuntu操作系统,gcc编译器。  查看“不可中断阻塞”状态  创建一个C程序,如uninter_,让其睡眠30s  代码:  #include  #include  intmain()  {  inti=0,j=0,k=0;  for(i=0;i;>  #include  intmain()  {  sleep(30);  return;  }  实验结果:  查看“不可中断阻塞”状态  创建一个C程序,如uninter_,让其睡眠30s  编译链接,后台运行该程序,并使用ps命令查看运行状态  代码:  #include  #include  intmain()  {  if(vfork()==0)  {  sleep(300);  return;  }  }  实验结果:  查看“僵尸”进程  创建一个C程序,如zombie_,在其中创建一个子进程,并让子进程迅速结束,而父进程陷入阻塞  编译链接,后台运行该程序,并使用ps命令查看运行状态  代码:  #include  #incldue  intmain()  {  if(fork())  {  sleep(300);  }  }  实验结果:  实验二观察Linux进程/线程的异步并发执  行  一、实验目的  通过本实验学习如何创建Linux进程及线程,通过实验,观察Linux进程及线程的异步执行。理解进程及线程的区别及特性,进一步理解进程是资源分配单位,线程是独立调度单位。  二、实验环境  硬件环境:计算机一台,局域网环境;  软件环境:LinuxUbuntu操作系统,gcc编译器。  三、实验内容和步骤  1、进程异步并发执行  编写一个C语言程序,该程序首先初始化一个count变量为1,然后使用fork函数创建两个子进程,每个子进程对count加1后,显示“Iamson,count=x”或“Iamdaughter,count=x”,父进程对count加1之后,显示“Iamfather,count=x”,其中x使用count值代替。最后父进程使用waitpid等待两个子进程结束之后退出。  编译连接后,多次运行该程序,观察屏幕上显示结果的顺序性,直到出现不一样的情况为止,并观察每行打印结果中count的值。  代码:  #include  #include  intmain()  {  pid_tson_pid,daughter_pid;  intcount=1;  son_pid=fork();  if(son_pid==0)  {  count++;  printf("iamson,count=%d\n",count);  }  else  {  daughter_pid=fork();  if(daughter_pid==0)  {  count++;  printf("iamdaughter,count=%d\n",count);  }  else  {  count++;  printf("iamfather,count=%d\n",count);  waitpid(son_pid,NULL,0);  waitpid(daughter_pid,NULL,0);  }  }  }  2、线程异步并发执行  编写一个C语言程序,该程序首先初始化一个count变量为1,然后使用pthread_create函数创建两个线程,每个线程对count加1后,显示“Iamson,count=x”或“Iamdaughter,count=x”,父进程对count加1之后,显示“Iamfather,count=x”,其中x使用count值代替。最后父进程使用pthread_join等待两个线程结束之后退出。  实验Linuxshell基本命令使用  实验目的:  熟悉Linux操作系统环境,掌握Linux的基本命令。  实验提示:  1、Linux命令行的语法结构:  $command[[-]option(s)][optionargument(s)][commandargument(s)]含义:  ?$:lin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值