《操作系统导论》实验一:模拟进程状态转换

1.作业包:process-run.py

2.作业说明:《操作系统导论》实验一:模拟进程状态转换_第1张图片

3.作业要求:

(1)使用参数-l 5:100,5:100 运行 process-run.py
参数 -l PROCESS_LIST:逗号分隔的进程列表,形式是X1:Y1,X2:Y2,...,其中X代表进程指令数,Y(0~100)代表运行指令还是声明I/O请求
《操作系统导论》实验一:模拟进程状态转换_第2张图片《操作系统导论》实验一:模拟进程状态转换_第3张图片
该命令运行进程0,运行5条指令,且每条指令的CPU占用率为100%,此时进程1处于就绪状态,进程0运行完毕,CPU运行进程1,执行同样操作,总用时10单位时间。

(2)使用参数-l 4:100,1:0 运行 process-run.py
《操作系统导论》实验一:模拟进程状态转换_第4张图片
该命令运行进程0,运行4条指令,且每条指令的CPU占用率为100%,之后进程1发出I/O请求,CPU阻塞该进程,I/O执行3单位时间,CPU解除进程1的阻塞状态,进程1执行完成操作,总用时10单位时间。

(3) 切换进程顺序:-l 1:0,4:100
《操作系统导论》实验一:模拟进程状态转换_第5张图片
该命令运行进程0发出I/O请求,CPU阻塞该进程,并执行I/O操作,同时CPU运行进程1,运行4条指令,且每条指令的CPU占用率为100%,4个单位时间后I/O操作和进程1均运行完成,进程0执行完成操作,总用时6个单位时间。

(4) SWITCH_ON_END 参数会使得CPU等待I/O操作的完成
《操作系统导论》实验一:模拟进程状态转换_第6张图片
SWITCH_ON_END参数会使得CPU等待I/O操作的完成。
该命令运行进程0发出I/O请求,CPU阻塞该进程,并执行I/O操作4个单位时间,然后进程0执行完成操作,同时CPU运行进程1的指令,运行4个单位时间,总用时9个单位时间。

(5) SWITCH_ON_IO 参数会使得CPU在I/O操作时同时运行进程,为该模拟器的默认操作,结果与(3)一致

(6)(7) IO_RUN_IMMEDIATE参数 VS IO_RUN_LATER参数
为增强对比,减少I/O请求为2条,CPU进程为1个。

两者的区别在于I/O操作执行完是CPU先接受下一个I/O请求,还是运行进程指令。由于采用默认模式SWITCH_ON_IO,CPU执行指令与I/O操作同时进行,因而 IO_RUN_IMMEDIATE快一个单位时间。

(8)题为上述命令综合运用,提高不大,不做。

你可能感兴趣的:(操作系统,操作系统)