哈工大操作系统实验3-进程运行轨迹的追踪和统计

哈工大操作系统实验3-进程运行轨迹的追踪和统计

实验任务:
1.基于模板 process.c 编写多进程的样本程序,实现如下功能: + 所有子进程都并行运行,每个子进程的实际运行时间一般不超过 30 秒; + 父进程向标准输出打印所有子进程的 id,并在所有子进程都退出后才退出;
2.在 Linux0.11 上实现进程运行轨迹的跟踪。 + 基本任务是在内核中维护一个日志文件 /var/process.log,把从操作系统启动到系统关机过程中所有进程的运行轨迹都记录在这一 log 文件中。
3.在修改过的 0.11 上运行样本程序,通过分析 log 文件,统计该程序建立的所有进程的等待时间、完成时间(周转时间)和运行时间,然后计算平均等待时间,平均完成时间和吞吐量。可以自己编写统计程序,也可以使用 python 脚本程序—— stat_log.py(在 /home/teacher/ 目录下) ——进行统计。
4.修改 0.11 进程调度的时间片,然后再运行同样的样本程序,统计同样的时间数据,和原有的情况对比,体会不同时间片带来的差异。

即分为4个小任务,相关的阅读材料包括:
1.process.c 的编写涉及到 fork() 和 wait() 系统调用。
2.0.11 内核修改涉及到 init/main.c、kernel/fork.c 和 kernel/sched.c。

1.基于模板 process.c 编写多进程的样本程序.主要就是编写main程序。

#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <sys/times.h>
#include <sys/types.h>
#include <stdlib.h>   //为了使用EXIT_SUCCESS
#define HZ	100

void cpuio_bound(int last, int cpu_time, int io_time);
int main(){
   
    pid_t childPid; 
    int t=5;
    int i = 0;
    int numDead = 0;
    for(i=0
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值