shell实现先来先服务调度算法
时间: 2024-05-25 22:06:20 浏览: 11
先来先服务调度算法是一种简单的进程调度算法,它按照进程到达的先后顺序进行调度,即先到达的进程先执行。在shell中,可以使用以下脚本实现先来先服务调度算法:
```shell
#!/bin/bash
# 定义一个数组,存储进程的到达时间、服务时间和完成时间
declare -a process
# 定义一个变量,表示当前时间
time=0
# 定义一个变量,表示进程数
n=0
# 读入进程的到达时间和服务时间
while read -r arrive_time service_time; do
# 将进程的到达时间、服务时间和完成时间存入数组中
process[$n]="$arrive_time $service_time $((time + service_time))"
# 更新当前时间
time=$((time + service_time))
# 进程数加1
n=$((n + 1))
done
# 输出进程的到达时间、服务时间和完成时间
for ((i=0; i<n; i++)); do
echo "Process $i: ${process[$i]}"
done
```
以上脚本中,我们使用了一个数组来存储进程的到达时间、服务时间和完成时间,然后按照进程到达的先后顺序进行调度。具体实现过程如下:
1. 定义一个数组process,用来存储进程的到达时间、服务时间和完成时间。
2. 定义一个变量time,表示当前时间,初始值为0。
3. 定义一个变量n,表示进程数,初始值为0。
4. 使用while循环读入进程的到达时间和服务时间,将进程的到达时间、服务时间和完成时间存入数组process中,更新当前时间time,进程数n加1。
5. 使用for循环输出进程的到达时间、服务时间和完成时间。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)