【Linux实验7】Linux Shell实现模拟多进程并发执行实验班报告

目录

一、实验内容

二、实验过程

三、相关知识

1.shell

2.多进程并发执行

3.后台执行

4.分时系统

5.批处理

6.执行时间

7.系统态时间

8.用户态时间


一、实验内容

在bash中,使用后台任务来实现任务的“多进程化”。在不加控制的模式下,不管有多少任务,全部都后台执行。也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行。我们就先实现第一种情况:

这个实例实际上就在上面基础上多加了一个后台执行&符号,此时应该是5个循环任务并发执行,最后需要3s左右时间。

 

请写实验报告,包括你对shell的认识,对多进程并发执行的认识,对后台执行的认识,对分时系统的认识,对批处理的认识,对执行时间、系统态时间和用户态时间的认识等等。

二、实验过程

1、首先在根目录下创建名为test.sh 的文件,并使用vim打开文件进行编辑

 2、输入相应程序后,按ESC 键退出编辑模式,然后输入:wq退出vim

#!/bin/bash:通常都作为shell脚本的开头;其中的#!'在此处作为一个特殊符号,后面紧接的是脚本解释器的路径,在书写正确的前提下,不同的路径代表不同类型的shell 解释器。
该段代码的含义是休眠1秒,然后输出"done!"执行五次。

3、输入命令time bash test.sh,得到相应实验结果

 这种情况下,程序顺序执行,由图中可以看出执行时间是5.014s。

4、进行第二个程序实验时,输入vim test.sh 进入vim模式进行编辑,修改第一个例子的代码,然后保存退出

&的作用是将此进程放到后台执行;wait是用来阻塞当前进程的执行,直至指定的子进程执行结束后,才继续执行。使用wait可以在 bash 脚本"多进程"执行模式下,起到一些特殊控制的作用。

5、再输入命令 time bash test.sh,得到相应实验结果

此时应该是5个循环任务并发执行,由图中可以看出执行时间是3.009s,比之前快了

6、结论

使用多进程的思想进程进程的管理,辉大大减少时间消耗。而通过最少的时间消耗达到与单线程执行的同样的事情。

三、相关知识

1.shell

(1)Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

(2)UNIX/Linux操作系统下的Shell 既是用户交互的界面,也是控制系统的脚本语言

  • 提供了许多参数和变量,并具有在高级程序语言中才具有的控制结构。
  • shell程序不需要编泽,而是从脚本文件中读取一行命令,执行一行,所以又称为解释行语言。

(3)UNIX/Linux 中比较流行的常见的Shell有bash、zsh、ksh、csh等等,Ubuntu终端默认使用的是 bash。

2.多进程并发执行

使用后台任务来实现任务的“多进程化”,让所有任务都同时执行,消除计算机部件之间的互等现象,以提高系统资源利用率。
 

3.后台执行

(1)概念:当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,为了使用户看不到这些进程的运行,也就是说在后台运行。(比如当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上&实现后台运行)

(2)特点:

  • 打开可以继续使用
  • 无需重新打开、登录
  • 一直处于运行状态

4.分时系统

(1)多用户交互操作系统:在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机。

(2)分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。

(3)主要分为三类:

  • 单道分时操作系统
  • 多道分时操作系统
  • 具有前台和后台的分时操作系统

5.批处理

(1)定义:批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。

(2)常见批处理:DOS批处理、PS批处理

(3)文件扩展名为bat

(4)Windows常用批处理命令:

  • echo:打开回显或关闭请求回显功能
  • pause:暂停命令
  • set:显示、设置或删除变量

6.执行时间

一个进程从开始运行到结束运行后,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。

7.系统态时间

运行状态下系统空间的时间,即进程获得CPU资源后在内核态的执行时间。

8.用户态时间

运行状态下的用户空间时间,即用户的进程获得了CPU的资源后,在用户态执行的时间。
 

  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值