在做这次实验的时候,一定要耐心一点。我当时做的时候就因为在修改的过程中出现了一点小小的失误,导致了整个实验重新来过一遍。为了避免这样的情况发生,一定要记住修改的时候,要注意修改的内容无误。
本次实验包括如下三个方面的内容:
-
基于模板“process.c”编写多进程的样本程序,实现如下功能:
-
所有子进程都并行运行,每个子进程的实际运行时间一般不超过30秒;
-
父进程向标准输出打印所有子进程的id,并在所有子进程都退出后才退出;
-
-
在Linux0.11上实现进程运行轨迹的跟踪。基本任务是在内核中维护一个日志文件/var/process.log,把从操作系统启动到系统关机过程中所有进程的运行轨迹都记录在这一log文件中。
-
在修改过的0.11上运行样本程序,通过分析log文件,统计该程序建立的所有进程的等待时间、完成时间(周转时间)和运行时间,然后计算平均等待时间,平均完成时间和吞吐量。可以自己编写统计程序,也可以使用python脚本程序—— stat_log.py ——进行统计。
-
修改0.11进程调度的时间片,然后再运行同样的样本程序,统计同样的时间数据,和原有的情况对比,体会不同时间片带来的差异。