操作系统导论第四章作业

作业相关的文件可以到异步社区下载,链接:异步社区

进程: 可以简单理解为运行中的程序。
进程状态: 运行(running) 就绪(ready) 阻塞(blocked)
操作系统如何启动并执行一个程序: 首先将程序的代码和静态数据(初始化变量)加载到内存,然后为程序运行时栈分配内存(创建和初始化栈),执行IO设置相关工作,最后找到main函数,启动程序。OS将CPU的控制器转移到新创建的进程中,从而程序开始执行。


CPU的利用率应为100%,没有进行IO操作。操作系统导论第四章作业
操作系统导论第四章作业
使用-c查看答案可以看出,确实为100%。PID为0的进程先执行,PID为1的进程等待,当0执行完状态为DONE时,1开始执行。

上述指令中,-l后面,5:100,5的意思是该进程执行5条指令,100意思是使用CPU的概率。-p要和-c一起使用,可以查看一些统计数据。

当进程进行IO操作时,此进程会被阻塞,CPU处于空闲,可以执行其它进程。

使用时间为10
操作系统导论第四章作业
操作系统导论第四章作业

操作系统导论第四章作业
可以看出,进程0在执行IO操作时,进程1在使用CPU,提高了效率,因此交换顺序重要。

操作系统导论第四章作业
-S SWITCH_ON_END 使得必须要CPU此时执行的进程结束后才能去执行另外一个进程,故1处于就绪状态,直到0执行完(DONE),1才开始执行。

操作系统导论第四章作业
和3相同。

操作系统导论第四章作业
-I IO_RUN_LATER 使得进程0(使用IO的进程),在其完成后,需要等待其它进程结束,才能继续执行。系统没有被有效利用。

操作系统导论第四章作业
和6不同的是,这里-I IO_RUN_IMMEDIATE,执行时间明显缩短。